Most applications start their life as a monolith. It is quick and easy to make and deploy changes. But if your application finds success and grows quickly, you will soon need to find ways to scale it. It is time for Kubernetes now? Not probably.
Kubernetes is an orchestration tool for containerized applications. Starting with a collection of Docker containers, Kubernetes can control resource allocation and traffic management for cloud applications and micro-services. It is responsible for:
Before you decide to split apart your application, there are a number of tactics you can use to scale. Spend a significant amount of time trying to solve your existing problems before making big changes. There are two types of scaling for monolithic and micro-services.
Scale-Up (Vertical way) It’s very simple in action, this method just adding more hardware resources such as CPU, RAM, Disk Space to the server to handle the requests.
Scale-Out (Horizontal way)
It refers to adding more instances (VMs) to handle the requests. It’s a point that driving us to the Kubernetes.
If you do not intend to develop anything complex for a large or with high computing resource needs (e.g. machine learning applications), there is not much benefit for you from the technical power of Kubernetes. There is no easy answer if adopting Kubernetes is the right choice for you or not, in some situations Kubernetes is a really great idea, Kubernetes might be useful if you need to scale a lot but in others it’s a time-waster with no benefit.