In the beginning there was the cloud. And it was good. But over time it can also be surprisingly expensive. If you’ve ever said “Oh my god,” at the end of your billing cycle, you’re may be starting to think about putting boundaries on this virtual Eden. Yet you’ll quickly find that public cloud vice is hard to stamp out. It’s ingrained into human nature and finds its expression through self-service IaaS delivery and opaque billing processes. Here are some of the sins we’ve seen:
Instance Gluttony: Why get a quarter-pounder when you can get a double quarter-pounder and a Big Gulp soda? IT admins are people too and they fall into this common foible when provisioning cloud servers. A “medium” Linux EC2 instance in Virginia is eight-times more expensive than a micro-instance. Run that instance for an entire year and you’ll see a difference of $1,225 over the cost of the micro-instance.
Add-On Greed: It’s so easy to start racking up costs when you opt to add services on top of your machines. Consider the option to add patch management as it comes offered by a large cloud provider. The managed services package that includes patching costs $100 per month just to start using for a single server. After that, it’s $0.12 per server per hour, which doesn’t sound like a lot until you figure that it works out $87.60 per month and over $1,050 per year. It’s much less expensive to deploy cloud patches yourself.
Cluster Lust: It’s natural to want to instantiate machines. But it’s a desire that just needs to be kept in check. Seeding too many machines, all designed to do the same task, can be wasteful. Soft budget controls can help you know when someone is going overboard and can help you curb those enthusiasms. That’s nice, but hard limits that can prevent the launch of new instances when a user exceeds budget is much more powerful, if you’ve got the technology to do it.
Sins of Silent Omission: Does your team tell you about each machine they spin up? I didn’t think so. It’s easier to beg forgiveness than ask for permission, especially when your credit card is involved. Just seeing what’s running may be a big help when it comes to eliminating these rogue instances. Controlling access and ensuring only approved applications are running are important too when it comes to hunting down unapproved instances that nobody told you about.
Termination Sloth: It’s great to spin up machines, but it’s a sin to be lazy about shutting them down. Some experts estimate that between 15% and 40% of public cloud instances run idle at any point. That adds up. Suppose you spin up 10 large EC2 instances, do the work that needs doing and leave them running until the end of the month. That compute power sits there doing nothing but costs $2,304. Without a single, unified view of your machines, your best bet for finding the slothful is to look for the people who forget to turn out the lights or leave the toilet seat up.
Compute Envy: Thou shalt not covet thy neighbor’s compute cluster. Big companies see their bills rise as one operating group starts to envy the resources another gets and refuse to share. People start standing up instances just to keep up with other developers they know, instead of provisioning based on real need. It sounds silly, but it happens all the time in big corporations.
Cloud Pride: Think you’ve got it right? The chances are that by the time you’ve overcome the other sins of the public cloud and brought your spending under control, it may be time to move back inside the enterprise and launch a private cloud to save costs — just as Zynga did. Architecting for portability can help you make this transition should you need it.
Image credit: Soffront Blog