Kubernetes already has a good reputation as an orchestration platform for containers and microservices, but one developer advocate is taking things a step further, observing that it make take the place of many application servers.
Kubernetes and related projects, such as OpenShift and Istio, "provide the non-functional requirements that used to be part of an application server," states Rafael Benevides, director of developer experience at Red Hat. He notes in a recent DZone post that the combination of Kubernetes, OpenShift and Istio, which are not attached to any specific language, not only "encourage the use of the best technology/language for each use case," but provide a more rapid alternative to typical application servers that have come on the scene over the past two decades.
"The real benefits of containers happen when you need to add enterprise capabilities to your application," Benevides states. "And the best way to provide these capabilities to a containerized application is by using Kubernetes as a platform for them." Such capabilities include service discovery, basic invocation, elasticity, build and deployment pipelines, and monitoring.
There's still going to be a place for application servers in software development, which are "mutating into becoming more like frameworks," Benevides continues.
There are several reasons why Kubernetes is so popular at development shops, according to Ramon Guiu, VP of product management at New Relic. In a Q&A posted at JAXenter, he notes that Kubernetes "was built for scale. The developer community readily turned to it because of the proven success of Google having used it for their own services at their massive scale."
The ability to manage a microservices architecture is also key to Kubernetes' popularity. The platform "makes it easy to deploy and operate applications based on a microservice architecture by getting the API right and provides a good level of abstraction," Guiu states. It's extremely adept at controlling application resource consumption through load management and moving to new hosts.
Then there's the whole cloud angle. Kubernetes has "quickly become the central container orchestration engine for most major cloud providers, including Amazon Web Services, Microsoft Azure, Google Cloud Platform, IBM Cloud, and Red Hat OpenShift," Guiu states. "With services like Amazon EKS, Azure Kubernetes Service, and Google Kubernetes Engine the developer experience is becoming more seamless and doesn't require a developer to install, manage, or operate Kubernetes clusters. We're going to see further innovation here so that a developer can just drop an application and run it in Kubernetes without having to build the Docker image."
Finally, there's the key role Kubernetes is playing in DevOps culture, making it easier for IT shops to support continuous integration/continuous delivery efforts, Guiu states.