“We use this term, ‘cloud-native application.’ What exactly is a cloud-native app?” asked VMware CTO Kit Colbert during a company presentation last April 20. The audience was made up largely of VMware employees, all of whom knew the answer. There were also press, at least one or two of whom should have known the answer. The people watching the live web stream, it may be deduced, consisted of admins and developers looking for ways to integrate new architectures with old architectures, so certainly they knew the answer.
Whom was Colbert speaking to?
Cloud Foundry, arguably the first major open source language platform-as-a-service, was born as an internal VMware project in 2009, according to Colbert. A year earlier, Microsoft had launched the original Windows Azure as a services platform around .NET. Two years before that, Engine Yard was assembling its first service platform around Ruby on Rails, back before we all decided that platform was in “the cloud.” For the better part of a decade, the ability to both develop and deploy applications on a cloud-based service has been a key component of modern data centers. The idea for how to do it right is at least over a decade old.
As Colbert tells The New Stack in an exclusive interview, he was speaking to a vast number of VMware customers to whom this idea of moving enterprise application development entirely into the cloud was introduced just two weeks ago.
When we work with or report about new technologies for an extended period of time, we tend to get the jaded impression that we’re on the cutting edge of something that’s doing a respectable amount of cutting. For some of us, to suggest that the rest of the world isn’t following along in lockstep may be, to coin a phrase, “incredibly naïve and ignorant.” “There’s such a fundamental issue within tech,” tweets BuildFax CTO Joe Masters Emison, “of building solutions that have no real corresponding problem.”
There’s an even bigger problem of building solutions whose correspondence to the problems they clearly do solve, takes a decade or longer for most folks to figure out. That was the clear takeaway from our conversation with VMware’s Colbert, who could perhaps fill us in on the view of the real world over our shoulder.
Kit Colbert, Vice President and CTO for Cloud-Native Apps, VMware: I would say the majority of the industry — not only our customers, but I would say, very few businesses — are actually there, very few.
We talk to a lot of customers, and they’ve heard about these technologies — Linux containers, microservices, and what-have-you — and are interested in doing it. But there are a lot of challenges there. We’re seeing a confluence of four different forces, really: Linux containers, microservices, DevOps, and Agile development methodologies. If you can combine those four, it’s really about creating a high-velocity organization, and being able to react to the market quickly, to deliver to customers quickly.
A lot of businesses see that, and they know that’s where they want to go — they certainly have to go, because they know their competitors will get there if they don’t. But at the same time, in many ways, this challenge is pretty big, because you’re looking at a lot of organizational challenges, organizational changes that are needed.One of the key things we did with virtualization was, we made it very easy and transparent. There’s no major process overhaul in IT; you layer in the virtualization technology, and you move a little bit faster. Everything else was working as-is, and that was great in terms of ease of use. But as we see here with the cloud-native, next-generation applications, the change is a lot bigger.
It’s not just a technology shift, going to a new type of technology shift, but actually a big organizational and cultural shift as well. I think that’s the really big challenge.
So I would say some of our customers are there, or are close to getting there. They are rebuilding and re-architecting their applications, rethinking how they do software development. But at the same time, for most folks we talk to, most folks in the industry are still very much early-days. Just running an app in the cloud, that’s great for different cost models, Opex versus Capex. But at the same time, if you’re really looking for high degrees of scale, very fast degrees of velocity and agility, that really comes from the re-architecture of the app, and the changes in the culture. Those things will take a while.
Scott Fulton, The New Stack: Here’s a quote from what you said on April 20: “There’s a lot of stuff to do here, a tremendous amount of stuff. We can’t do it all at once, can’t do it overnight. So you’ve got to focus; we’ve got to prioritize,” you said. Is the reason why it can’t be done relatively quickly, because it’s slower to get the cultural change to work than the technological change?
Kit Colbert: I think that statement was said more of a perspective of building out the technologies that the industry needs, to fully adopt and embrace these new design patterns and architectures. What I meant to say was that, we’ve got to do a lot around networking, a lot of work around storage — how do you deliver container storage irrespective of what host it’s running on? How do you do monitoring on containers? How do you manage the lifecycles of containers? How do you ensure security, compliance? I was talking about trying to operate something in production; there’s such a tremendous number of concerns there. And the reality is that, given how fast the [new stack is growing] but still how young it is, a lot of those technologies just aren’t mature enough yet.
We, as VMware, just one company, can’t possibly do anything like this overnight. We’ve got to prioritize, and really identify the key things customers are looking for … People shouldn’t consider Photon and Lightwave by themselves as any sort of end-to-end solution for next-gen apps. There are many, many things we need to do, in conjunction with our partners, in order to really satisfy all the different operational concerns around containers and next-gen apps running in production.
Scott Fulton: At Microsoft’s Build conference, Mark Russinovich, the CTO for Azure, was demonstrating some new uses for Docker containers, which Microsoft is adapting. What he was demonstrating was essentially, how to deploy a completely new class of apps using Docker Hub on a Windows Azure engine, without the need for a lot of heavy virtualization. The case there being, if you redesign all your infrastructure around microservices, then you don’t have a huge infrastructure over and beyond a simple hypervisor.
Maybe only a slight minority of businesses in the world are capable of doing that. But that being said, it puts VMware in an Oracle-like position, of having your value proposition become, “Use us, because you have to use old software.” Where does the VMware trademark come in, with respect to the new half of the architecture? When a startup company spins up applications that it doesn’t have to port over from the old world, will they be in an environment that looks very, very different from what we’ve seen from vSphere up to now?
Kit Colbert: Yea, we’ve been watching what’s been happening at Build, and kudos to Microsoft for helping their customers, giving them access to new technologies. We’re very much supportive of anything that helps their customers move faster. We’re very much supportive of Docker, and trying to drive tight integration with our vSphere and software-defined data center products.
Look, this point comes up a lot: People say, “Well, in a container-centric world, why would I need virtualization? Is it necessary or not?” People never need virtualization to run anything. You can run whatever old app you want on a physical machine; that’s always been the case. Virtualization provides a lot of benefits: operational benefits, consolidation benefits, leveraging common infrastructure.
This notion of startups not having any legacy apps, I would actually beg to differ. Pretty much every startup has tremendous amounts of legacy apps.
We talk to a lot of startups, and the thing we do find is that, some of the cloud costs can be quite onerous as that startup grows. It’s great at the beginning, because it’s easy to take advantage of, you can set up VMs instantly, you don’t need to pay for any hardware. But once you’re getting a pretty sustained set of traffic and a certain amount of scale, public cloud starts to get fairly expensive.
There’s still very good reason to use public cloud, but the point is, a lot of these startups are looking at, “How do I build an on-premise data center?” When they do that, they have to go back to all the standard questions they need to ask around, how they can operate that and do it efficiently. If you have both Windows containers and Linux containers, you’re absolutely going to need some sort of virtualization layer underneath there, some common infrastructure to simplify management and maximize utilization.
So I see going forward, virtualization still being a very key building block for these next-generation data centers, in that it provides a common infrastructure fabric and greater security and isolation, especially in multi-tenant scenarios.
Feature image via Flickr Creative Commons.