March 31, 2010
Cost Analysis of an Amazon EC2 Deployment
Endevver has been advising clients for years on hosting Movable Type. Recently however, we have been increasingly recommending clients move their infrastructure to services like Amazon, not because we place some value upon "The Cloud"1 but because Amazon's service offerings have evolved to the point where it is one of the most advanced self-service hosting offering around. With turn key services for reliable storage, load balancing, database instances, backups, not to mention computing, it really is a one-stop-shop.
On a recent project we wanted to help our client understand how much a move to Amazon might cost so that they could compare it to their current hosting provider. So we approached our good friend and partner Tim Appnel, the guy behind The Appnel Group, an expert and specialist in Amazon Web Services as well as having a long history as a premiere Movable Type consulting shop, to help us with some simple cost analysis. Together we architected a rather impressive footprint that has been proven to scale for the largest of organizations. The configuration involves the following resources:
- 2 Load Balancers
- 2 Large Server Instances
- 2 Small Server Instances
- 1 Database Instance
- 2 Elastic Block Storage Volumes
Using the following configuration:
The config is simple:
- We have two front end web servers for redundancy to serve static content and process comments, with a load balancer in front of them.
- We have two back end publishing servers to serve as the workhorses of the installation. They handle the job queue and 80% of publishing.
- Then we use rsync to publish to static files out to the front end web servers2.
- Finally we have a shared and dedicated database instance that all the servers talk to.
I have seen installations like this power the largest Movable Type installs I have ever been privvy to, some having over 1000 blogs.
So how much would something like this cost? The largest variable for computing cost is bandwidth. This particular client has significant bandwidth requirements: 5TB in and 5TB out. It is unlikely most people will have needs such as this, so in almost all circumstances this configuration will cost less for you.
Let's break it down:
2 small, 2 large full-time servers instances
2 volumes, 100GB, 15 IOPS, 8 Snapshots
2 volumes, 10GB, 1 IOPS, 8 Snapshots
|EBS I/O Requests
32 IOPS (2 x 15IOPS + 2 x 1IOPS)
8 snapshots, 100GB volume
8 snapshots, 10GB volume
4 Elastic IPs (No charge if attached.), 4 Remaps
2 Elastic Load Balancers
2 large full-time server instances
100GB per server
259 million total requests
Free to 100% of provisioned storage
1 year term on 4 listed instances
5.6TB in, 5.1TB out, 200GB regional
|Data Processed by Elastic LBs - 5.5TB||$44.00|
1GB in, 10GB out, 1.3TB regional
Amazon EC2 and their many other Web services can be a very logical and cost effective solution for many people. However, Amazon does not really offer any technical support services to speak of. If you don't have technical staff you can call upon, or a trusted service provider like Endevver (wink wink nudge nudge), then going with a support-oriented hosting provider like Media Temple (one of our favorites) might be best.
If you need help computing your personal costs, or would like to talk to us about moving your services to Amazon, we would be happy to chat with you.
1 Like Matt Mullenweg we believe the term "Cloud Computing" is best described as "marketing speak." In fact, from our perspective, any server that you use that you have never seen or touched firsthand is "in the cloud."
2 For this particular client, our final recommendation was to use NFS to connect the front and back ends, but the report above does not reflect the added cost of this configuration.