Tuesday, April 28, 2009

What we talk about when we talk about cloud computing

Recently, McKinsey & Company published a study on cloud computing as part of a symposium for The Uptime Institute, an organization dedicated to supporting the enterprise data center industry. We share McKinsey's interest in helping the IT industry better understand cloud computing, so we'd like to join the conversation Appirio and others have started about the role of cloud computing for large enterprises.

There's quite a bit of talk these days about corporations building a "private cloud" with concepts like virtualization, and there can be significant benefits to this approach. But those advantages are amplified greatly when customers use applications in the scalable datacenters provided by companies like Google, Amazon, Salesforce.com and soon, Microsoft. In this model, customers can leverage hardware infrastructure, distributed software infrastructure, and applications that are built for the cloud, and let us run it for them. This offers them much lower cost applications, and removes the IT maintenance burden that can cripple many organizations today. It also allows customers to deliver innovation to their end users much more rapidly.

We thought we'd provide some insight into what we mean when we say cloud computing, and how its advantages in cost and innovation continue to attract hundreds of thousands of companies of all sizes -- from 2nd Wind Exercise Equipment to Genentech. We created our cloud by building an optimized system from the ground up: starting with low-cost hardware, adding reliable software infrastructure that scales, offering innovative applications, and working every day to improve the whole system. While the McKinsey study only considered the hardware cost savings of the cloud, there is tremendous customer benefit in all of these areas.

Hardware infrastructure
It starts with components. We serve tens of millions of users, so we've had to build infrastructure that scales and can run extremely efficiently to support that load. Consider three areas of data center design: server design, energy efficiency, and scale of operations.

In the virtualization approach of private data centers, a company takes a server and subdivides it into many servers to increase efficiency. We do the opposite by taking a large set of low cost commodity systems and tying them together into one large supercomputer. We strip down our servers to the bare essentials, so that we're not paying for components that we don't need. For example, we produce servers without video graphics chips that aren't needed in this environment.

Additionally, enterprise hardware components are designed to be very reliable, but they can never be 100% reliable, so enterprises spend a lot of time and money on maintenance. In contrast, we expect the hardware to fail, and design for reliability in the software such that, when the hardware does fail, customers are just shifted to another server. This allows us to further lower the cost of our servers by using commodity parts and on-board storage. We also design the systems for easy repair such that, if a part fails, we can quickly bring the server back into service.

Traditionally, companies have focused on using large, highly reliable hardware to run databases and large backend systems, but there is a significant cost impact to that strategy. For example, a 4 CPU quad-core system with 600 GB of high end SCSI storage and 16GB of memory is 8 times more expensive than a system 1/4 its size with less expensive SATA storage. This is because the price of the components increase exponentially as the hardware gets larger and more reliable. By building the reliability into the software, we're able to use a much lower cost hardware platform but still maintain the same reliability to customers.

Beyond server design, we do everything possible to make our servers and data centers as efficient as possible from an energy and cooling perspective. Consider how we designed our data centers for energy efficiency. Power Usage Effectiveness (PUE) is an industry-standard metric for measuring the efficiency of a data center. We recently shared that the average PUE for our data centers is now better than the state-of-the-art 2011 data center PUE prediction by the EPA. In other words, we beat the EPA's best case estimates three years early, and we achieved this result without the use of exotic infrastructure solutions thought necessary in the EPA report. And we're doing that at every level of the stack: from server utilization to networking.

Finally, we operate at scale, and that drives economies of scale. Just by managing thousands of servers together and making them homogeneous, we're able to cut down on our administrative costs dramatically and pool resources of many types. This benefits end users by enabling us to offer low prices.

But, most importantly for our customers, we manage this entire infrastructure such that they don't have to. According to Gartner, a typical IT department spends 80% of their budget keeping the lights on, and this hampers their ability to drive change and growth in their business. The reality is that most businesses don't gain a competitive advantage from maintaining their own data centers. We take on that burden and make it our core business so that our customers don't have to.

Software Infrastructure
While most discussions of cloud computing and data center design take place at the hardware level, we offer a set of scalable services that customers would otherwise have to maintain themselves in a virtualization model. For example, if a company wanted to implement a typical three tier system in the cloud using virtualization, they would have to build, install, and maintain software to run the database, app server, and web server. This would require them to spend time and money to acquire the licenses, maintain system uptime, and implement patches.

In contrast, with a service like Google App Engine, customers get access to the same scalable application server and database that Google uses for its own applications. This means customers don't have to worry about purchasing, installing, maintaining, and scaling their own databases and app servers. All a customer has to do is deploy code, and we take care of the rest. You only pay for what you need, and, with App Engine's free quota, you often don't pay anything at all.

A great example of software infrastructure that scales is the recent online town hall meeting held by President Obama. The White House was able to instantly scale its database to support more than 100,000 questions and in excess of 3.5 million votes, without worrying about usage spikes that typically would be tough to manage. Because of the cloud, there was no need to provision extra servers to handle the increased demand or forecast demand ahead of time.

Applications

Beyond the underlying hardware and software design, what attracts many customers to the cloud is application outsourcing.

There is limited value to running an Exchange Server in a virtual machine in the cloud.
That server was never designed for the cloud, so you don't get additional scale. You'd also need to continue to maintain and monitor the mail server yourself, so the labor savings are marginal. But with cloud-based applications like Gmail, we take care of all of the hassle for you. We keep the application up and running, and have designed it to scale easily. All of this provides an application that is roughly less than 1/3 the cost of a privately hosted mail system, has 100x the typical storage, and innovates much faster.

Innovation

While the cost advantages of cloud computing can be great, there's another advantage that in many ways is more important: the rapid pace of innovation. IT systems are typically slow to evolve. In the virtualization model, businesses still need to run packaged software and endure the associated burden. They only receive major feature enhancements every 2-3 years, and in the meantime they have to endure the monthly patch cycle and painful system-wide upgrades. In our model, we can deliver innovation quickly without IT admins needing to manage upgrades themselves. For example, with Google Apps, we delivered more than 60 new features over the last year with only optional admin intervention.

The era of delayed gratification is over – the Internet allows innovations to be delivered as a constant flow that incorporates user needs, offers faster cycles for IT, and enables integration with systems that were not previously possible. This makes major upgrades a thing of the past, and gives the customer greater and greater value for their money.

As companies weigh private data centers vs. scalable clouds, they should ask a simple question: can I find the same economics, ease of maintenance, and pace of innovation that is inherent in the cloud?

Posted by Rajen Sheth, Senior Product Manager, Google Apps

No comments:

Post a Comment