3am is when the world is most interesting.
Random header image... Refresh for more!

Amazon EC2 Pricing Analysis

This is part 1 of a 4 part series on EC2.

Part 1 – EC2 Background

What is EC2?

EC2, or ‘Elastic Compute Cloud’ is a primary component of AWS (‘Amazon Web Services’).  EC2 is Amazon’s market offering for cloud computing.  EC2 allows individuals and organizations the ability to run a full instance of their favorite version of Linux or Windows on Amazon’s gear – the same gear, ostensibly, that runs Amazon.com itself.  Users are given the opportunity to host their systems, applications, and files in Amazon’s data centers, on Amazon’s bandwidth and Internet connectivity, and run everything on Amazon’s server hardware (including redundant storage, power, etc.).

What is an AMI?

EC2 is primarily competing with the colocation and shared hosting providers.  Users that pick EC2 typically do so because of the previously mentioned platform benefits, as well as it’s extreme flexibility in deployment capabilities.  Unlike traditional colocation or shared hosting, where putting 30 new servers into production is an arduous, expensive task – possibly involving paying remote help for racking, configuring all the gear, burning in all of the equipment, etc., EC2 uses an entirely virtual setup.  An AMI can spawn many instances.Bringing up 300 new servers (called ‘instances’) is no more difficult or time consuming than deploying 1.  This is accomplished by way of what Amazon calls an AMI, or ‘Amazon Machine Image’.  AMIs are basically special instances of disk images that are copied and booted on demand by the EC2 system.  If you are familiar with VMWare, it is much like the VMDK files used – except it is cloned and booted, rather than run directly (this is what gives you the flexibility to stand up multiple instances all in one go).

Who uses EC2?

What companies and individuals would use EC2?  A number of high profile websites, including the New York Times, Reddit.com, and SmugMug utilize EC2 for a variety of reasons.  Some companies chose to use EC2 for expanding their data-crunching needs (the New York Times does this), while others host their entire site on it (Reddit.com does this).  Another significant user of AWS are individual developers or small teams – the overhead and initial cost to get a server up and running, while retaining full control of it, are extremely minimal – a few hours of work to prep an AMI (or, no time at all to use an AMI from the AMI library!), and a cost of pennies an hour in most cases.

EC2 Limitations

EC2 is not without it’s limitations however – operating system choice is limited, as are some network services (such as email – EC2 is on many RBLs, unfortunately).  Despite being on Amazon’s highly redundant cloud, there are still outages (including some fairly long ones) – nobody is perfect.

To work around such limitations, and to leverage an extended amount of reliability and Amazon engineering there are 2 major concepts that must be understood – regions and availability zones.

Regions

Regions are basically exactly what they sound like –  a specific geographic region used by Amazon to host EC2.  Amazon currently offers EC2 hosting in 4 regions around the world – Northern Virginia, Northern California, Northern Ireland, and Asia Pacific (Singapore).EC2 is available in 4 regions world wide

Availability Zones

Within these regions, there are different availability zones.  Availability zones allow users to run instances in the same region, but on physically diverse infrastructure – separate diesel generators, power racks, disk storage, etc.  This allows for users to work around potential outages and problems, by leveraging Amazon’s large scale data center engineering, and provides another big benefit over colocation or shared hosting (how easy is it to guarantee 2 of your servers with one provider are on different generators?).

AWS API

Amazon allows you to fully utilize all of this flexibility and capability via their AWS API.  This is a SOAP based web service that provides all management functionality – everything from starting new instances to changing security keys.  The use of the API allows many otherwise time consuming and arduous system administration tasks to be completely automated.

Part 2 will continue on with an overview of the EC2 pricing model – what a specific server instance will cost you is not quite as straight forward as it could be.

0 comments

There are no comments yet...

Kick things off by filling out the form below.

Leave a Comment