Skip to content

Amazon EC2

What Are The Costs of Cloud Computing?

Last week, I began discussing how to get started with Amazon’s Elastic Cloud Computing (EC2) service. I covered the differences between virtual hosting and cloud computing, particularly when it comes to scalability of services. What I didn’t cover is the more basic question of how much cloud computing services such as EC2 and Microsoft Azure cost in comparison to traditional hosting accounts. The problem is, unless you run some serious numbers, it’s often hard to tell exactly how much these services will cost.

Understanding Cloud Computing Costs

The benefit of cloud computing compared to virtual hosting is that it can scale almost instantaneously. The downside is that, much like old-school Internet access, everything is metered. Take a glance at the pricing charts for Amazon.com’s EC2, or for Azure. Each service breaks its pricing down into several categories, using language that can confuse even a hard-core techie. Here’s how EC2 breaks divides its pricing:

Instances. This is what you pay for running a virtual server, such as a standard Linux, SuSE Enterprise, or Windows Server. EC2 charges for every instance-hour (i.e., every hour your server is running), with different per-hour pricing based on two factors. You get charged for the “size” of your instance, which determines the amount of memory and processor time given to your virtual instance. The smallest instance size is the micro server provided with a free account. Amazon provides large and extra-large instances that, on the high end, provide up to 68GB of memory and the execution power of 8 virtual processor cores.

EC2 charges you more for “spot” instances that execute on-demand in response to increased server load, and less for “reserved” instances in which you pay ahead for a year or three year’s worth of service.

Storage. The amount of data you store is tied to the size of your instance. Any storage above your instance size will be charged by the gigabyte.

Data Transfer. On top of paying for instance-hours, you pay for every gigabyte of data transferred in and out of your virtual server instance. This only applies to data transferred out through public IPs or “Elastic IPs” (additional IP addresses attached to your instance).

Database Access. Amazon’s SimpleDB data storage service provides a semi-relational database system. EC2 charges for this service – both for the CPU time taken by your database requests, and for the storage space they occupy.

Extras. EC2 offers a bevy of other services that will set additional per-hour meters in motion, such as Elastic Load Balancing. Also, if you request another IP address (an “Elastic IP”) and fail to attach it to an instance, Amazon will charge you for the privilege of keeping that IP out of the available IPV4 address pool.

The Pitfalls of Amazon’s “Free” EC2 Service

Translation: cloud computing isn’t cheap. This is true no matter which provider you choose. Blogger Rob Burke estimated that hosting a simple service on Windows Azure will run you a minimum of $70/mo. – a good $60 more expensive than a rock-bottom virtual hosting account.

What about Amazon.com’s “free” EC2 service tier? Under the terms of the Free Tier, Amazon will grant you 750 instance-hours of a “micro Linux server.”  This is for a standard Linux server running with 613B of memory. This means you can run your virtual server for free all month every month, for the next 12 months. You also get 10GB of free storage space, 30GB of free Internet data transfer, and 1GB of Amazon’s SimpleDB service.

That’s a good deal. The problem is, it only lasts for 12 months. Also, in the meantime, Amazon will charge you if you exceed the boundaries of your micro server usage. Back before I understood the terms of the Free Tier fully, I ran a SuSE Enterprise Linux server instance for around 10 days. Imagine my surprise when I ended up with a bill for $8 – nearly as much as I pay for my HostGator account for a month! I didn’t realize that the Free Tier covered only a standard Linux instance, and that an Enterprise Linux instance would cost me extra. Likewise, if I wound up using SimpleDB more than I expected, or used it to store an large amount of data (such as images or documents), my “free” account wouldn’t look quite so free anymore.

Cloud Computing Is The Future (and The Future Can Wait)

I like cloud computing. But the bottom line is that the pricing structures are so byzantine that if you don’t have precise knowledge of your processing, storage, and data transfer needs, you could end up at the end of your first month with a huge bill that you can’t afford. Most free virtual hosts these days offer practically unlimited storage and bandwidth with the most basic accounts. Who wants to hassle with calculating their instance-hours and data storage, when you can pay a virtual host a flat fee and be done with it?

For most developers and small business just starting out, and for medium-sized businesses, virtual hosting will be infinitely cheaper than running in the cloud. Services like EC2 and Azure are important, and it’s important that we as developers understand how to tune our applications to run in these environments. But until your Web-based application is serving enough daily users that it threatens to bring your hosting provider to its knees, you can afford to wait. The cloud will be there when you’re ready for it.

Be Sociable, Share!
    The following two tabs change content below.

    Add Your Comment (Get a Gravatar)