Trying to build microservices without Kubernetes?
“We already have CI/CD in place… builds and deployments are already automated… what else do you need?”, the project manager was confused by the team’s demand for further automation for load balancing and failovers.
A few months ago, a huge effort began to redesign the existing monolith application into lightweight micro-services. The team worked smart and hard, and the microservice-based application was seamlessly rolled out.
Then began the live app woes – in a cobweb of about a hundred micro-services, some tiny service would call it a day and bid goodbye without caring about its duties, which in turn led to the failure of some workflows and the end-users complained. The team worked in a firefighting mode for some days but soon realized that they needed an automated solution for it. And that was the topic of their discussion…
It’s a common problem, and thankfully, Kubernetes comes to the rescue! The name Kubernetes originates from Greek, meaning helmsman or pilot. K8s as an abbreviation resulting from counting the eight letters between the “K” and the “s”. Google open-sourced the Kubernetes project in 2014.
Kubernetes facilitates declarative configuration and automation for managing containerized workloads. It takes care of scaling aka load balancing needs of the application plus failover, service discovery, storage orchestration, and much more! It functions over and above the normal CI/CD – it runs on the production machine, VM or a set of VMs called nodes and handles day-to-day operations of distributed systems. You do not worry about a failing microservice in the middle of a workflow anymore!
Micro-services and Kubernetes are a match made in heaven! The duo helps save developers from mundane tasks of restarting services or creating multiple container instances during peak hours.
Have you worked with a containerized application running on a Kubernetes cluster? Please share your experience in the comments section.