Admit it, when you think "cloud," you think elastic. You think scalable. You think SaaS. And that's right, but it's not all-the-way right. According to Esteban Kolsky, the cloud -- the true cloud, the pure cloud -- is not nearly as simple as those buzzwords suggest, nor as ubiquitous.
Kolsky, a former research director at Gartner and widely respected technology consultant and commentator, has never been one to accept conventional wisdom. In this multi-part interview with Logikcull, he sets straight the commonly accepted, but ultimately wrong, notions, perceptions and definitions of cloud.
Logikcull: It seems like, from what you read, enterprise computing is going to the cloud en masse. It is "eating the world," so to speak. But I'm skeptical.
Esteban Kolsky: Moving to the cloud is an evolution, not a thing you do. If you look at organizations today, the biggest challenge they have moving to the cloud is moving their legacy data to the cloud -- and there aren't a lot of good options out there that offer a simple solution. Through the lack of options, you have the emergence of all this so-called "private cloud" and "hybrid cloud" stuff that is not to the best benefit of the user, but it is what they need to do in the early days to survive a [full-fledged] move to the cloud.
So, in this environment, you see a lot of virtual machines emerging, a lot of interfaces and screen scrapers that are quote-unquote "moving you to the cloud," when really all they're doing is taking your existing legacy software and putting a new interface through a browser and calling it "cloud." That's what we've been seeing for the last few years. That's what we're calling "SaaS" software today, which essentially is no more than the ability to put software through a browser that is hosted somewhere else so you don't have to worry about it.
But it's still just software that is running somewhere else that doesn't truly deliver cloud computing.
Logikcull: So what would you define as genuine cloud computing?
Kolsky: Cloud computing is an architecture. It's not a technology. It's not a delivery model the way most people infer it is. It's not a browser-based solution. It's a three-tiered architecture that divides between infrastructure, platform and software. It's the three elements you use when you create an application: the presentation layer, the logic layer and the underlying network and database and all that.
"Cloud computing is an architecture, not a technology."
So if you have the three tiers and appropriately divide your load between them -- so, for example, if you can use the database from anywhere, if you can use the platform for specific functionality to deliver services, if you use software for the presentation layer and for minimal enforcement of validation and things like that, yeah, you have a true cloud architecture.
If all you do is create a browser-based platform that's on top of a hosted app that still runs as a single application in one server with everything intermingled, you don't have a cloud computing architecture. The distribution to the three tiers and the distribution of work using things like infinite elasticity for scalability, that's what being in the cloud means. Just having a browser? That's not the cloud.
Logikcull: Can you give an example of an application that is widely assumed to be pure cloud but is not actually cloud?
Kolsky: Pick any of the enterprise software vendors. They still sell licenses to software that runs in a browser that you don't have access to and you can't customize. Salesforce is probably the one that has been distinguished the most. But pick any Oracle application in the cloud. Pick any SAP application in the cloud. They don't run on a platform. They run on a monolithic model. It's the same application that it was 10 or 15 years ago, it's just running through a browser that you need a license to access. You have no customization power. You have no access to metadata to manipulate anywhere you want. You have no way to provide elasticity other than to buy more services and more licenses. And you don't pay for what you use -- you pay for access to a hosted application.
"Pick any of the enterprise software vendors. They still sell licenses to software that runs in a browser that you can't access and can't customize."
Logikcull: In terms of hosted applications, either you can host it internally or a vendor can host it? Is that what you're saying?
Kolsky: Well there are three models. You, the organization, can host it, which means you own it in a data center. That's the worst model possible, as far away from the cloud as you can get because you own the resources and you pay for the resources. Or you can have the vendor host it through a third party and you basically just pay for access to the hosting center. The third model is that the vendor can host it in their own data center.
None of those are ideal, but if you have to go with a model, Microsoft has probably done the most work in hosting by creating data centers globally and complying with all the local laws and rules. So you can actually go through Microsoft working anywhere in the globe -- working through a local hosting center. But it's still not cloud. You're actually just working on a hosted application.
Logikcull: So, again, what's an example of a truly cloud enterprise cloud product?
Kolsky: There are very few. If you really think about the division of tiers, anything that runs on Amazon Web Services or on Google or on an IBM infrastructure that is a platform and that you can deliver through any interface, that's a true cloud application. It needs to have massive consumer scale. Think of something like an Uber or Airbnb. You can run it on your phone, you can run it online through a browser, you can run it through an app that you can download on your desktop if you want to, and in each instance, the experience and the delivery is the same. Everything runs on services and its hosted on Amazon or Google or something like that.
If Amazon goes down, Netflix goes down. If Amazon goes down, Airbnb goes down, right? Those are true cloud applications that deliver functionality in a three-tiered model. I had a conversation with the CIO of Pandora a little while ago, and he was telling me he doesn't know where any of his stuff is. "I don't know where my database is stored. I don't know where my platforms are. I just say, 'I need to do this' and it gets done." And that's probably the best definition of a cloud-baseed architecture you can find. It's like, you need to do something and it gets done just by getting the resources that you need from infrastructure providers and platform providers, and then you build the interface that you need and it's done.
And that's why we've seen an extreme acceleration of timeframes to deliver services. As we move to a true cloud architecture, then we can take advantage of this very quick deployment with metadata customization and interfaces that don't change much from device to device.
Logikcull: Isn't most enterprise software still on premise at this point?
Kolsky: About 80 percent is still on-premise. A significant chunk of the other 20 percent is hosted -- delivered on premise but hosted somewhere else. If you're looking at true cloud architecture applications, you're looking at low single-digit numbers -- two, three percent at most.
"About 80 percent of enterprise software is still on-premise. If you're looking at true cloud, you're looking at low single-digits -- two, three percent at most."
Logikcull: To shift gears a little bit, when Salesforce launched, they launched with "no software," right? And the initial appeal was lower cost of ownership, lower fees, better access, and a little easier to use. Perhaps the experience might have been slightly inferior for the end user because the web was still in its early stages, but it was disruptive.
Kolsky: Well, it was lower cost because of the model Salesforce chose, which is not a cloud but a hosted model. It's like, if you can control the application and the cost of running the application, and then sell access licenses to the application, you can put more people in a single application than before. In the old days of on-premises, the customer would buy 10 users or 200 users and pay the same -- you would have to pay for each of the licenses but the cost of maintenance would be the same. Companies [like Salesforce] would actually be taking the cost of however many customers they had and distributing that cost among all of them.
This is why multi-tenancy became such a thing. With multi-tenancy, you can have as many customers as you want using a hosted application. But with true cloud architecture, multi-tenancy is ridiculous because you can create single tenancy using metadata and take single tenancy to extreme levels of elasticity without really breaking a sweat. When you buy power from Amazon, for example, for a single tenancy, it's a lot cheaper than multi-tenancy because you're paying for what you use.