« Akriti (and friends) in Millikin Talent Show | Main | Experimenting with Powerline Networking »

Google Approach to TCO (Total Cost of Ownership)

Most TCO studies are funded by vendors to buttress their product or service claims and focus on comparing ownership cost attributable to a particular piece of hardware, software, people or process. The conclusions reached by these studies are inherently flawed due to two obvious but inherent limitations:


  1. the sponsoring party would not want to see its own product or service in a bad light; and more importantly

  2. the TCO is a function of everything, including hardware, software, people and processes, employed to create a specific solution or service and hence, it does not make sense to talk about TCO with respect to a specific piece.

Take the case of Google: this article by Luiz André Barroso of Google talks about main contributors of TCO for any IT system: price of the hardware, power (recurring and initial data-center investment), recurring data-center operations costs, and cost of the software infrastructure and analyses these for Google's main search system. The analysis is really interesting (and revealing of its competitive stratgey):


  • For most companies the major component of TCO for large IT systems can be attributed to software acquisiton and support costs due to per CPU or Server licensing, but is not so for Google as it either develops its software inhouse or uses opensource. As a result, its marginal software cost, ie; the increase in cost for each additional CPU or Server, is fairly low. This is important as Google's systems are huge and include a lot of CPUs.
  • Google uses low end servers made of commodity parts used in inexpensive desktops. Loss in realiability of such systems is more than compensated by replication and failover built-in into Google's software. Note that the choice of using this kind of hardware is intricately linked to the fact that they use their own software which has been written to run on clusters of such servers.
  • Google minimizes data center operations costs by using homogenous hardware and specialized monitoring software. A somewhat older article on Google cluster architecture talks how this approach keeps marginal operating cost on adding new Servers fairly low.
  • Beacuse of the low marginal cost of software acquisition and use of commodity hardware, the share of power cost is pretty signficant and has been rising as a percentage of total cost. One of the previously mentioned articles argues that chips with multiple but slower/simpler CPUs are more power efficient and better suited for load patterns typical of Google's applications. Fortunately for Google, other industry factors such as laptop battery life, exceessive heat generation by faster/complex CPU and growing popularity of compute-intesive but highly parallelizable applications like computer telephony, video and myriad concurrent book-keeping processes (anti-virus, indexing, backup, ...) on desktops, are driving chip manufaturers Intel and AMD towards multi-core chips.

The aspect that struck me most about Google's approach to TCO is their wholistic approach and inter-linkages among various parts. Going for clusters made of commodity hardware wouldn't make sense without specialized application and monitoring software that can withstand component failures as a matter of routine. This is the reason why other IT organizations or Internet service companies cannot just copy Google's way of creating cheap data centers.

Of course, every enterprise is different and the factors and trade-offs determining operational cost would be different. But do they all do similar analysis and take appropriate actions to minimize their operational cost? I am sure, the best in class do.

About

This page contains a single entry from the blog posted on February 24, 2006 7:43 PM.

The previous post in this blog was Akriti (and friends) in Millikin Talent Show.

The next post in this blog is Experimenting with Powerline Networking.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.33