As part of my job I was asked to take a look at Cloud Computing.
There were several obvious options – Amazon Web Services, Google App Engine and Windows Azure. Google App Engine was out of the running because it would require our app to be rewritten in Python. Windows Azure was out of the running because it would require our app to be rewritten in a .NET language. This left Amazon AWS.
The main part of AWS that we’re using is EC2 (Elastic Compute Cloud) which provides virtual servers. Fortunately Amazon recently added Windows support to EC2 – before it was Linux-only. Although our platform (Jade) can run on Linux, we don’t have a lot of in-house Linux experience.
You start with a machine image that just has Windows 2003 server installed (they take care of licensing), install your software and save that as a new image. You can then start multiple instances of this to provide your services. You can start different kinds of instances that have differing numbers of cores and amounts of memory. Amazon EBS (Elastic Block Storage) provides storage as a mounted drive for your application data (in our case a Jade database). Amazon S3 (Simple Storage Service) is used for cheaper, larger storage, for example backups. They have nice support for static IP’s and DNS so that you can add/remove/swap instances behind the scenes without negatively affecting your customers.
You pay a certain amount per hour for each instance, depending on what kind of instance it is (the cheapest is around $0.10 per hour), then you pay a few cents per Gb of storage and cents per Gb for network traffic.
All of the management of instances etc. is done using an API, so you can write management apps to monitor your instances and start new ones when need arises or if one crashes. One wierd thing about this is that applications need to be written to use the API’s to do all of the management stuff, so it relies a bit on the community to build what you need. Oddly, the best software I found to manage EC2 with is a Firefox extension called Elasticfox.
So far my experience with Amazon EC2 has been fantastic. We haven’t started using it in a live environment yet, but everything I’ve seen has sold me on it. Basically you have access to an enormous resource of processing, storage and bandwidth so you can start your business off small and cheap and grow it without messing with hosting companies and hardware.
I wondered about moving my website onto EC2, but while the pricing of the service makes sense versus buying a server and paying to have it in a co-lo somewhere, $876 a year ($0.10 x 24 x 365) is a lot more than I’m currently paying.
Related articles by Zemanta
- Amazon Web Services: Bigger Than Amazon
- Amazon Web Services adds ‘resiliency’ to EC2 compute service
- Amazon Web Services Make Earnings News
- Amazon Takes on Oracle and IBM With SimpleDB
- Amazon Earnings Call Details: Web Services Use Up More Bandwidth Than Amazon.com; The Kindle is a Hit
- Amazon Web Services Gets New Site
- Cloud Standardization: Unified Cloud Interface (UCI)
- Amazon Announces Windows Server & SQLServer EC2 Services
- Amazon thinks Cloud will conquer Man by 2010
- Amazon EC2 Now Running Windows
- Microsoft embraces the cloud with Amazon’s help
- Google App Engine Preview Release
- Google offers to host services for free on App Engine
- Google App Engine suffers outages
- Google Offers to Host Services on App Engine