You Might Not Need Kubernetes. Or Containers.

Uncategorized

Kubernetes is a topic that is frequently discussed in the development community, especially as the IT landscape increasingly shifts towards cloud and microservices. However, it’s crucial to evaluate whether it is genuinely indispensable for your environment or just another case of the next ‘new and shiny’ object capturing attention without substantial benefits. In this blog, we’ll delve into the reasons why Kubernetes might sometimes fall victim to the hype and explore whether it is the right fit for all scenarios. 

The standard description of Kubernetes defines it as an open-source container orchestration system for automating application deployment, scaling, and management. Kubernetes operates with containers, the successors to Virtual Machines (VMs), providing more efficient resource utilization on your hardware infrastructure. It therefore addresses the need of managing computing and networking resources to deploy large amounts of containers across multiple hosts. The core function of Kubernetes then, is for managing massive workloads deployed as container clusters.  

For a lot of companies, developer resources are limited, resulting in a constant need to focus developer time on delivering business value rather than managing complex tools like Kubernetes. For most such companies, Kubernetes is an overkill as the application at hand is nowhere near one that can take full advantage of all that Kubernetes has to offer. In such cases, the cost of managing Kubernetes far outweighs whatever perceived benefit it brings. From an economic perspective, such companies would do well spending their limited resources on their core business proposition.  

Payara Cloud — our managed cloud platform — is aimed specifically at providing managed runtime Jakarta EE and Eclipse MicroProfile applications. If those are the kind of applications that are being developed in your company, then utilizing Payara Cloud would be a more suitable option than Kubernetes. 

As an example, the following are roughly the steps you need to perform to deploy Kubernetes cluster hosting Jakarta EE applications: 

  1. Install Kubernetes cluster – either manually or use managed solution from a cloud provider. 
  2. Provision appropriate user accounts and permissions for your developers. 
  3. Provision appropriate network ingress controller and load balancers to allow external access to your application. 
  4. Provision and configure a container registry to store your application images. 
  5. Provision appropriate monitoring and logging solutions to monitor your application. 
  6. Prepare your application to be deployed as a container image. 
  7. Create appropriate Kubernetes manifests to deploy your application — Deployment, Service, Ingress, ConfigMaps, Secrets, etc. 
  8. Incorporate previous two steps into your build process. 

None of above steps are necessary to do, and to learn about, if you are using Payara Cloud. If your applications are Jakarta EE Web Applications and are configured mostly with MicroProfile Config then your current build output can be directly deployed to Payara Cloud and accessible over network with few clicks. 

Log collection and elementary metric collection is also available, and access of team members to the applications can be managed through Payara Cloud’s user management (Coming January 2024). 

There are of course other services that offer other container orchestration solutions, such as AWS ECS, Azure Container Instances, or Google Cloud Run. Yet these still require you to re-package your application as a container image and figure out the configuration and monitoring options. 

Kubernetes proves invaluable when dealing with numerous containers and requiring automation for their seamless orchestration. However, for smaller businesses with a more focused scope, the adoption of Kubernetes may not be necessary or suitable. Several tools, including Payara Cloud, offer the benefits of Kubernetes without the steep learning curve. 

But do not take my word for it, sign up for a free Payara Cloud trial and see for yourself. 

Comments (0)

Post a comment

Your email address will not be published. Required fields are marked *

Payara needs the contact information you provide to us to contact you about our products and services. You may unsubscribe from these communications at any time. For information on how to unsubscribe, as well as our privacy practices and commitment to protecting your privacy, please review our Legal & Privacy Policy.

Related Posts

4 minutes
Uncategorized

Leading the Way: Payara Platform Community 7 Beta Now Fully Jakarta EE 11 Certified

We’re excited to announce that Payara Platform Community 7 Beta application server is now fully certified as Jakarta EE 11 […]

What Is a Java Application Server? A Short Guide 6 minutes
Jakarta EE

What Is a Java Application Server? A Short Guide

Enterprise Java applications power global commerce, healthcare, government and countless other industries. These systems must be scalable, secure and […]

How to Build Cost-Effective Cloud Architectures 4 minutes
Cloud & Microservices

How to Build Cost-Effective Cloud Architectures

Cloud adoption has transformed how developers build and scale applications, but it also brings new challenges in controlling costs. As […]