What is Kubernetes?
Kubernetes is used to orchestrate containerized cloud-native microservices apps.
The applications that we are building on the web are changing quite a lot. We used to just pack everything up like a monolith application and just throw them on the servers. Now things are moving into a different definition and moreover in that part of our definition of microservices, where each application is not just built once it's being built by different teams some team is defining about how the product should be displayed some team is working on how orders are gonna be placed some team is working that how the authentication flow is gonna be working and they are in communication with each other but are kind of independent with each other these are known as microservices.
Now not only microservices, we are moving towards an era where we want to containerize all these applications, in simple words we design our application and we package it up and we package it in a similar way that not only just the application code but all the dependencies and even some part of os which are absolutely required to run it actually move along with the application. One of the common terms we have seen with them is docker, but that is not alone the containerization application, we have container d and a whole lot others as well.
Now we understood how the applications are designed and how we are containerizing them but where does Kubernetes come into the picture in all of this..??
Let's break down this entire definition and we will understand it one by one. So we're going to break down the definition ie:- "Kubernetes is used to orchestrate containerized cloud-native microservices apps."
First, we are looking into orchestration. Orchestration is simply nothing much more than managing our application
ie:- The management of an application requires or involves the deployment of the application maybe we want to scale it up maybe we want to scale it down maybe we want to have it self-healing and by the time self-healing means if some of that applications go down another instance should automatically be there and apart from this we can also have some rolling of updates and maybe roll back if something goes wrong so this whole management thing is known as orchestration, which is one of the key points in the definition of Kubernetes
Another one is containerized, it's a whole concept of packaging Our application and putting that on the cloud so the app runs that in the container are termed as containerized application
The next one is cloud-native, in simple words cloud-native applications are applications designed in a specific way so that they can scale it up and scale it down we can launch as many instances as we want and as less as we want now.
obviously, at first look, it looks like our regular application can also do that but if we take a bit more advantage of the scalability and horizontal scaling of the application it will make much more sense, and thus the applications which are specifically designed for the self-healing concept or rolling updates back and forth these are known as cloud-native applications.
Finally the microservices, an application that is built from a lot of independent small specialized part that works together.
For example, we might have an authentication service we might have a place order service, we might have a payment gateway service and there can be more something like a review posting service there can be search products there can be a whole lot of things.
So now we understood this management of all these kinds of specialized applications needs a special tool that can monitor all these things and thus comes into the picture of Kubernetes.
Kubernetes is basically a management tool for all of our containerized applications so that we can play around on the cloud but not only that, the specialty of the Kubernetes lies with this infrastructure.
Kubernetes is a tool that was designed so that we can be cloud independent, today we are love AWS but tomorrow we might not, we might want to move into google cloud, or maybe our own cloud. Kubernetes makes it possible that we are independent of the cloud lock and we can move on to any cloud infrastructure without worrying about anything, all of our orchestration is going to move along with us, all of our applications are going to move along with us and thus Kubernetes is so much in popularity and demand.
Comments
Post a Comment