Within 10-20 years, virtually all computing will reside on public clouds, AWS chief Andy Jassy declared in 2015. However, even if one agrees with this prediction, getting there will involve a heck of a lot of ugly reality between now and then. That “reality” involves a roiling cauldron of public, private, and hybrid cloud services, not to mention earth-bound, on-premises servers. In the midst of that infrastructural confusion, there is opportunity for someone to provide consistency at the app layer to which developers can write.

At least, that’s Red Hat’s big bet.

I started thinking about this when Red Hat engineer Jamie Duncan castigated me for criticizing the company’s support for OpenStack. Hence, when the chance arose to have breakfast with my longtime friend, Red Hat CMO Tim Yeaton, I took it (though I brought boxing gloves, just in case). Talking to Yeaton, it struck me that the company’s support for a wide variety of enterprise infrastructure choices isn’t indicative of a preference for private over public cloud, but simple pragmatism: So long as enterprises are plagued by lumpy, diverse infrastructure, Red Hat will make money by helping them to smooth it out.

In so “smoothing,” Red Hat is actually paving the way for that same public cloud future Jassy envisions, just sometimes with cobblestones comprised of OpenStack and other less sexy infrastructure.

The enterprise is messy

If you’ve ever worked in enterprise software, you know there’s one cardinal truth: The enterprise is a morass of different software and systems, and the cloud hasn’t improved this. If anything, it has complicated matters. Even smaller companies struggle with complexity. When I worked at MongoDB, we counted up the number of different SaaS systems different departments had spun up, unbeknownst to anyone else. There were well over 100.

SEE: Are Amazon and Google the hybrid cloud advocates they claim to be? (ZDNet)

Pity the poor CIO, then, who may desperately want to dump all her apps into AWS or Microsoft Azure, but simply can’t. Like it or not, she’s going to keep spending on data centers, even as she ramps up her cloud spending, as IDC data shows:

Baby steps to the cloud

In such a world, Yeaton told me, CIOs are not blind to the ultimate public cloud prize, but they get paid to manage their IT as it is, guiding it to where they’d like it to be. Whether for governance, security, or other reasons, they may be forced, for now, to keep apps running in their data centers, yet still want to emulate the benefits of public cloud offerings. In this scenario, he continued, a tool like OpenStack becomes useful.

SEE: Red Hat’s OpenStack moment: Just like Linux in 2003? (TechRepublic)

OpenStack isn’t a final destination for most, then, and its history suggests more will be needed from Red Hat to make it a good option for its enterprise customers, yet it still can usefully serve as a transitional technology to help enterprises baby step their way toward public cloud computing (my words, not Yeaton’s). As he suggested, it’s a way for enterprises to get a degree of scale-out for apps not yet ready for public cloud deployment.

In fact, OpenStack is just one transitional technology among several. Within every enterprise you’ll find a mishmash of complementary and conflicting infrastructure choices. One department may prefer OpenStack while another has use for an AWS Lambda service, while still another isn’t even pretending to move its COBOL apps out of the data center. Under the hood of every enterprise, in other words, there’s generally a full spectrum of infrastructure fabric of varying degrees of cloudiness.

In such complexity, Red Hat sees opportunity.

Taming the infrastructure beast

That is, after all, the essence of the Red Hat business model: Amalgamate complex, diverse software components and package them as a certified distribution. Red Hat kicked off this model with Linux and has continued with middleware, storage, and more. In the cloud, Red Hat doesn’t have the ability to “package” different services like AWS or Google Cloud, but it can provide a cloud abstraction layer through OpenShift that offers developers a consistent app platform across their enterprise despite all the complex infrastructure therein.

SEE: How Red Hat aims to make Kubernetes boring…and successful (TechRepublic)

Or, as Yeaton said, “Our customers want diversity in their underlying fabric but uniformity at the app layer.” This makes sense, and I’ve sung the praises of OpenShift’s role before in modernizing how Red Hat does business. Even so, like any organization, Red Hat needs to balance the short and long term needs of its user base, and balancing the investment between its two flagship cloud technologies, OpenShift and OpenStack, will be key signals to watch. I take Yeaton’s point that OpenStack provides incremental cloud benefits to otherwise earth-bound apps, yet also believe the company needs to be constantly nudging its user base toward the future (OpenShift).

One really interesting aspect of OpenShift is that it gives Red Hat customers an open source way to maintain the flexibility to swap out underlying infrastructure, cloudy or otherwise, because the app platform becomes more important than the plumbing.

If this works as advertised, Red Hat has devised an ingenious way to rise above the infrastructure fray and become a trusted advisor to CIOs desperate to modernize. Most enterprises, Yeaton told me, are simply not ready to go 100% public cloud with Netflix-esque Chaos Monkeys running about: They’re struggling to push different apps forward, apps built upon various vintages of infrastructure. If OpenShift helps them to modernize at their preferred pace, those CIOs win.

And so does Red Hat.