Java developers and architects are often faced with myriad choices when selecting a solution stack to build and deploy their cloud-native workloads. At the core, there are two major decisions, one driven by how you build your application and the other where you deploy it:
- What runtime(s) and framework(s)? The choice of runtimes and frameworks form the foundation on which to layer your applications and largely dictates what goes inside the container.
- What container platform(s)? And where do I deploy it? To move to the cloud, the choice of container platform to operationalize these workloads is strategically important.
The relationship of the container to the container platform is analogous to that of a car to the highway system:
There are several factors that differentiate one car from the other. Factors such as brand, reliability, safety, fuel efficiency, warranty, smart device connectivity, and customer service are typical considerations when choosing a car.
The same is true in this new emerging cloud-native world that runs on container platforms (Red Hat OpenShift is an example of one popular container platform). This post focuses on the first decision: What goes into the container really matters!
The programming models supported, application server design, runtime efficiency, security features, performance, observability integrations, logging/monitoring/tracing, DevOps tooling, and onboarding services/support impact development and operations alike. As depicted in the diagram below, these are all major considerations that go into choosing the right application runtime stack for your cloud-native workloads:
Continue Reading