When Kubernetes started to gain prominence around 2016, a lot of people were exposed to a concept that is fundamental to a lot of fundamental algorithms yet has little real life adoptions — Reconcilers. A reconciler is a piece of a code that, at its very least, simply synchronises two different states. The even more fundamental principles it puts into action is eventual consistency, something that has been used in several implementations like Swift file system. Most distributed systems rely on one or the other form of eventual consistency.
Kubernetes is a crucial part of our infrastructure. We don’t just deploy applications on Kubernetes in production, but we also use it heavily for our CI/CD and developer infrastructure. While developing our CI/CD infrastructure, we dealt with a particular performance issue of our dev and CI environments taking up a lot of time to spin up.
In this article, we will attempt to go deep into the issue that degraded performance of our applications and how we finally solved that issue.
With the COVID19 expanding at a unprecedented rate, a lot of small businesses are affected, especially those that rely on a brick and mortar model for sales. During the quarantine I decided to explore the idea of making a hyperlocal ecommerce app that can help small business with sales during this period.
The goal is to keep a minimal tech stack that reduces the cost of the application, while keeps the spirit of a simple clone. We don’t need to implement features that large providers like Amazon or Grofers need for their operations. I decided to go ahead with Flutter…
I first heard about Kubernetes in 2016. When Docker was the new boom, Kubernetes was introduced as a prototype system to manage containers.
Though I was unsure of getting into it, I passed it at that time as I was content with containers and didn’t need any orchestration.
However, when I did start working on Kubernetes, I found it pretty exciting. But there were certain aspects of Kubernetes that bothered me. These aspects were buggy and didn’t work as intended.
Upon diving further, I found that the entire ecosystem was written in Golang. …