Member-only story
How to have “Zero-downtime” of your services — Deployment using Kubernetes
Deploying Model-As-A-Service and then managing it via Supervisor and Nginx was one of the way to deploy your model with zero-downtime. In the same, Supervisor is responsible for automatically running computer programs(service) in priority defined basis and Nginx is responsible for load balancing in either round-robin or FCFS manner, that takes care of the equally distributing load of work to all services running on a server.
But do you know there is way of deploying your services with multiple replicas, load balancing them and making sure of Zero/No-downtime; which we are going to explore in this post using an orchestration system known as Kubernetes. Lets explore.
Kubernetes
It is an open-source system for automating deployment, scaling and management of containerized applications.
We know that docker has solved the problem of packaging, deploying and running containerized applications that uses concept of :-
- Control groups
- Namespaces
Docker is great for running few containers on few machines. But what if a docker container dies due to some OOM error or else. Our application just vanishes and we need to manually run the container again. We know today is the…