Ready to BE Inspired?
Dive into our world of tech innovation with 'BE Inspired,' a series where we share our journey, knowledge, and lessons learned across various technological frontiers.
In the rapidly evolving world of IT infrastructure, efficiency and automation are key to staying ahead. At Bejoynd, we strive to streamline our operations, constantly seeking ways to improve and reduce manual workload. This philosophy led us to transition from a self-managed Kubernetes cluster to Amazon's Elastic Kubernetes Service (EKS), a move that has transformed our approach to infrastructure management. Here, we share the insights and experiences from this journey.
Streamlining Operations: Transitioning from Self-Managed Kubernetes to EKS
I once heard a motto: "Kill your own business." This was said by someone working in IT support, and the idea was to make as many improvements as possible now to ensure less work later. I found this concept so compelling that I try to live by it. If I can automate a task in such a way that I'm no longer needed for it, I will. In the end, this approach gives me more time for productive tasks.
This leads me to today’s topic: moving from a self-managed Kubernetes cluster to Amazon's Elastic Kubernetes Service (EKS). It has been an interesting journey, filled with both challenges and triumphs. And, as with all good journeys, it ended in a better place than it started.
Why Make the Switch?
We faced two main issues: maintainability and cost. Self-managing a Kubernetes cluster can be fine, but it involves understanding a lot of moving parts to troubleshoot issues, not to mention handling upgrades. Cost was also a factor, as maintaining servers for the control plane adds expenses without directly contributing to our workloads.
Exploring EKS
We started looking into EKS to address these issues. EKS eliminates the need for dedicated control plane servers, effectively taking over this role. This change reduces costs by removing the need to maintain control plane servers. From a maintainability standpoint, it significantly reduces headaches. Troubleshooting has become almost unnecessary as EKS has been working flawlessly, and upgrades are now simple and nearly painless.
Challenges and Solutions
Did we encounter any issues? Yes, but none were insurmountable. The first challenge was modifying our "Infrastructure as Code" toolset. We had to rework our definition files several times. Additionally, our manifest files needed to be compatible with both the old and new clusters. Thanks to our templating system, this was straightforward—we just added a flag and some if-statements to the templates.
The Outcome
So, has this "killed our business"? In a way, yes. By spending less time managing the cluster, we can now focus on more important tasks. Previously, small networking hiccups could lead to complex issues that were hard to trace. Now, we don't have to spend days carefully handling upgrades.
Stefan Axelsson
DevOps Engineer