Most of the monolithic applications that enterprise IT organizations are looking to deconstruct into more manageable microservices are written in Java. As that process gets underway in earnest, however, the two leading stalwarts of the Java world, Oracle and IBM, are finding themselves significantly challenged by Pivotal.
Pivotal, a unit of Dell Technologies, has seen a surge in adoption of its Spring framework for developing cloud-native applications written in Java that are deployed mainly on a distribution of the Cloud Foundry platform-as-a-service (PaaS) environment Pivotal curates.
James Watters, senior vice president of product for Pivotal, attributes much of the success of the Spring framework to Spring Boot, a simplified instance of the Spring framework Pivotal developed to hasten the development of production-ready applications. Within in that context, Watters notes that almost all the microservice applications built using Spring comply with the Open Containers Initiative (OCI) specification. There is even a function capability within Spring that makes it feasible to extend applications developed using the framework out to a serverless computing environment.
Watters also notes that surprisingly, a majority of those cloud-native applications are being deployed on private clouds—a fact he attributes to the rising popularity of the Pivotal distribution of Cloud Foundry. However, Watters expects in time to see more federated deployment of Cloud Foundry across hybrid cloud computing environments.
Of course, there’s no law that says IT organizations need to continue to use Java at all. They could opt to turn legacy Java applications into microservices using different programming languages altogether. But most developers and the organizations they work for prefer to stick with what they know. Todd Moore, vice president of open technology at IBM, notes that while IBM plans to continue investing in Java—most notably in the form of a Java 9—enterprise IT environments are lot more polyglot in terms of the number of programming languages being employed. Because of that issue, he says, the ability to leverage a common set of runtime capabilities via an OMR project being spearheaded via the Eclipse open-source integrated development environment (IDE) project will prove critical. While OMR has its roots in code developed for Java 9, it enables Ruby, Python and other programming languages to share a common runtime. In a similar vein, Oracle has already outlined its strategy for supporting multiple programming environments using a common microservices runtime that can be deployed on-premises or in the cloud.
It’s still too early to say what role Java—or, for that matter, any other programming language—will play in fostering the development of microservices. The one thing that’s sure is there are more programming languages actively being used now and into the foreseeable future than any time in the history of IT. Of course, decisions concerning what frameworks to employ will come down to how much an organization leans toward a particular programming language. In the meantime, most IT organizations are already hard at work deconstructing as many monolithic applications as they possibly can, regardless of what programming language they were developed in.