The original idea behind J2EE was as simple as it was compelling. “Write once, run anywhere” promised customers a layer of abstraction which would provide independence from underlying operating system and hardware layers, and thus, in theory, vendor substitutability. In practice, “write once, run anywhere” was as aspirational as not, with providers of J2EE middleware constantly in search of features that might provide the customer lock-in the market had trained them to crave. Aspirational or no, however, customers bought into the vision, as companies like BEA rode the middleware market to $8.5B valuations.
Oddly enough, however, multiple runtime PaaS platform providers like Red Hat (OpenShift) and VMware (Cloud Foundry) appear to be discinclined to borrow from the middleware playbook. While “write once, run anywhere” mantra may be a tired cliche, the similar functional goals would seem to offer the opportunity to more easily position PaaS platforms within enterprises. Overall, the idea behind PaaS is the same as it once was for J2EE: to containerize applications, thereby making them portable across different environments, regardless of the underlying infrastructure. Neither Cloud Foundry nor OpenShift seems eager for the comparison, however.
OpenShift.com, for example, says that users can “enjoy support for a broad choice of languages, frameworks, middleware, datasources, and developer tools” – the obvious implication being that OpenShift is not, itself, middleware. CloudFoundry.com even more aggressively disavows any relationship between itself and the term. From its FAQ page:
Cloud Foundry allows developers to focus on applications, not machines or middleware. Traditional application deployments require developers to configure and patch systems, maintain middleware and worry about network topologies. Cloud Foundry allows you to focus on your application, not infrastructure, and deploy and scale applications in seconds.
In spite of the functional similarities, then, neither Cloud Foundry nor OpenShift is positioning itself as middleware. To some extent, this may be explained by product portfolios as both Red Hat (JBoss) and VMware (Spring) have existing middleware lines of business, and terming their respective PaaS offerings as middleware would complicate marketing efforts. It is not clear, however, that an attempt to persuade customers to see PaaS as something other than middleware will be successful. Nor that this is the correct approach. Our old colleague Michael Cote’s “burger model” – which characterizes PaaS as middleware – has proven quite popular in various talks and webinars, because it’s easily understood. And technologies that are well understood are easier to sell.
Ultimately, if it looks like middleware and acts like middleware, it probably is middleware – whatever the vendors may assert. PaaS, in other words, is the new “write once, run anywhere.”