The purpose of this post is to give you a “high” level overview of Amazon’s EC2 (Elastic Compute Cloud), and how you can benefit from it. Amazon defines the EC2 as
A web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.
From a high level, EC2 is nothing more than a huge server farm. If you are an end user who needs computing resources they can allocate “servers” to you. Only, when you get a “server” allocated to you, it is not a real physical server. It is a virtual server which is part of a huge farm of commodity based machines. The concept is very similar to that of VMWare (or any product that provides virtualization), except they do not use an off the shelf product, they have their own notion of virtualization which relies on their proprietary AMI’s (Amazon Machine Images). The coolest feature is it is quite inexpensive. It costs somewhere around $70 a month to maintain “small” server 24/7 for one month. The actual rate is .10/hr of up time. A “small” server by Amazon’s standards is equivalent to a box equipped with “1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform”.
If your needs require a more powerful box, you can get spring for their most powerful configuration. They refer to it as “Large” box, and it is equivalent to box equipped with “15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform” This will set you back ~$575/month for 24/7 up time. The actual rate of this configuration is $.80/hr.
There is an additional charge that one would need to consider, namely, bandwidth consumed, both uploads and downloads (unless its to or from Amazon’s S3 service, in this case there is no charge). It is based on the amount and the location of each upload or download.
As you can see, Amazon’s EC2 is a very cost effective expandable server infrastructure. The next post will cover the important technical features of EC2 and how you can leverage them on your current project.