Professional Freelance Web Developer
CodeIgniter Activist, Caffeine Junkie

Elliot Haughin

A Quick Overview of Amazon EC2

12th February 2009

Following my last post, saying that I’d moved my sites to EC2, I had some feedback on twitter asking me where people can find out a little more about the service. So, I thought I’d tell you all about it here.

AWS - 'We Rock!'

Amazon’s EC2 Service is part of a wider collection of products called ‘Amazon Web Services‘. They rock (Note image above).

Essentially, they are a collection of API’s that allow developers to do ‘stuff’. Yes, stuff. Because AWS has such a wide range of ‘stuff’ it can do, I’m not going to bother listing them all. But there’s plenty.

One of the most interesting services I came across was EC2. This service allows developers to create ‘instances’ of ‘machine images’. Sounds pretty complex, but it’s really not.

EC2 is basically a huge virtual computing platform. And, it lets you start up a virtual server, or 3, or 10, or 200,000 virtual servers to do any sort of computing you want.
These instances are connected to the web via nice high-speed links, so naturally, web developers decided to start getting their hands dirty by setting up web servers on this platform.

Part of EC2′s beauty is its ‘on-demand’ nature and very nice pricing model. Traditional hosts charge for servers by calendar month, or by year. This is a pretty big commitment, so you need to make sure you get your specification and terms perfect before jumping in.
Then, when you agree terms with your provider, they set up your server and it’s usually online within a few days. Sounds perfectly reasonable to me… right?

Wrong. Amazon cut straight to the good stuff and give you, the developer, API calls to instantly start up instances. And, you get charged per hour. Which means you can start or stop instances at any time depending on your real-time current requirements.

This helps you for a few reasons. Firstly, if you’re a developer wanting to play around with a new flavour of linux. You can start an instance, use it for 6 hours, and pay a marvellous $0.60 for the time you used.
Secondly, when your applications start to scale, you have a very very flexible platform at your disposal, and Amazon’s pricing model helps you to benefit from economies of scale.

The Price

Standard Instances

Instance Price (hour) Compute Units Memory Storage Arch
Small (Default) $0.10 1 1.7GB 160GB 32bit
Large $0.40 4 7.5GB 850GB 64bit
Extra Large $0.80 8 15GB 1,690GB 64bit

High CPU Instances

Instance Price (hour) Compute Units Memory Storage Arch
Medium $0.20 5 1.7GB 350GB 32bit
Extra Large $0.80 20 7GB 1,690GB 64bit

EC2 Compute Unit (ECU) – One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.

So, there’s an extremely flexible service, with a wide range of power options, and on-demand based provisioning. It sounds like a perfect service… but there are a few drawbacks.

The Downsides

Because EC2 is such an abstract virtual environment, instances are never classed as ‘permanent’. This means there is the possibility for instances to go down, with data lost.

This forces us to make sure our instances are appropriately backed-up so that we could lose an instance at any point and not really mind. Whilst this might seem annoying, I actually think it’s a good thing. After-all, we should be backing everything up anyway!

Luckily Amazon have a few other services that can hold our backups on a more long-term basis. These include Simple Storage Service, and Elastic Block Storage.

That stupid final summary

Want to use Ubuntu? Fedora? RHEL? CentOS? — No problem… EC2 can… and all for the same price.
EC2 is a fantastic service. It’s really creating a new path for cloud based hosting.

I’m glad I’ve moved into the cloud, it’s nice here. We have a Starbucks. And, I’ve now got the fast scalability to build web applications with an infinitely scalable platform.

  • great overview elliot. would be really cool if you could do another with more detail about actually using the service, too.
  • Nice summary! Would like to pick your brain one of these afternoons as I have a project I am working on that would fit EC2 nicely.
  • BrandonEdward
    Thanks for the info cleared a bunch up for me, good job.
blog comments powered by Disqus

Boring Stuff

Design © copyright Elliot Haughin 2009

Content published here are copyright their respective owners.

You cannot copy content from this site, either in English or translated to another language.

Keep Subscribed

Theres lots of ways for you to keep up with me on the web.

Please Note

Information given out on this blog should only be used as a guideline. I hold no liability for any code I write.

Always consult a professional before acting on this guidance.