Key takeaways from our Kubernetes journal

Photo by Jessica Lewis on Unsplash

We started out building our first Kubernetes cluster in 2017, version 1.9.4. We had two clusters, one that ran on bare-metal RHEL VMs, and another that ran on AWS EC2.

Today, our Kubernetes infrastructure fleet consists of over 400 virtual machines spread across multiple data-centres. The platform hosts highly-available mission-critical software applications and systems, to manage a massive live network with nearly four million active devices.

Kubernetes eventually made our lives easier, but the journey was a hard one, a paradigm shift. There was a complete transformation in not just our skillset and tools, but also our design and thinking…


Security, load balancers, networking, memory allocation, connection management, and more

partially open laptop bathed in glowing colors
partially open laptop bathed in glowing colors
Photo by Joshua Woroniecki on Unsplash

The term DevOps has taken the IT industry by storm. From setting up CICD pipelines to managing your cloud and Kubernetes infrastructure, DevOps engineers have been at the forefront of getting these tasks done. But what really is DevOps?

Articulating what DevOps is is central to our understanding of software and systems. So let’s start by reinforcing what these two basic terms mean:

  • Software — the code we write, build, and deploy
  • Systems — everything else that helps our code run, like the infrastructure, security, networking, etc.

In the last three years, quite unbeknownst to me, I went from being…


Why you should consider Pulumi for your infrastructure as code

the Louvre museum seen at sunset
the Louvre museum seen at sunset
Photo by Stephen Leonardi on Unsplash

As someone who’s used both Ansible and Terraform extensively to manage infrastructure, I’ve continually been puzzled by the increasing number of new tools, templates, and paradigms that the software industry comes up with in the name of infrastructure as code.

Infrastructure as code (or abbreviated as IaC) really should have been that — infrastructure as code. But like most things in the modern software world, IaC was unnecessarily complicated — instead of building libraries and frameworks in languages we already knew, we gravitated towards templating languages that not only reinvented the wheel but also painfully fell short at the end.


Woes of immigrant software engineers on work visas

Photo by Levi Ventura on Unsplash

Just in the span of the last two decades, the tech industry has played a massive role in fuelling record-level global migration, to meet the demands of the modern digital world. Not only has this created pools of immense talent, but has also allowed engineers from varying backgrounds and nationalities to build a better life in a new place and call it home. …


What does the future hold for Java?

Coffee with foam design
Coffee with foam design
Photo by Jonas Jacobsson on Unsplash.

To better align with the tech stack at my new job, I’ve been reacquainting myself over the last two weeks with an old friend: Java. Not too long ago, it kickstarted my software career with unmatched zeal and vigor. This journey lasted for roughly two-and-a-half years but soon diminished with the advent of containers and microservices. Fast-forward to today, and it’s been three years now since I last wrote any serious Java code. And in all honesty, I never expected it to see it again — especially in the microservices landscape.

So, what happened? The answer is simple: The pervasive…


How to debug issues in Kubernetes when things go awry

swimmer standing at top of cliff beside the ocean
swimmer standing at top of cliff beside the ocean
Photo by Tobias Tullius on Unsplash

Kubernetes can be a tricky platform, especially when it comes to debugging and troubleshooting issues. Most of this difficulty comes from the lack of detailed error messages and the complexity of the system. Moreover, the sheer number of moving parts in the container orchestration flow — and only a handful of states to represent that flow — adds to the challenge. For instance, as you will see, there are at least six plausible reasons why a Pod could be stuck in the ContainerCreating or CrashLoppBackOff state.

Having rigorously used Kubernetes for more than three years now, we have been confronted…


If Trump were simply a stranger, the world would have shown him more sympathy

Photo by Charles Deluvio on Unsplash

It’s no surprise that the news of Donald Trump contracting coronavirus has been met with mockery. After all, this is a man who singlehandedly exacerbated the crisis and put innocent lives at risk. Even just a few days ago, at the first presidential debate of 2020 held at Cleveland Clinic, his entire family violated the rules of the venue by refusing to wear a mask. So, after everything he has done — and continues to do, should people be sympathetic at least at a humanitarian level? …


This is what I use for managing large-scale Kubernetes clusters in production

Photo by Andras Vas on Unsplash

Having managed large-scale Kubernetes clusters in production for over three years now, I wanted to share my minimalist approach to a kubectl terminal setup that’s proven to be remarkably effective, day in and day out.

A well-customized command-line terminal can significantly boost your productivity. It’s bread and butter — it’s where all the magic happens.

But in contrast to popular command-line customizations and feature-rich upgrades, I believe in a simple setup that’s frugal when it comes to installing any new binaries, wrappers, or modifications. …


Two world wars, the rise of Nazi rule, racial segregation and the invention of the Atom bomb

Photo by Rahul Bhogal on Unsplash

When I had a chance to travel into the history of Einstein’s time, I gained a new perspective of him by knowing his moral stands when some of the darkest events were at play. I interpret him as a genius in his confrontation, not only for his scientific theories but also for his stubborn stand against the racial discriminations, social hierarchies and hatred that prevailed at his time.

Albert Einstein was a scientist who broke all conventions and paradigms. He had an outlook on life that was unique and his mere instincts had the impetus to question the very fabric…


How free access to expensive quality content changed the lives of millions

Piracy played a major role in shaping the internet we know today and has surprisingly done several good deeds along the way. While we neither support nor endorse online piracy in any way, it has changed the lives of many by providing access to information and knowledge that were put behind paywalls and geo-restrictions.

At a time when the world was debating the cost of education and increasingly barring access to content online, piracy was already transforming the lives of many by opening up new doors for learning.

Image by Jonas Hasselqvist from Pixabay

Online piracy is the practice of downloading and distributing copyrighted content digitally…

Komal Venkatesh Ganesan

Engineer — Software / AI / Electronics / Technology. In pursuit of fundamental understanding of elemental physics/science | LinkedIn: https://bit.ly/2DN8rfP

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store