Wrestling With a Definition Of “The Cloud”

For much of the past year I find that I’ve been struggling with putting some definition on “The Cloud.” This thought process began way back on November 5, 2010 when I hosted a VUC call that was a panel discussion intended to consider “The Cloud” in its many facets. That call featured a number of guests, each of whom had specific experience with cloud infrastructure, applications and services. Since that time I’ve been pondering what was said, and further, the evolving public perception of “The Cloud.”

cloud-comm-summit-4-logoSo it was that while attending ITExpo earlier in the month I found myself spending much of my time there in the sessions that comprised the CloudComm Summit 4. During those sessions I had the opportunity to pose some of my questions to the assembled experts. In some cases their answers were enlightening, in other cases they seemed to be puzzled about the very nature of the questions. Even so, all of this has helped to crystallize my own personal definition of The Cloud.

One of Microsoft’s more recent marketing programs made considerable mention of “reaching for the cloud,” presumably with respect to some common end-user applications. I can’t help but feel that such public representations are less than helpful, perhaps even a little misleading.

The Microsoft ads certainly don’t help end-users to understand anything about “The Cloud.” All it does is support the development of a kind of mythology around the topic. This only makes it all seem magical and incomprehensible by mere mortals.

That campaign also created a link between Microsoft and the cloud phenomenon, which is more commonly associated with Amazon. Microsoft surely enjoys associating itself with something new and cool.

Some time back I was discussing technology trends  with one of my customers. He commented to the effect that, “the cloud will render Microsoft irrelevant.” That’s certainly a curious notion. I responded that Microsoft has their own cloud effort called “Azure” and further that they have been seen to recreate themselves in ways that have sustained their relevance over time. I wouldn’t count them out just yet…but it’s still early in this game.

All of this reinforces the idea that people need to know something more about The Cloud than the Mulder-esque “It’s out there.” I find myself wanting to recap what I learned since that VUC call in November. What follows arises from this effort to achieve my personal definition of what is or isn’t “The Cloud.” And what that implies for various interested parties.

In the very broadest sense “The Cloud” refers to almost anything that happens beyond the edge of our local network. This I find to be a supremely unsatisfying definition of The Cloud. It expresses a seemingly willful ignorance of the underlying reality upon which possibly critical services are built. It’s so broad as to be meaningless, perhaps even irresponsible.

DropBoxLogoHowever, I accept that how you think of the cloud is largely a matter of perspective. A typical Dropbox user such as myself may not need to be concerned about the underlying architecture that supports the service. It works and it’s not on my network. There’s little more to know, or really any need. This is the common perspective of the retail services consumer. If that describes you then you can stop reading right now. You probably don’t care about what follows.

To an average user Dropbox is not a mission critical part of their business. In contrast, a business-person may need know something more about the services upon which they will truly depend. Are they secure? Are they Reliable? To what extent are those who offer the service in command of their own destiny? Should I make such services integral to my business? Questions like these suggest that we might benefit from greater understanding of The Cloud.

Some have pointed out that the basic mechanics of the cloud model harkens back to the earliest days of computing with mainframe systems. In that era compute resources were costly and scarce, so they were shared, and accessed almost exclusively via remote means. While a convenient analogy I would suggest that it’s not a good fit. In fact, the mainframe-time-share analogy I suspect is better described as “a hosted service.”

…making a key differentiation between “Hosted” and “The Cloud” can go a long way to improving our understanding..

In fact, I suggest that making a key differentiation between “Hosted” and “The Cloud” can go a long way to improving our understanding of what The Cloud is and isn’t. Greater understanding helps us manage expectations, and so reduce the chance of disappointment.

In writing this blog I set out not to pass myself off an some kind of expert, but merely share my personal experience with issues of SOHO technologies. My experience with the cloud goes in various directions. At least initially let me consider the smaller scale end of this experience, hosting this blog as described previously in some detail.

BlueHostLogoI started with a shared hosting account at BlueHost. Was that “The Cloud?”

By that most general definition some might say yes, but I think not. In that case I was merely accessing a resource that was resident on someone else’s network. That resource was easily understood as a fraction of the capabilities of what was presumably a considerable physical server chassis.

