My first post for GigaOM, where I introduce the foundation of everything I believe about cloud, elicited some excellent responses from the community. I made the case that cloud boils down to a very simple statement, at least for the enterprise: Cloud computing is an application-centric operations model.
Most of the comments I received affirmed this statement, but there were a few that took issue with it. Andi Mann, vice president of strategic solutions at CA Technologies, wrote:
I like that there is a growing move away from low-level infrastructure thinking, but I think an app-centric view is still too IT-centric.
For the business, the application is no more relevant than the infrastructure. I think the ability of cloud to deliver better (cheaper, faster, more efficient, etc.) business services is much more fundamental.
This is reflected in why CxOs are choosing cloud. Leading drivers tend to be cost reduction, increased agility, and greater business-IT alignment. Nothing about apps there. You could argue that a focus on the app helps achieve these, but I think that misses the bigger picture.
Indeed, one app may well be just a component in a larger business service. Take Salesforce.com – is it a CRM app? A SFA app? An enterprise social app? A customer datastore? Or is it a combination of apps that together reduce the distance and friction in the sales value chain to deliver a better throughput from lead to pipe to revenue?
We went back and forth on Twitter about this for a while, and what we discovered is that what he considered a business service was indeed one form of application in my eyes. We didn’t disagree completely in terms of what cloud computing is about, but we had a complete disconnect about what I meant by “application.”
New words for new delivery models?
This is only one of many examples I can cite where the use of “legacy” terms to describe concepts altered by newer models (including service orientation and cloud computing) creates unintended confusion within the market. In the case of “application,” we all probably remember when that term represented a single executable packaged with supporting libraries and delivered on floppy disks or a CD in a shrink wrapped box.
In the service-oriented, Internet-deployed world of cloud computing, we need a term to describe “the unit of stuff to be managed by the customer consuming one or more cloud services.” Since the final output of such software/data/config metadata/policy is typically software being applied to some problem (business or otherwise), I call these elements “applications.”
However, in the cloud, applications are not singular, independently acquired and operated software executables anymore. Cloud applications can and will rely on other applications to meet their objectives. Some applications may, in fact, be made up of collections of other applications, strung together to create a process flow, or a consumer service, or even a new platform. In many ways, I’m talking about applications of distributed computing to computable problems.
For the record, this is why I use the word “application” in this context — because it represents something managed by operations that is applied to some definable problem to be solved by computing.
Unfortunately, many, many applications are also services. For a business, the term “service” applies to processes that often bridge software and human work. So using the term “services” as the ultimate goal of the business isn’t wrong.
“System” is another word that gets lost in translation when applied to cloud computing in different contexts. When a business talks about “systems,” it is talking about something that may incorporate IT only partially, or not at all. Most IT people think of “systems” in terms of hardware or turnkey systems.
The world of words gets in the way of conversations between IT and the business all the time. Cloud computing is no exception — in fact, it may exacerbate the problem, at least temporarily.
In the end, I’m not particularly concerned about whether you accept the term “application” as the unit of management that enterprises care about in the cloud. What I care most about is that you recognize that cloud computing is not some new infrastructure, but rather a new way of delivering software and data — a new model that makes it easier to apply computing to a variety of needs.