June 4, 2014

Cost of Computing, Large Energy Consumption, Massive Cost of Running Data Center... AND How Couchbase can Help You Lower All


I spent the last few years at a number of companies with large computational needs. Both at Microsoft’s Azure and Twitter, cost of computation (a.k.a the $s it takes to run your systems) was a key metric of success. It is no surprise with the emergence of Big Data, you simply need more computational capacity: more servers, more storage, more cores and so on… The impact of big data isn’t contained within the realm of just large enterprises like Microsoft or Twitter either. This is a concerns for companies of all sizes. The emerging startups, even some classic small and medium businesses are starting to look at cost of computation across their deployments in their cloud deployments or their own data centers.

In this post, I wanted to take a look at the cost of computing and how Couchbase can help lower your data center cost, improve your energy efficiency and reduce your cost of computation.

What is the cost of computing?

There are a number of studies you can look at but the most simplified summary come from James Hamilton. I met James at Microsoft at SQL Server and over the last years he has written a great deal at Amazon AWS on data center efficiencies. Always a great read! He talked about AWS numbers on a post here. These numbers are similar to the more recent numbers I looked at as well...

You are welcome to read the post, but here is what it all boils down to:

  • Typical large modern DC has 30-60k nodes.

  • Takes ~$3M/month to run a DC.(over a 3 year amortization and not including building costs)

  • Cost of a single node: ~1K / year or ~$80 / month. Breaking the $80 down you end up with:

    • ~$30-35/month for cost of HW

    • ~$25-35/month for power per node

    • ~$10/month for other expenses

If you have not looked at cost of computing before, the surprising fact here is that both the cost of the server and cost of power dominate the cost calculation. Lets take a deeper look at those and how Couchbase Server helps here;

Cost of nodes (servers): Many use white boxes for reducing cost as named brands may cost more. The obvious way to optimize this line item of the cost is to utilize existing nodes to their capacity and minimize the count of nodes. Consolidating layers of your application to be able to run the same workload on fewer nodes is an important part of the optimization here. Couchbase does great here because of its heritage with a great caching technology: memcached. While many NoSQL platforms still require a caching tier, Couchbase combines caching with database processing into a single layer.

The cost of components of computation is also ever changing. The cost of GB memory vs SSD storage vs cores combined with their energy usage can be a complicated calculation so having platforms that can support flexible HW options is key. Couchbase Server gives you the freedom to both scale-out and scale-up at the same time. With Couchbase Server, you can scale out and say deploy 10s of nodes of SKU A… But if you have a SKU B that is a scaled-up with more memory and/or cores and/or IO-bandwidth, you can deploy proportionally fewer nodes!

It is also worth mentioning here that Couchbase easly expand and shrink its cluster online, without downtime, to enable you to utilize your computational capacity better.

Cost of power: Power distribution and backup generators can bump up the cost but the majority of cost of energy is powering and cooling. kW/hr costs vary based on how much power you purchase in bulk and which geography you are in. You don’t have a great deal of independence on cost of power but you can optimize how you use it! AND same optimizations we talked about above, apply here to reducing power consumption as well:

  • consolidating layers of application - eliminate caching tier and merge into the database tier

  • better utilizing each nodes computational resources - expand and shrink under varying workload with online elasticity

  • having the ability to choose from variety of machine types/SKUs - ability to scale-up and/or scale-out

The 3 bullets above can lower the combined energy consumption per operation. Couchbase Server provides the best flexibility in all 3 areas.

There are a number of customers who have been able to reduce their computation cost by simply switching from other relational or NoSQL solutions to Couchbase Server. And it is the simple combinations of 3 key ingredients above that is saving them large $s. Viber is an example that you can look at: They have replaced Redis and MongoDB with Couchbase Server and reduced their server count from 250 to 120 - better than half! In other instances, Couchbase Server has shown 4x better price/performance compared to relational engines like MySQL. That translates into %75 reduction in number of nodes to run the same workload. In a farm of 1K machines, that simply means you can turn-off 750 nodes and still run the same workload. $60K savings a month, or $720K savings a year. (or maybe more if you are not as efficient as Amazon AWS or Microsoft Azure!)

I'd like to leave you with one note: if you are considering replatforming, take a look at not only performance and scale with Couchbase Server vs other products but also take a look at price/performance. Investigate $s per operation in your system. I think you will be impressed with what you see.

Cihan Biyikoglu - Couchbase Product Management - We are hiring!