I would think that by now, many of you would have heard the term “Cloud” used when talking about Internet “stuff.” In passing, a common phrase thrown around is “it’s saved to the Cloud” or “it’s in the Cloud.” So, that’s fine, but many people don’t know what that really means. Hopefully, I can help explain it but honestly, instead of this process becoming easier as the concept evolves, I am finding it becoming even more…er…cloudy.
My day job actually is about helping people understand what Cloud Computing really is. I’m the Technology Evangelist for a Cloud Computing Infrastructure Hosting Provider called GoGrid. Whew, try saying that in one breath! So that means I’m consistently looking for ways to explain not only the term, but also what we as a company do.
Where the Cloud Started for Me – Slightly Cloudy
When I started at GoGrid about 2.5 years ago, Cloud Computing was a relatively new concept. Some say that it was born from Utility Computing and Grid Computing and others believe that it is simply an extension of the idea of Virtualization. It is, among other things, a marriage of these concepts with some new ones thrown in. And it is evolving at breakneck speed.
Two years ago, I came up with the idea of the Cloud Pyramid in order to graphically explain in an extremely over-simplified manner, how Cloud Computing is broken down into 3 distinct layers:
Recently, my company released a microsite which explains a lot of the ideas: http://pyramid.gogrid.com which I encourage you to explore.
Obviously, I have a vested interest here in pushing GoGrid since I work there (and, in fact, this blog is running “in the Cloud” on GoGrid). However, while we did have the vision to realize that self-service, on-demand, utility billed infrastructure was the future (we actually started development on GoGrid long before the term “Cloud Computing” came into play), we were not the ones who created the concept behind it. Companies like SalesForce, Google and Amazon have been leaders as well in spearheading the movement.
Over the past couple of years, Cloud Computing providers struggled and fought to be THE ones to define the concept and have the de facto definition. It seemed to be all about bragging rights and who was quoted where and by whom. Eventually, the definition debate seemed to settle down in early 2009 and everyone, at least within the active community, was content with where it stood.
Here Come the Masses – Rain from the Clouds
Then in 2009, main stream media started getting involved, raising issues of FUD (Fear, Uncertainty and Doubt) around anything Cloud-like. This made my job more difficult and the microscope got focused just a bit more around the term and its features. Suddenly, having things “in the Cloud” was a reason to be concerned.
One such event was the Sidekick/Danger/Microsoft/TMobile issues where thousands of Sidekick users suddenly lost access to their data which the media was saying was “stored in the Cloud.” I felt that a lot of my work evangelizing the meaning of “Cloud Computing” was becoming unwound. (“The Microsoft/Danger/T-Mobile Sidekick Fiasco Is NOT A Failure Of Cloud Computing!”)
With the increased public awareness of “all things cloud” and the possibility of failures (despite the fact that what had failed was standard mainstream IT practices), people became more worried and immediately became anti-Cloud pundits and Cloud critics.
Also around this time, the term “Computing” was dropped from the name so people simply referred to this nebulous offering as simply “the Cloud.” In my mind, and many times I catch myself saying just “the Cloud”, “cloud” is merely a descriptor or qualifier of the term “computing” and truly shouldn’t be dropped. Unfortunately, putting “computing” back into the cloud is an uphill battle that I don’t think I will win, but who knows.
Finally though, the FUD settled down and people began to understand the importance of this technology evolution (not a revolution). My job became a bit easier and I could focus on simply explaining how we fit into the Cloud Computing Infrastructure layer and how we are differentiated from others within the same space.
Life was good…or so I thought.
Enter the Modern Day – Cloudy Again
This past week, I attended an event called “Cloud Connect Event 2010” where my company was an exhibitor and on one of many panels of the show. This was a geek-fest, filled with incredibly intelligent people, many of whom were experts in the field (and could simply run circles around me when talking about the nitty-gritty details of Cloud Computing). But what a great show for many reasons.
The organizers of the Cloud Connect event interviewed users on what they thought Cloud Computing means with some interesting results:
Still confusing, right?
For starters, at the show there were many companies whose sole business was built on or around Cloud Computing. And these were companies who now are cash-flow positive, had Enterprise and Government customers, and who were propelling the movement forward. It was very encouraging, especially since many were partners of GoGrid, enabling our technology and creating incredible value-add to the market.
I attended a few panel discussions to make sure my ideas and thoughts weren’t becoming stale and rusty, particularly around the term “hybrid”. This was a keyword that I came up with a year or so ago, to describe something that we were doing as a company. In my mind, “hybrid” means “best of all worlds”. Think of hybrid cars – electric for gas savings but gas-powered when you needed power. Or hybrid rice – designed to produce a lot of grains but in harsh environments or with less water. We termed the phrase “hybrid hosting” which for me means the combination of virtual servers and physical servers (and virtual & physical appliances as well) within the same hosting environment.
What is a virtual server anyway? For all intents and purposes it acts, smells, and behaves just like a physical server, but you just can’t touch it. Using a technology called virtualization, all aspects of a computer can be mimicked and “abstracted.” Typically, virtualization is done on a larger, physical machine because a machine that is virtualized uses resources (like CPU, RAM and Hard drive space) of the hosting computer. So, for example, say your hosting computer has 4 GB or RAM and a 3.0 GHz processor and 500 GB of hard drive space. If you were to virtualize another computer within that environment, it couldn’t have higher numbers than the limit set forth by the physical machine. Your VM (Virtual Machine) could be 2 GB RAM/ 1.5 GHz processor and 250 GB of hard drive and you could probably squeeze out 2 simultaneously running VMs with those specs (it’s not an exact 1:1 ratio). This is obviously an overly-simplified example. The thing about virtual servers is, you can play, pause and stop them on-demand. The most obvious desktop example is a Mac that has VMware Fusion or Parallels installed on it running Windows. When you need Windows, you start up your VMs and use them, then when you are done, you can pause or shut down the VM.
So, within my company and the Cloud Infrastructure Service that we provide, we have thousands of extremely powerful and larger servers that are hosts to thousands upon thousands of VMs. Users select an Operating System, the amount of RAM and an IP address for the server. Within minutes they can create a Virtual Machine or Virtualized Server.
However, sometimes there is a need to go above and beyond what is available via virtualization, so within our product offering, we have the ability to deploy physical servers as well that have higher performance, more RAM, faster disks and hard drive configurations (like RAID) that is not currently available within the virtualized environments.
This is where the term “Hybrid Hosting” comes into play, essentially the best of the hosting world, a combination of virtual and physical machines, all working within the same network, each having characteristics of Cloud Computing (on-demand, scalable, elastic, metered billing, etc.).
But…now there is a term that is potentially confusing the marketplace, that of Hybrid Clouds, and this is where the public is potentially getting confused again. There are 2 terms that work with Hybrid Clouds: Public Clouds and Private Clouds. A Public Cloud is one like GoGrid, Amazon or Rackspace, where the infrastructure is available to the general public to consume and use. A Private Cloud is one where the entire infrastructure is private to an organization (e.g., a large Enterprise) where all of the physical hardware that is running the cloud is owned and managed by that company. It still has the characteristics of Cloud Computing, but is private and not shared externally.
A Hybrid Cloud is one that utilizes both a Public and Private cloud. Often this interoperability is referred to as Federated, or a Federated Cloud.
Still “cloudy” in your mind? I’m sure you are! So let’s get back to “over-simplification” and work through a rudimentary Hosting Decision Tree:
If you like this decision tree, feel free to download it here. I only ask that you keep the copyright and give me some link credit.
That helped, right? It’s really to just prove a point. You cannot oversimplify something as important as your infrastructure. There are many decisions that need to be made, strategies evaluated and technologies utilized. The point of the diagram above is to illustrate that Hybrid Hosting may possess the proper balance of components to allow you to achieve success.
Which Way is the Wind Blowing the Clouds – A Forecast
Let’s face it, because of all of the hype around “the Cloud” and “Cloud Computing”, I fear that the definition of what it truly is will continue to go through a dramatic metamorphosis. We do know the basic characteristics of Cloud Computing:
- On-Demand – use it when you need it
- Scalable – grow or shrink the infrastructure as desired
- Sometimes virtualized – resources, appliances or servers are sometimes virtual
- Utility billed – pay as you go & based on what you need only
- Available & Accessible via the Internet
- Programmatically controlled – portal or API controlled
- Abstracted – technology is separated out to different components that interoperate
- Shared – mainly for Public Clouds and referring to resources, software, hardware and information
- As a Service – or set of services (Application, Platform or Infrastructure)
At least with a baseline definition, the term can be tweaked and fine-tuned. I know that other adjectives will be tacked on to the term “Cloud” as we have seen with Public Clouds, Private Clouds, Virtual Private Clouds and Hybrid Clouds. We have also seen “Cloud” be used as an adjective itself: Cloud Infrastructure, Cloud Platforms and Cloud Applications. With this mishmash of adjectives and descriptors blowing around in the wind, it’s no surprise that the general public might not get it.
However, it’s important to understand your options when looking at Cloud Computing. But more importantly is understanding what it can (or cannot) do for you. A few years ago, the offerings and benefits were limited. Today, “the Cloud” can offer many more benefits AND flexibility than traditional hosting. But it’s not for everybody. The industry itself is still settling down, standards are being derived, and the concept and implementation by vendors being thoroughly vetted. The most important thing is to understand all of your options, to carefully evaluate your current (or proposed) infrastructure, and not to simply do a 1-for-1 replacement of that infrastructure but to design to take advantages of the benefits of Cloud Computing.
Cloud Computing is both a tool and a mindset and an overly-used descriptor for something that many simply don’t understand. I hope that by reading through this article, the whole concept is a bit less “cloudy” and more comprehensive. If you do continue to have questions, please leave a comment on this post and I will do my best to answer promptly.
Disclosure Text: I have a direct relationship with a brand, topic or product that is mentioned herein. Details of this material connection or relationship are outlined in the custom disclosure fields. More information can be found in my About page as well as here.
HTD says: When dealing with Cloud Computing, it helps to think outside the “box” (both physical and virtual).