That physical server hosted numerous accounts, dozens or possibly even hundreds of separate users. Since it was a shared resource there was a hard & fast limit as to my depth of access. In order to safeguard all the accounts on that server no single user could have root access. It was therefore a “managed” resource, the hosting company ensuring that it was up and functional on behalf of all the users. Only their admin staff had root access, and the corresponding ability to remedy low level issues should they arise.

I later moved to a virtual private server or VPS as my host. Was this a “cloud service?”

I still don’t think so. A VPS is not unlike placing your own server in a co-location facility. You can walk into that facility and physically find the server. In the case of the co-location facility you can find your hardware. In the case of the VPS you can find the box that is running the virtual machine that is effectively your hardware.

Virtualization makes it possible to share the physical server hardware while providing each user with their own private operating environment. That means that you have root access to the OS. Heck, you have your choice of OS in many cases.

There is an interesting, even curious relationship between virtualization and “The Cloud.” This relates to matters of scale and the architectural design of systems.

Something simple like a WordPress blog can be hosted on a single server or VPS. In the case of smaller sites virtualization allows the sharing of hardware, reducing the resource requirement and so the cost of hosting.

As a site gets larger the various functions underlying the WordPress installation may need to grow such that they are no longer practical on a single server or VPS. Thus you end up with separate hardware platforms for web servers, database servers, load balancing, etc. This is a matter of architecture and not necessarily related to virtualization.

sun_cobalt_raq_550How far you can scale an application running on a particular server must be, in part, defined by the overall resource compliment of that server hardware. A site running on a old Cobalt Raq cannot scale up as far as one running on a modern platform with four quad-core CPUs and gigabytes of memory.

IBM pSeries 150Going a step further, running the site on genuinely Big Iron, like an IBM Z Series mainframe, might permit it to achieve very high-performance on a single hardware host.

Now this is truly a matter of opinion, but to my mind, this defines the edge of “The Cloud.” I thinks that The Cloud begins where architectural requirements of a hosted application force a high degree of abstraction, taking it beyond easy end-user comprehension.

The cloud analogy holds true in more ways than one. As I see it the edge of the cloud is not clearly defined. It’s the point at which a potentially complex series of processes get lost in a degree of abstraction that the end-user cannot comprehend in a meaningful way.

Virtualization plays a big role in achieving The Cloud. Virtualization goes in two directions; smaller to make it possible for people like myself to share hardware resources while and enjoying a private operating environment, and larger, where truly vast processes run on the aggregated resources of many clusters of servers.

On this basis nothing relating to my blog would ever be “In The Cloud” whether hosted on a cheapo, shared server, a VPS or a dedicated server. In all cases you could, in some way, locate the one server that was entirely responsible for the entire running instance of the site.

In contrast, the Google Desktop applications like GMail are truly a Cloud phenomenon. They are of such a scale that the various supporting functions are distributed across many servers, even across various data centers. The failure of no one system, rack or even data center should meaningfully impact anyone’s GMail account.

This is a matter of application architecture on the largest scale. The end-user, even the developer, may not, perhaps cannot, have any specific knowledge of the reality of where the application is running or where his data resides. In my opinion, that is “In The Cloud.”

If that’s my personal definition of “The Cloud” then everything else is merely “hosted.” Hosted being processes that are running on systems beyond my network, but where I or some service provider can say deterministically that those processes are running on specific hardware. That hardware may be a cluster of servers, or even a geographically distributed cluster.

During one CloudComm panel discussion it was noted that hosted telephony has been around for decades, but Cloud Communications seems to be a new idea. I asked if there was any point in differentiating between “hosted” and “cloud?” The assembled panel, mostly considering business aspects of Cloud Communications, didn’t seem to think that there was a difference.  In fact, they cited the Microsoft advertising as having conferred a new sense of legitimacy to hosted/cloud services, where in the past some have struggled to displace legacy CPE.

“Hosted” may hold advantage over “cloud” in some applications. After speaking with a number of VoIP service providers I’ve found that many feel that hosting on specific hardware gives them greater ability to control aspects of performance critical to real-time applications, like voice and video conferencing.

While that attitude seems commonplace today, it remains a matter of opinion. There are service providers like Voxeo* and Twilio whose service offering is wholly cloud-based. But then again, just as in the sky above, there are different kinds of clouds…

As I am just starting to get my head around The Cloud, I very much doubt that this will be my last post on this matter.

*Voxeo sponsors the VoIP Users Conference, which I co-produce along with founder Randy Resnick.