James Hamilton, Amazon architect and a very smart guy, recently blogged about private clouds. In Private Clouds Are Not The Future he argues that economies of scale make public clouds much more efficient than private clouds.
I think we agree that several effects make web scale public clouds more efficient:
- Higher quality services. Large clouds can economically employ experts to design and optimize their services and infrastructure. Security and server/storage design are two areas where deep expertise can provide more reliable and efficient service.
- Utilization. Power systems and power cost are optimized when data centers are run at 100% utilization. As utilization rises across the board so does the capital efficiency, i.e. work per invested dollar.
- Cost. Large-scale investments create their own lower-cost dynamic. Public cloud providers save money on infrastructure acquisition through volume buys. In addition, their volume enables them to acquire optimized components, such as high-efficiency power supplies or custom cost-reduced motherboards, that offer little economic advantage to small volume buyers.
- Portfolio advantages. With a mix of customers and jobs web-scale clouds have a more stable aggregate load. Some customers are growing, some are shrinking, but the net demand becomes more stable with size. This, in turn, enables public cloud managers to drive utilization higher with less risk of pegging the system.
With all these advantages it is obvious that private clouds are not the future. Or is it?
It isn’t all about the Benjamins
Economics is not the driver many assume. Individuals and companies often select less economic choices. Some people buy cars that cost $200,000 and get 12 miles to the gallon. Some companies buy $6/GB storage and then utilize just 1/3rd of that costly capacity.
Often perceived benefits are not well measured in dollars. Convenience, availability, consistency and control often relate to emotional needs and wants that are rarely quantified or questioned.
But we don’t have to invoke those to understand why private clouds will be part of the computing landscape. Just a quick look at one of the large Internet data centers will tell us what we need to know.
Show me the power
All the advantages of public clouds have analogs in the world of power generation and distribution. Power generation is cheapest when centralized and large-scale distribution systems move power at the lowest cost per watt.
Electrical power generation and distribution is over 125 years old. The technology is well understood, the industry is mature, and a massive infrastructure — including mile-long coal-hauling trains — supports production and distribution.
And yet, Google’s massive Dalles, Oregon data centers, built next to a substation a few miles from the nation’s largest hydropower system – one of the world’s most reliable power sources – flanks each data center with generators. I expect Amazon does the same.
Access
Clearly, access to data is at least as important as access to power or why would data centers spend the money on uninterruptible power supplies?
Despite the maturity of the power industry people realize it cannot be relied upon 100%. Therefore they maintain their own power storage, generation and distribution systems.
Is the Internet that different?
We cannot rely 100% on Internet access to our data. If the application is important enough, as judged by often subjective human criteria, we will keep our data as close as Google keeps its generators.
Even if it isn’t the most economic choice.
The StorageMojo take
My thanks to James Hamilton and his post for a lucid justification for an all cloud IT infrastructure future. He helped me see why that isn’t going to happen and for that I thank him.
I’ve grappled with the question of private clouds for the last couple of years. The advantages of web scale systems became more obvious, but the human desire for reliable data access and control has not receded.
Public and private will not displace each other: they will coexist just as public and private power sources coexist today. No doubt public clouds will claim the majority of the market whether measured in dollars or exabytes, but private clouds will remain significant contributors to our data infrastructure for decades, if not centuries, to come.
Courteous comments welcome, of course.
Higher qualities of service is a hell of a stretch for Amazon.
With the very public outages Amazon Web Services has had blowing thousands of customers offline all at once that takes a straight face.
Public clouds are a race to the bottom in cost, that’s about it. The first thing Amazon did when Microsoft turned on Azure billing was to lower it’s prices.
It didn’t up it’s reliability or introduce a new unique public cloud feature. It gave a price cut.
Bulk pricing is pretty much where that market is going. It’s a rerun of the Webmail wars, I’m sure Google will be here offering a ton of free something or other any moment now the way they did with Gmail but ads aren’t going to pay for public cloud costs.
Meanwhile a lot of companies still and will continue to maintain their own email infrastructure.
The same goes for running their own private cloud.
Can someone please define “cloud” for me? Given that Intel has announced a research “cloud chip”, I’m getting confused with the concept:
http://arstechnica.com/business/news/2009/12/intel-demos-48-core-cloud-datacenter-on-a-chip.ars
Hi, ‘Zilla.
It would be interesting to know how many EMC (or NetApp, or HDS, etc.) systems are down each day – probably not many, but also probably a number that averages to something greater than zero. But that’s not newsworthy like an AWS (or Rackspace, or Azure) outage.
Still, that’s probably missing the point. The public cloud – done right – is about running reliable software on unreliable hardware. The conventional enterprise is about running unreliable software on reliable hardware. I’m not sure anyone has settled where the private cloud stands between those two poles, because the private cloud is more PowerPoint and press releases than anything else these days.
When the clouds settle in, will public cost much less than private per compute unit?
If public providers had zero markup, if OEMs didn’t see private clouds as a bigger market, if expert optimization wasn’t a saleable skill, if commoditization at scale didn’t benefit enterprises as well as Amazons, and if IT couldn’t run stable baseline loads efficiently in private while outsourcing spikes, then maybe.
Great clouds won’t always be rocket surgery. And even if the Benjamins finally favor public clouds, what premium might smart IT managers pay for self-reliance, and for standing alone in queue for recovery and support?
Hi Robin,
There is always a sense of worry when we talk about moving all Enterprise IT Systems on a Public Cloud which is multi-tenant. Truly, I picture a hybrid Cloud a better practice that will grow, once the Private Clouds become mature, and the cloud-users get confidence with the standards of efficiency and reliability of the Public cloud. It looks pretty plausible, where Customers out of initial curiosity, and the need for savings will attempt to go for Private Clouds, especially with regards to Single-Tenancy, Effective Security Policies and Internal Governance. Less critical applications could be deployed on a Public cloud.
But I feel a greater demand of Standardization for Cloud vendor interoperability, which will improve the odds for Public Cloud in a significant manner.
The “cloud” metaphor actually has (or had) a meaning: you can observe the surface of a cloud, but not its interior (because of fog). It was initially used for third party networks; you knew how to connect to it, but could not see what went on inside. Therefore, “private cloud” is a bit silly: it would be an infrastructure where the owner would have no idea what went on inside. The data sheet would say: this box has so much compute power, memory, storage and IO capacity, but we won’t tell you what is inside and you are not allowed to open the box. Just write the check.
More likely is that private data centers will adopt some of the technology developed for public clouds, reducing head count and increasing flexibility. Nothing wrong with that, but nothing new either.
The Internet as a whole has not been down for more than two decades, although individual access points and area’s have. It shows that multi-operator infrastructures can be very, very reliable. Similarly if we can use multiple cloud services (e.g. Amazon PLUS Google), our reliability will be hard to match with private data centers. Today managers don’t want to be responsible for down time caused by their cloud operator. That may well change. When cloud computing becomes more mainstream, manager may want to avoid the embarrassment of down time caused by their private data center. It is better to be off line when all competitors are off line too.
There may come a time where cloud data centers refrain from backup power, because there are sufficient backup data centers. If the fail-over cost is sufficiently low, you can discard a lot of local redundancy.
Keeping your data close may be effective if your company is relatively centralized, but for companies with distributed offices a public cloud is no farther away than a private cloud. For example, I work in Austin and almost all our corporate servers are somewhere else.
There are two big differences between a public and a private cloud:
First, the public cloud is “Elastic”. If you suddenly need 100 or 1000 servers, bingo, you get them. Most people can’t fathom “why do I need that?”. But once you have that power, you will suddenly find uses for it. Don’t fix a server, just spin up a new one (examine the old one at your leisure). Don’t upgrade a server, spin up a new one (maybe keep the old one around as backup for seamless rollbacks.)
Second, not everyone has the ability to execute. In the public cloud model, all you need is good programmers. In the private cloud model, you not only have to have good programmers, but you also need good hardware guys and good HVAC guys, and good planning and a good space, etc. Worse, the “private cloud” software is still in it’s infancy, so your “hardware guys” will have to be extra-talented. Let’s face it — You’re in the widget business, not in the cloud business. If you can’t out-flank your competition by having a “better cloud”, then it’s a candidate for outsourcing.
Last, neither the public or the private cloud will save money. Period. When you make something easier and faster and simpler, demand will go up. (Think of what happened to paper usage when we replaced typewriters with printers.) Your company will use MORE compute power. That under-funded department will now spin up a Wiki (because the fuddy-duddy IT department isn’t involved). The QA team will get their own server (because they never liked sharing it with staging). The programmers will do a multi-server test before every deploy (because that catches more bugs). The planning team will do more data mining (because they can get a copy of the database and a dedicated server to pound on).
It’s rather like the transition from mainframes (one big computer that must be “protected” from the masses) to PCs (everyone has a computer on their desk to do their bidding).
Last, neither the public or the private cloud will save money. Period. When you make something easier and faster and simpler, demand will go up. (Think of what happened to paper usage when we replaced typewriters with printers.) Your company will use MORE compute power.
Great point! Thus the question is: is that what we want?
@Anonymouse
I completely disagree with your assessment of the difference between public and private cloud. Most people haven’t even figured out why Virtualization is here in the first place.
1. Virtualization is about the ownership of excess capacity.
In a public cloud, the excess CPU you don’t use in a VM goes back to the pocket of the owner of the physical server(Amazon). In a private cloud, the excess CPU you don’t use in a VM goes back to another VM you own. So in essence, it is a dynamic rebalancing of hardware resources if your “cloud” is private.
2. Virtualization is about shifting the balance of power from CPU vendors to Storage and Networking vendors.
Before virtualization was possible, each server has Direct Attached disks, and if you blow through Ram, the CPU idles and waits for disk IO. Now with virtualization, shared storage is required. Instead of buying 1TB direct attach SATA drives for $100 a spindle, you are forced to buy 1TB dual path SAS drives from a SAN vendor at 5x the price premiums. Then you have to buy redundant storage controller nodes at 10s of thousands of dollars, only to find out that most SANs don’t scale. Even if your storage setup is redundant, you will find a small chance of double failures, and when that happens, your entire fleet of VMs go offline. That’s why Google, Facebook don’t use SANs.
In the end, I don’t believe in public clouds because of uncontrollable resource contention. Amazon EC2 for example has not followed the Moore’s law to the letter. When it first launched, it was cheap at 10cents for a 1.7Ghz core. Two years later, it is at 8.5 cents for a 1.0Ghz-1.2Ghz core. Back in 2007, $2000 bought a 4 core server. Today $2000 can buy a 16thread Nehalem-EP server. Only 15% price reduction of EC2 in two years is a scam. Then, Amazon creates some smart financial products like “reserved instances” to lock people in, not telling people that reserved instances are inherently non-elastic. In fact, spot prices are what the prices should have been after two years, then Amazon can kick you off any time.
You go figure.
Am I the only one who thinks “private cloud” is stupid?
Is it too much effort to call it IT? Or is that too last-decade?
The point of the cloud is that it’s Someone Else’s Problem. When you draw a diagram, you generally draw the internet as a big amorphous cloud. Why? Because drawing the edge routers and backbone servers and primary/secondary/authoritative DNS servers and all those little fiddly details doesn’t matter…because it’s someone else’s problem. The point of the “cloud” is that if you put your e-mail “in the cloud” (i.e. get Google to host it for you), you don’t have to have guys whose job it is to think about MX records and mail servers and dovecot patches and whether or not Outlook supports this and that and the other thing.
So when you start throwing around words like “internal cloud”, you’re contradicting yourself. If it’s internal, it’s managed by you. If it’s a cloud, it’s someone else’s problem.
Here at BigStorageCo where I work, we still talk about ‘corporate IT’. Feel free to stick the word ‘cloud’ in there somewhere if including a buzzword means a PHB somewhere gives you more funding, but let’s be honest here and call it what it is: the same thing companies have been doing for the past three decades. The only thing that’s “cloudy” is the terminology.
I think you are going to see a hybrid between fully open and fully private. How about Industry-specific clouds? Take a look at Microsoft BPOS-Federal:
http://blogs.technet.com/msonline/archive/2010/02/24/microsoft-online-services-announces-new-certifications-bpos-federal-for-us-government.aspx
http://reddevnews.com/articles/2010/02/25/microsoft-updates-bpos-announces-bpos-federal.aspx
http://www.microsoft.com/downloads/details.aspx?FamilyID=E06A7D14-D60F-4CA8-9B3E-DD53B505081B&
That’s an industry specific private cloud that meets industry specific requirements, but still allows for some of those resource sharing benefints you get from a public cloud between multiple organizations.
Sorry to throw another possible category into the debate 🙂
Oh, and dont’ think MS will be alone in this – I expect other providers to follow in their footsteps. And who knows, some of the stringent security requirements from the fed space may trickle back into the broader public clouds. Well, we can hope anyway…