Cloud computing is the second buzz-word after social network these days. It’s all about storing or running your stuff “in the cloud”, remotely. If we all really used the cloud, a lot of storage and a lot of CPU power would be needed. Google has certainly created it’s own elastic cloud of computers and search and e-mail and other services proved how fast and reliable it is. But what about “the rest of us”? Amazon has been running storage (S3) and CPU (EC2) in the cloud for a long time now and even it is not known to the masses they are in fact providing the horse power to many start-ups. In their own words, “After two years in beta, Amazon EC2 has entered General Availability (GA)”.
I’ve had a chance to use S3 quite a bit and also EC2, a little bit. Both services are mostly for programmers, they are not really for the masses, but the solidity and the wide range of options is incredible. It was a surprise to see how well it works and how many things you can do very easily. Amazon provides a number of tools and the the community has also done its part and in fact there are some very interesting tools such as the Firefox plug-in elasticfox that make it super-easy to manage your servers.
From the beginning Amazon has been running Linux servers providing images that you could start with a click. Earlier this year they announced an agreement with Redhat that lets developers run Enterprise versions of Redhat linux.
A few days ago I was listening to the great podcast by the Guardian, Tech Weekly, it was the recording of Oct 28th. They spoke about the recently announced Microsoft Windows Azure and how this is a reply to Google’s and Amazon’s cloud computing solutions. Last week Amazon officially announced not only of being out of beta, but that Windows servers will now be available. It costs a slight bit more than running Linux, but of course you get the full Windows environment, including C# and you even have an option for Authentication services and SQL Server. This is AMAZING, you can get a Windows server up and running in seconds, do your development or tests and shut it down (very good if you need to test a specific version of Windows or combination of OS, Service Packs, etc). All this will cost less than a dollar.
Amazon EC2 is great both if you need to test something temporarily (start a server, test, shutdown) or if you want to run a service full time, in fact, EC2 you might easily run a limited number of servers normally, but when you have a peak start as many extra servers as you need.
Google has App Engine and while it is another approach to elastic computing it is quite different. Yes, it has some advantages such as that you just upload your code and it runs, but of course it does not give you the power and flexibility or a complete server at your fingertip.
I think it will be very hard for the other players to catch up and surely it will not be enough to throw in some money because Amazon already has a very good and most likely profitable business in place and they are not lacking the money themselves. It will be very interesting to see how this evolves and it will certainly be a a great opportunity to save on costs for small companies and start-ups.
EDIT: Did I mention that Amazon now guarantees 99.95% uptime? Can you think of any small to medium company that can seriously commit to such uptime?