MICROSERVICES DEPLOYMENT USING DOCKER AND KUBERNETES SOFTWARE
Kubernetes provides the software necessary to build and deploy reliable and scalable distributed systems.
Some of the advantages of Kubernetes are listed below: Kubernetes is suitable not only for Internet-scale companies but also for cloud-native companies, of all sizes. Kubernetes was originally developed by Google to deploy scalable, reliable systems in containers via application-oriented APIs. These applications may be of different sizes and shapes. It is also defined as a platform for creating, deploying and managing various distributed applications. Kubernetes is an open source orchestrator for deploying containerised applications (microservices). What is Kubernetes and why should one use it?
The Docker daemon (generally referred to as dockerd) listens for Docker API requests and manages Docker objects such as images, containers, networks and volumes. Figure 1: Docker container architecture Various components of the Docker-container architecture The architecture diagram of Docker-container in Figure 1 shows how each of the individual components are interconnected. A container holds an isolated instance of an operating system, which is used to run various other applications. They look like lightweight VMs but that is not the case. Containers can be easily shipped, built and deployed.Ĭontainers are an encapsulation of an application with its dependencies.Containers make our applications portable.The container platform is used in a concise way to build Docker (which is one of the container standards it is actually a static library and is a daemon running inside the Linux OS).Containers are more lightweight compared to virtual machines (VMs).Some of the advantages of containers are: Name space and control groups (process level isolation).Ī brief history of containers is outlined in Table 1.During the initial days, LXC (Linux container) was very popular and was the foundation stone for the development of various other containers.Only the required libraries get installed in their respective containers.Some of the features/characteristics of the Linux OS that help container development are: This has led to the development and enhancement of various container technologies. The Linux operating system has become very stable now and is capable of cleanly sandboxing processes, to execute processes easily it also comes with better name space control. Here’s a quick look at why these are so useful today. Microservices structure an application into several modular services. Kubernetes is an open source orchestration platform for automating deployment, scaling and the operations of application containers across clusters of hosts. Docker is an open source platform that’s used to build, ship and run distributed services.