I recently saw an interesting post by Gordon Haff that claims that cloud computing concepts can't really be applied to enterprises smaller in scale than the Googles, Microsofts, and Amazons of the world.
I'll concede that there aren't too many enterprises that have the scale of Google or Microsoft, but there are quite a lot of enterprises that would see benefits of cloud computing concepts in their internal data centers.
You see, the "infinite scalability" promise of cloud computing is only one of the benefits that cloud computing promises. Most of the concepts we're seeing in cloud computing were already trends in big data centers before they turned into cloud features.
Let's look at a few of these cloud benefits. For each of these, a large data center may not be able to match the performance of a large cloud vendor, but if they're managed well, they may be closer than you think.
- Scalable storage. We've been consolidating storage in the datacenter for years now, and today's SANs are larger, easier to manage, and more inexpensive than ever. Cloud computing holds an advantage here because you don't have to manage anything, but you have greater control and performance when you manage your data yourself.
- Fault tolerance. Cloud platforms handle fault tolerance by always promising to have another processor ready to fill in when one goes down, and they spread processing and data across data centers so your presence in the cloud stays up all the time. If your data center is large enough, you have redundant data connections, backup power, and other high-availability goodies, and you just might have a hot backup site, too. Pretty close.
- Processing scalability. Cloud platforms promise to give you all the processing power you need, and you only pay for it when you're using it. This works for the cloud vendors because not everyone hits peak hours and peak season at the same time -- the peaks average out. Clearly, you're going to have to acquire enough hardware to meet your overall peak load, but across a really large enterprise, your apps aren't going to hit their peaks at the same time, so you're not trying to power all of those peaks all at once. Again, the nod goes to the commercial cloud, but not by a landslide.
- Power and cooling management. The win goes to the cloud on this, because you don't have any power or cooling needs at all. Of course, you're paying for power and cooling indirectly when you buy cloud services.
So if "real" cloud computing nominally wins in all these areas, why would anyone even consider trying to self-host a cloud?
- Control. Cloud services aren't supposed to go down, but if they do, someone's going to start asking what you're doing to get them back online. As lousy as it is to be down, it's going to be worse not to be able to do anything to get back online.
- Confidentiality. Some data just can't live outside your firewall - in some cases, for legal reasons. In others cases, it may be politically impossible to move sensitive data outside your control.
- Performance. Executing locally against a local data store is still faster than could computing, even if the cloud may be more scalable.
I think cloud computing concepts have a place in enterprise data centers. These capabilities make good sense even when the scale isn't Google-sized. So what's holding us back?
The biggest real barrier to these so-called private clouds, in fact, is software. If we had the ability to spin up (and spin down) computing power in our data center as easily as we can in the cloud, we'd see big data centers become functionally very competitive with commercial cloud vendors. Furthermore, when you can start powering down machines when they're not needed, and powering them up again when you do, you start to make a big difference in the power & cooling area.
Recall once more Microsoft's decision to package Azure as a service rather than software you could buy and install in your data center. Consider the power of a data center running software like this on their own systems. The benefit is pretty compelling -- I fully expect to see functionality like this show up in virtualization platforms very soon. VMWare, obviously, has a greater vested interest in this offering than Microsoft, so look for it to show up there first.
By no means am I panning cloud computing -- it's a tremendous advancement for a lot of applications, but I also don't believe that we just take as a given the idea that commercially-run cloud platforms are the only cloud option we should consider.
What would you be able to do with a private cloud?
Related articles by Zemanta
- Microsoft's Azure means dark days for storage vendors (channelregister.co.uk)
- Microsoft, Google, Azure and Data Centres (cloudave.com)
- Microsoft taps Dell to build Azure cloud (theregister.co.uk)
- Year in review: The 'cloud' soars (news.cnet.com)