With a large number of initiatives around cloud computing, I was interested in determining if the current cost of moving something like a lab environment into an outsourced environment would be cost effective. Now, I realize that current ‘cloud’ offerings are really geared to dealing with temporary spikes in compute load rather than moving an entire infrastructure out of a corporate data center, however, mirroring a lab environment is perhaps a plausible use of the cloud.
This demonstration was simply to determine the monthly cost of hosting a lab environment in Amazon’s EC2 and then comparing it to the fully loaded cost of having a lab environment in house.
The service that I ran the experiment on was
Amazon’s EC2 and their storage service (S3) for persistent data management. EC2 allows you to provision various types of x86 servers of differing compute capabilities and you are billed by instance hour of time. There is no restriction on how compute intensive your instance is. Their cost matrix for Linux instances and S3 storage can be viewed
here and the Windows pricing is
here. The Windows pricing also includes options for SQL Server (and authentication services).
The experiments I ran were for five systems of various configurations running our application (
up.time). This included Linux running MySQL, Linux running Oracle, Windows running SQL Server and other combinations. The databases were stored on Amazon’s EBS (
Elastic Block Store) storage for persistence reasons. The applications were run for two weeks under simulated load for monitoring 1,000 systems to get an idea of network and storage bandwidth.
After two weeks, the compute costs, I/O costs, and persistent storage costs were tallied and then scaled to mirror the monthly cost of a sample lab environment.
Amazon EC2 Costs for 300 lab instances. There are 744 hours in a typical month (24*31).
| Instance Type |
Num |
Cost/Instance Hour |
Compute Cost/Month |
| Windows |
100 |
$0.125 |
$9,300 |
| Windows + SQL Server |
50 |
$1.100 |
$40,920 |
| Linux |
150 |
$0.100 |
$11,160 |
| Windows (SQL/xlarge) |
2 |
$2.400 |
$3,571.20 |
|
|
Total Cost Per Month |
$64,951.20 |
| Storage |
|
|
Storage Cost/Month |
| 5.6T (usable) |
|
$0.10 Gb/month |
$573.44 |
| I/O |
30B |
$0.10 per 1MM I/Os |
$300.00 |
| Network |
|
|
Network Cost/Month |
| I/O |
20 Gb |
$0.10 Gb/month |
$2.00 |
|
|
Total EC2 Cost/Month |
$64,826.64 |
|
|
Total EC2 Cost/Year |
$789,919.68 |
Now, if I calculate actual lab costs that mirror this environment here’s what we get (I’ve deliberately excluded our non-x86 platforms such as POWER and SPARC). I’ve included the retail costs for Microsoft SQL Server and Oracle even though as an ISV we wouldn’t nearly pay as much. The EC2 cost for Windows systems is considerably higher than Linux, and this is because of the software licensing costs blended into the instance hour calculation.
In the cases of leasing hardware, the number is more or less a constant cost as new gear is purchased and older gear is bought out. For software costs, they’ve been amortized over three years.
| Gear |
Number |
|
Cost Per Month |
| Dell 1950 |
28 |
|
|
| Dell 2950 |
2 |
|
|
| HP DL585 |
2 |
|
|
| 10TB iSCSI |
1 |
|
$10,000 |
| Dell/HP/Equallogic Support |
|
|
$300 |
| HVAC/Power |
|
|
$1,000 |
| Floor Space |
500 sq/ft |
$24 sq/ft/year |
$1,000 |
| VMware ESX |
9 |
|
$1,250 |
| Annual Support (VMware) |
|
|
$1,250 |
| Internet |
|
|
$1,200 |
| Network Infrastructure |
|
|
$556 |
|
|
Total Infrastructure Cost/Month |
$16,556 |
| Software Cost |
|
|
|
| SQL Server 2008 |
|
|
$2,083 |
| Oracle 10g/11g |
|
|
$2,083 |
|
|
Labour Cost/Month |
$4,166 |
|
|
Total In-House Cost/Month |
$24,888.89 |
|
|
Total In-House Annual Cost |
$298,666.67 |
I’m torn about including labour, as instance management overhead is the same in both scenarios, however, the actual network and compute infrastructure when in-house, does require some amount of headcount. In this case, I’ve added 0.5 of a resource (fully loaded cost).
So, the difference between an EC2 lab environment and an in-house environment is ($789,919.68 – $298,666.67) = $491,253.01. This is quite a substantial difference for an always-on environment.
I am curious as to how many enterprises have truly dynamic workloads that could take advantage of a cloud (either internal or external) to truly derive the cost benefits of cloud computing.
Certainly, at first blush, a straight migration of servers is a costly proposition.
Alex
Tags: cloud, cloud computing, cloud cost monitoring, Cloud Monitoring, cost of cloud, Public Cloud
This entry was posted
on Wednesday, January 28th, 2009 at 1:54 pm and is filed under cloud, cloud cost, cloud monitoring, Cloud Virtualization.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.
You should look @ GoGrid — We can save you a lot of cash over AWS. See http://www.gogrid.com or email me plancaster [at] gogrid [dot] com.
Hello,
Great work in this post. This is certainly one of the more detailed cost comparison outlines I have seen. I would like to use some of your data, with proper credits, and link-back provided, in a post I am working on.
Thanks
Marc
Marc,
No problem, let me know when you get it updated.
Thanks.
Alex
I guess I don’t know why you have 32 physical machines under your in-house tally and 302 instances under AWS. Can you really accomplish as much with 30 Dell boxes (28 of which are 1950s) as you can with 300 AWS instances?
I suppose if you are already highly virtualized in-house and you run a lot of VM’s that aren’t all that busy that your costs wouldn’t translate to AWS instances which are built to be full power machines. Or did you find that the AMIs were not able to do the same workload as your in-house machines?
Peter
Your analysis is very incomplete. Yes, the hardware will cost more, as you are essentially buying from a reseller instead of direct. You have omitted several overhead costs that will almost always cost more in-house than in a data center. Some obvious ones are things like shared utilites, security (physical as well as IT), emergency backup power etc. etc. How about a redundant internet connection? Do you want to pay for two yourself, or share that expense with others? Do you want your own diesel generator or pay a small part of that cost? For that matter do you want to maintain and test that generator, including replacing the tank of fuel every year so it says fresh?
When you compare sharing those costs with other data center customers verus building it just for your situation, the savings can be greater than the hardware costs. And typically you benefit by more frequent upgrades to datacenter infrastructure, as teh data center owner has to stay more current than an in house facility. The reason being he has to stay competitive in the market to keep and attract customers.
You are correct in pointing out a major savings comes from dealing with cyclical spikes in load. Even if it costs more when you use the increased resources, it is more than made up by not paying for the resources to sit idle in your facility.
As long as you demand the same level of reliability and robustness, I would argue that the starting assumption is, renting space and resources is more economical than doing it inhouse. This not always true, but it is true much more often than CIO/CTOs want to admit. If you are willing to compromise on reliability, in house can always be cheaper.
Love the posting. There is definitely a “Microsoft Tax” at work when you us SQL Server. Paying over $300,000/year for a database server is just crazy! I think the best approach is for all designs/deployments of systems should look at a cost analysis like this to see if the design makes sense. Obviously the choice of SQL Server comes with some heavy costs!
Apples and Oranges, IMHO.
The proper comparison would be Amazon Reserved Instances vs. purchased hardware. Reserved Instances for the type of machine you assumed go for $500/yr plus 3c/hr, as opposed to the 12.5c/hr you assumed.
There is the question of capital expenses vs. operating expenses, which could make the difference between being able to fund a program or not.
There is the factor Ron mentions above: that data centers just suck money with backup generators and cooling, physical security, internet security, etc.
Sorry, that is $500/(3 yrs).
Thank you for publishing your analysis. I’ve posted a response at my blog http://cloudsavvy.blogspot.com/
Regards,
Mark
Thanks for the useful and informative post. I really like the way of your presentation.
Can someone explain to me something that seems obvious? Why would anyone pay such a high price for Amazon’s SQL instance instead of taking a regular Windows instance and installing your own licensed version of SQL on it?
Hi Alex,
Thanks for this wonderful posting. I was seraching for this kind of posting for quite long but couln’t find one.I am creating an excel sheet based on artifacts discussed in your posting.Need two clarifications about your posting:-
1. You have taken 300 virtual instances on cloud whikle taken only 30 server on-premises. Is that because, you are virtualising 1 on-premises server to 10 virtula servers.
2.You have mentioned labour cost/month in on-premises as $4166. How much people are you asssuming and what is there average salary.If i assume 10 people with 50% utilisation and average salary of $4000, the cost goes too high compared to what you have mentioned. Can you please clarify on this as how you have calculated
Thanks again
regards
Rajiv
This was a poor comparison. Everything on the cloud side was maximized while everything on the inhouse side was minimized or omitted. Do you really need all 304 instances running at 3 AM? Doubtful. Cloud computing allows you to scale your needs on-demand. So during periods of peak-demand you fire up more instances and during periods of low-demand you power down those instances.
The key obstacle in assessing the cost of a cloud offer remains the lack of an industry wide measure of cloud processing capacity. We have GB for memory, TB for storage, and GB for bandwidth.
The Cloud Price Calculator (http://cloudpricecalculator.com) addresses this by adopting Amazon’s ECU as the compute metric at 1ECU = a 400 Passmark score.
Combining all the resources and dividing by price yields the Cloud Price Normalization index and a ranking of cloud offers. Interestingly, the ranking shows Amazon’s newer instances provide more value than the older ones as Amazon has rarely reduced prices after introducing an instance.
Great article. Waiting for more.
I am extremely impressed along with your writing talents and also with the layout in your weblog. Is that this a paid subject or did you customize it yourself? Anyway keep up the nice quality writing, it is rare to peer a nice blog like this one today..