Even in an industry, a world, committed to hype, reality always wins in the end. Cloud computing is an example of this tenant, and what’s interesting is less the validity of the central point than the way that cloud reality is reshaping the industry. Most interesting of all is the relationship between the cloud and open-source.
When public cloud computing first came along, I did my usual industry surveys and modeling, and what emerged from the process was a couple key points. First, no more than a maximum of 24% of current applications could be justifiably ported to the cloud. Second, over 80% of the actual opportunity for public cloud services would come from developing cloud applications that had never run elsewhere. Finally, public cloud would never displace enterprise data centers to any significant degree.
What we are seeing in cloud computing today is a reflection of these points. Cloud-specific applications dominate, and hybrid cloud dominates, even now. Increased competition among cloud providers, and the constant need for differentiation, has generated a whole cloud industry of “web services” that present hosted feature add-ons to basic cloud services. This is one of the reasons why we’re seeing cloud-specific applications. Now the same forces are acting in the hybrid cloud area.
Hybrid clouds are a symbiotic relationship between enterprise data centers and public cloud services. Given that, it’s obvious that somebody with a foot in both spaces would have an advantage in defining the critical connecting features, and that has benefitted Microsoft significantly. In my surveys, Microsoft’s cloud has outperformed the competition, even though non-enterprise applications have pushed Amazon into the overall lead in public cloud services. Amazon and Google know this, and both companies have been struggling to create a credible outpost for their own cloud services within the data center.
The obvious way to create the hybrid link to your cloud service is to offer a premises-hosted element that appears to be a part of your cloud. Amazon has done this with Greengrass. Google is working with Cisco to develop an open hybrid strategy, and is said to be especially under pressure to make something happen, hybrid-wise, because of Google’s third-place position in the public cloud market. Amazon is now working its own Linux distro, Linux 2, into the game, and some say that Google is hoping Kubernetes, the popular container orchestrator that Google developed initially, will provide it with hybrid creds. Unfortunately for Google, everyone supports Kubernetes, including Amazon and Microsoft.
While the competitive dynamic in the public cloud space, and hybrid cloud impact on that dynamic, get a lot of buzz, the biggest and longest-lasting impact of the hybrid cloud may be on “platform software”, meaning the operating system and middleware elements used by applications. Amazon and Salesforce have made no secret of their interest in moving off Oracle DBMS software to an open platform, something that would lower their costs. If public cloud platforms gravitate totally to open source, and if public cloud operators continue to add web services to build cloud-specific functionality that has to hybridize with the data center, isn’t it then very likely that the public cloud platform software will become the de facto platform for the hybrid cloud, and thus for IT overall?
What we’re talking about here is “cloudware”, a new kind of platform software that’s designed to be distributable across all hosting resources, offering a consistent development framework that virtualizes everything an application uses. Hybrid cloud is a powerful cloudware driver, but working against this happy universality is the fact that cloud providers don’t want to have complete portability of applications. If they don’t have their own unique features, then they can only differentiate on price, which creates the race to the bottom nobody particularly wants to be a part of.
It’s already clear that cloudware is going to be almost exclusively open-sourced. Look at Linux, at Docker, at Kubernetes, at OpenStack, and you see that the advances in the cloud are already tied back to open source. A big part of the reason is that it’s very difficult for cloud providers to invent their own stuff from the ground up. Amazon’s Linux 2 and the almost-universal acceptance of Kubernetes for container cloud demonstrate that. Open-source platform software is already the rule, and cloudware is likely to make it almost universal.
The biggest question of all is whether “cloudware” will end up becoming “everyware”. Open-source tools are available from many sources, including giants like Red Hat. Is it possible that cloudware would challenge these incumbents, and if so what could tip the balance? It’s interesting and complicated.
At the level of broad architecture, what’s needed is fairly clear. To start with, you need something that can virtualize hosting, modeled perhaps on Apache Mesos and DC/OS. That defines a kind of resource layer, harmonizing the underlying infrastructure. On top of that you’d need a platform-as-a-service framework that included operating system (Linux, no doubt) and middleware. It’s in the middleware that the issue of cloudware/everyware hits.
Everyone sees mobility, or functional computing, or database, or whatever, in their own unique and competitively biased way. To create a true everyware, you need to harmonize that middleware, which means that you need an abstraction layer for it just as we have for hardware or hosting. For example, event-driven functional computing could be virtualized, and then each implementation mapped to the virtual model.
If we are evolving toward a fairly universal hybrid platform, then either that platform has to evolve from current enterprise open-source stuff like Red Hat, or emerge from the cloud. Proponents from either camp have an opportunity to frame the universal “everyware” of the future, but they also face specific challenges to their moves to do that.
For cloud providers, the problem is lack of unity. The cloud is not the only place applications run; it’s not even the dominant place. Not only that, differentiation- and profit-driven moves to enhance web services available to cloud applications creates not one vision of cloudware, but a vision for every provider. If enterprises who think in terms of hybrid cloud confront the issue of premises data center hosting, those who think in terms of multicloud confront the diversity of implementations for basic cloud service features.
The premises players have their own special challenge, which is that the cloud changes everything, at least with respect to application architectures and developer strategies. It’s hard to see how you could build an event-driven app in the data center unless you wanted to host stuff all over the world where your events originated. That means that the premises players have to cede the critical future development trends to the cloud providers.
The battle to control “everyware” may be the defining issue in 2018, because it will not only establish market leadership (and maybe even survival) in both the cloud and platform software spaces, but will influence the pace of cloud adoption and application modernization. This is the cloud’s defining issue for the coming year, and it will also play a major role in defining how we evolve to carrier cloud and hosted services. Keep an eye on it; I know I’ll be watching!