At least once a week I end up in a conversation about cloud computing with someone who really has no idea what it is. It's hard to blame them as there are so many different things that get lumped into this bucket and the explanations seem to keep changing. With that in mind, I thought I'd provide some very basic definitions that even the neophytes out there can understand in hopes of finding some common ground.
The term "cloud computing" started out as pure marketing and has now found its way into just about every conversation about technology that we have these days. However, before we can start talking about cloud we have to define it.
First, cloud computing at its core is really more of a philosophy than a technology. During Cisco Live this year I heard it said that "cloud is the journey, not the destination." That's a pretty good description in my book. For technologies to be described as a Cloud computing solution, they must include all of the following traits in design, implementation, and operation:
- Elasticity of resources
- Ease of provisioning
- User-oriented allocation of resources
All forms of cloud computing follow these principles and no matter how far down these paths we travel there is always farther to go. This is why the journey vs. destination comment hit home with me.
Now that we've defined cloud computing, we can move on to discuss the two main types of clouds - public and private.
Most commonly when cloud computing is mentioned the intended subject is public cloud. Public cloud implies that you're paying to use the computing resources in someone else's data center. Amazon EC2, Rackspace, and Microsoft are well known providers of public cloud services. Public cloud providers implement their compute resources to enable their customers to consume them as cloud resources. In order to do that, they must keep in mind the requirements for elasticity, multi-user support, easy provisioning, and so on. I leverage some of these providers personally and it's really amazing how easy they've made it to go online, provision, and begin using the compute resources that I need.
More and more when people are talking about the cloud they're intending to discuss a private cloud. Private cloud implies that you're leveraging resources within your own data center but that you're still following the principles and philosophies consistent with this type of computing. In a private cloud, you may deploy additional technology in order to make your resources more flexible and elastic, to enable users to self provision their computer resources, or to enable chargeback capabilities.
When discussing cloud computing with someone new, the first question I ask is "are we talking about public cloud or private cloud?" Maybe we could replace "public" with "shared" and then start abbreviating to SC and PC for shared cloud and private cloud.
Got a better idea for how to keep these things separate? When you're asked about cloud computing is it usually public or private?
Flame on...
Josh
Josh Stephens is Head Geek and VP of Technology at SolarWinds, an IT management software company based in Austin, Texas. He shares network management best practices on SolarWinds GeekSpeak and thwack. Follow Josh on Twitter@sw_headgeek and SolarWinds @solarwinds_inc.