Amazon’s Cloud Computing

Cloud computing (which is many things to many different people) has really begun to take shape in 2010. Initially amongst all the hype and misunderstanding the primary selling point of cloud  computing was around providing unlimited computing scale without any capital investment.

I think over the last few months we have seen the selling point become more about providing computing power as a utility with a pay-for-use cost similar to electricity for example. It is a subtle difference but important none the less. You can still have the near unlimited scale but I think cloud computing vendors have begun to realise that the vast majority of potential customers won’t turn into the next Facebook, Twitter or whatever.

Now the focus is about the ability to deploy computing power on a per needs basis, and it is a powerful argument once you start to dig into how it works. Over the last few months I have been playing around with Amazon Web Services (AWS) which is really a phenomenal infrastructure. I initially looked at it about 2 or 3 years ago when it was all driven by tricky command-line tools and it was just a bit more hassle than it was worth unless you were a super computing geek!

With Amazon Web Services you can create a new server instance in under 30 seconds with a starting cost of $0.12 per hour for EU based windows servers (actually hosted in Dublin, Ireland). There are a number of pricing structures available but the main point is with AWS you are given the ability to create your own servers in 4 global datacentres. So if you have a need for it you can deploy a server to run in the East or West coast of the US, Europe (Dublin) or Singapore with more options likely to become available in time.

You can manage all of this yourself via an easy to use web interface. You essentially have your own global datacentres with zero upfront cost. I couldn’t even begin to figure out how much that would cost by paying for physical servers, finding datacentres to host them in or dealing with different vendors in different countries who provide traditional server hosting. It is utility based computing in its purest with all the flexibility it provides.

You may  for example use AWS for hosting a web application on a single server instance. Lets say you now want to do some testing or development on it. Well, all you need to do is launch a new server instance based on a copy of your live instance. That will take about 30 seconds and then you are all set. If you spend 8 hours working on it that will cost you about €1. Terminate that test instance at the end of day and that’s the only cost you will incur.

AWS has many other services beyond just providing server instances that I haven’t even mentioned but I highly recommend you investigate them. Even just recently we have seen some other vendors like Dediserv and Digiweb start to offer their own cloud computing infrastructure. They have a long way to go to catch up with AWS which has at least 5 years of technical growth and competence behind it (November 2005 was the earliest blog post I could find on Amazons AWS official blog).

Cloud computing is still maturing, there is no doubt about that. Interoperability amongst various vendors and legal issues still need to be worked on or at least need to be known. However, there will be a time where we have to make a valid business case for buying a physical on-premise server versus a cloud server. Afterall you would have a hard time today to convince someone to buy a generator rather than plugging into the nearest socket in the wall?

Microsoft SQL Azure evolving nicely

Over the last few weeks I have been testing out Microsoft’s “cloud” based database service called SQL Azure and I have to say it is quite impressive so far.

Although lacking in full MS SQL server features (no reporting services available yet) it has proven to be reliable, fast and a very short learning curve for those already familiar with SQL Server. All good so far then.

There are some immediate blockers you may come across if you are going to build web-based apps and host them in Microsoft’s cloud…

1) You need Windows 7 at least, you cannot build or deploy asp.net apps using XP as it has a reliance on IIS7.

2) You need SQL 2008 R2 Management Studio to connect to your instance of SQL Azure.

As you probably know SQL Azure databases are currently limited to either 1GB or 10GB sizes but this will be increasing to 50GB as Microsoft enhance the Azure platform over the coming months. You can keep an eye on the SQL Azure Team Blog and Twitter pages to keep up with SQL Azure as it evolves….the links are…

1) http://twitter.com/SQLAzure

2) http://blogs.msdn.com/ssds/ 

There are a number of self learning labs and training courses on the SQL Azure Team blog and there is also a free web-based training course run by Microsoft UK starting Monday 10th May (webcasts will be recorded incase you miss the start). Details here … http://geekswithblogs.net/iupdateable/archive/2010/04/20/register-now-for-the-uk-windows-azure-self-paced-interactive-learning.aspx 

Microsoft have certainly got off to a good start with SQL Azure. It is very easy to set up an azure account, create a database, copy over any data to it (you can use BCP, SSIS) and then just connect to the database in the same way you would to your current on-premise SQL Server.

 There are lots of things to consider about using SQL Azure in production as it is not suitable for everyone or every application. But having made it a small jump to get started with SQL Azure it makes it easy for you to figure that out for yourself.

Here is another good blog post from another persons experience of SQL Azure… http://www.keepitsimpleandfast.com/2010/01/my-first-experiences-with-sql-azure-sql.html

SWAS – Software with a service?

Saas Hype

Saas Hype

Saas (Software as a service) is a growing market. Check the wikipedia definition of Saas if you are unsure of what it is.

However, I think it is missing an important aspect that prospective customers will need. And that is a level of service and consultancy that most customers will want but seems lacking with a lot of recent Saas offerings. It is all very well building an online application (a web app), hosting it somewhere on the web and offering the typical 3 tiered pricing of “Free”, “Standard”, “Enterprise” editions of your web app. But what about offering a complete consultancy and expertise with it, after all the web app is just a piece of software!

How about offering an initial consultancy to figure what the customer wants, how best your web app can solve their needs, full training, ongoing customisations and close support. So how long before we see “SWAS” – Software WITH a Service?

I don’t see a future for many of the adhoc Saas apps that don’t have a complete business behind them or don’t at least plan to offer more that just a web app. Saas is currently too much about technology, too much about the perception of making easy money, too much about marketing buzz.

Cloud Computing Sceptic

cloud computing - ?

I just finished reading a new book on Cloud Computing called “Cloud Application Architectures: Building Applications and Infrastructure in the Cloud” by George Reece. If you are looking for a concise overview of cloud computing and the Amazon Cloud Infrastructure (EC2, S3 etc) then it is worth a read. It leans towards the technical side more than just being an executive summary.

I am sceptical about cloud computing becoming as prevalent as the marketing buzz says.

What is the core selling point? The “cloud” can provide massive scalability in terms of computing power. But this is only applicable for those very few companies who need to scale very quickly on an ongoing basis or perhaps just periodically, just like Amazon does.

Amazon has massive traffic coming to their sites and has huge peaks around holiday seasons. They need to be able to scale quickly. They don’t want to invest hugely in IT just so they can accommodate the peak demand. This would leave underutilised computing capacity during the non-peaks. Have they now just come up with a great way of selling their spare capacity and profiting on providing additional capacity beyond that? Remember that Amazon were the leaders in cloud computing before other vendors followed them.

Most companies don’t need this scalability. In fact it would be easier, and cheaper (currently), to use a managed hosted server rather than the cloud options from Amazon.

The “cloud” is also very unreliable. If you set up some virtual servers on Amazons cloud infrastructure you have to plan for these to fail, they absolutely will fail and more often than a physical server in your data centre. Now you have a whole new learning curve.

My list of major concerns for Cloud Computing:

  • More Expensive
  • Less Reliable (this can be mitigated but there is a large learning curve, do you need another layer of complexity in maintaining and developing systems?)
  • Security is a major issue that needs to be planned for
  • Little or no portability between the different cloud vendors (lack of standards)
  • Licencing issues. Not all software vendors have licencing options for scenarios where you are using their software in the cloud (per hour licencing versus per server licencing)

Lets see how cloud computing evolves…

Follow

Get every new post delivered to your Inbox.