Happy 7th Birthday Kubernetes, Background Photo by Jason Leung on Unsplash

Who Should Care About Kubernetes and Why

Kubernetes has just turned 7, Happy Birthday !
Kubernetes is one of the fastest growing open source software projects in history. Google started to opensource the project on June 6 2014, and since then it has more than 2.5M Contributions and more than 275K commits so far, Check More Stats here. It has contributions from more than 3000 companies, led by Google and Red Hat, as well as individual contributions from more than 200 countries across the globe.

That sounds promising, but why should I care?

Kubernetes has many technical benefits that help you and your organization to orchestrate and automate container deployments either on-prem or in the cloud. It's extensible with a lot of add-ons and a rapidly growing eco-system that makes the adoption fits in many environments. It helps you run your applications in a distributed environment and takes care of scaling and failover with multiple deployment strategies ...

Ah.. I think I got you, may be that's not the kind of answer you're looking for, let's try it from an individual perspective, but to know that let's break it down a little depending on who you are ..

Why should a developer care about Kubernetes?

Developers has a lot of day to day issues, and with the development sprints are getting shorter and the pressure from the product owners on developers to deliver faster. They tend to focus more on their dev environment and specially what happens within the IDE. This is where I write my code, run my unit tests and debug. Isn't it? and specially if you are working within an enterprise environment so probably you are already covered with all the automation tools that takes care of your code once you commit it.

The Logo on your Resume

I was hesitant to put this as the first point actually, but let's be honest, this could be one of the main drivers for you as a developer to learn and know Kubernetes.
Most of the big companies now are running their applications or modernizing their applications to run in containers and having a developer who has the knowledge about the platform which runs those containers is an add-on for sure. So you are either a good candidate to join their team or your the future resource that they are looking for to help accelerate their journey to the future. It also shows how much you're up to date and how much you invest in yourself.

Invest in yourself

Let's start from the last thing mentioned above. Don't just rely on having the logo on your resume. Learning new technologies can really bring you to the next level. If you're happy with what you're doing now, you are probably thinking about what could be your role in the future. A Senior, Dev Lead or an Architect, those roles won't come to you when you're just focussing on your code, you need to be up to date. Cloud, DevOps, Containers and Kubernetes are future proof to your career growth and having those tools in your tools box will help you grow more and more.

The New Application Server

Kubernetes are mostly referred to as the new application server. Knowing where your applications will run and what are the new tools that the platform provides can help make building your application easier and faster which will make you shine in your team and in the market as well. You're probably familiar with EAP or Web Sphere and how to configure them to run your application. You can think of Kubernetes as the new application server that you need to learn about.

Debugging and Fixing your code

Containers allow our applications services to be immutable. We build once and run anywhere, but how do we see our application metrics? How can we debug an application that runs in different containers distributed among multiple servers? How can we detect failures in our application before we hear complaints from the customers? The eco-system of Kubernetes includes a lot of tools that can help in all those situations and even your familiar tools that you already used to do such functionality for you are now running on Kubernetes, so why not you?

DevOps

The DevOps is not that team working closely with you to automate and deliver your applications. DevOps is a set of practices built to remove barriers between Developers and Operations and let them work hand in hand to deliver faster, better and more resilient applications. Kubernetes adhere to the DevOps practices and provide a platform with lots of tools to implement those practices, and understanding Kubernetes will make you understand how other teams work and lead to better communication.

12 Factor Methodology

If you're working with microservices and SAAS, you are probably applying the 12 methodology to deliver your work. Separating your code from configuration will make your code more portable and Kubernetes provides you with multiple ways to achieve this, other factors like logging, concurrency, port binding, and disposability can be part of a platform like Kubernetes when configured with the right add-on tools.

Replicate Your Environments

Kubernetes can help you replicate and create multiple similar environments with few commands. Building new environments doesn't mean that you have to open multiple tickets and wait for hardware or even VMs to be configured. You can even build a production like environment automated with few commands

Why Should an Admin, or Infrastructure Operations Care?

I was thinking this should be more obvious than the developer section above, but I found that the role name and responsibilities differ from one organization to the other. So I am trying to combine multiple roles in one category here.

The Natural Role Evolution

If you are an admin, infrastructure or operations team member, you probably worked with physical servers, Virtual Machines and now it's time to add to the mix containers. As much as this abstraction is making your colleagues' life easier, it's adding more on you to understand those new platforms. How do they work? How to Install and how to operate.

Integration

Kubernetes is not an all inclusive traditional platform, which means you still need to add a lot of integrations to fit your needs as well as your organization needs. This puts you in a position to not only understand Kubernetes but to know more about its eco-system and what tools that can fit your needs.

Independance

You may already have started to certify on one of the public cloud providers to keep up with the new cloud technologies. That's great, but those are still limiting you to one cloud provider, and can make your options limited. Learning Kubernetes which is now offered in all major cloud providers will make you more open to opportunities to work with any of the cloud providers and with on-prem solutions that implements Kubernetes

The New Linux

If you think learning Linux has opened a lot of opportunities to you so consider learning Kubernetes being know as the new Linux, as an open source, vendor free, multi-distribution with diverse fast growing community

Lead the Herd

If you work in an organization where the dev team is trying to deliver fast and make use of the top notch technologies like Serverless, Service Mesh etc.. Learning Kubernetes and projects like Istio, Linkerd, KNative, Kubeflow, etc.. will put you in a position to adopt those technologies faster and lead not just your team but your organization through their digital transformation journey.

Is That It? Anyone Else?

Actually the list is long, and maybe the list of who should not learn Kubernetes can be much shorter, if it will exist, but here are a few more roles ..

Automation

If you're working with IaaS and how to automate building infrastructure whether on the cloud or on-premise, Kubernetes is gonna be on your list to automate creating clusters and destroying them. Going to the edge those clusters will be created and removed as we deal with containers currently and you should have the skill to know how to deal with this.
If you automate the code from development to production. The list of tools that are already available to work on Kubernetes is not small and most of the legacy tools are now offering container native tools that benefit from Kubernetes and you have to be up to date on this.

Security

You may think that you are not part of the mix. Wrong, you are, and actually you are gonna be involved more not just from the code, integrity and networking perspective but from the vulnerabilities, how to detect and how to mitigate them. The number of tools that are available to help you do your work and automate it in DevSecOps practices is increasing everyday and understanding the platform will help you know more.

Managers, Directors, Execs

You're probably more strategic in understanding the technologies and find the right resources who can help you transform your organization and digitize the work. You need a platform that is open-source driven, with a variety of eco-system tools and available both publicly and privately if needed.
You want to be able to find the resources in the market when you need them and don't be locked with platforms or solutions that are limited. You need a future proof technology that can accelerate your work with high efficiency and give you the room to grow more.

Summary

The list of personas who should care about Kubernetes is getting bigger and bigger every year. The depth of knowledge everyone needs to know may vary and for sure will and it's up to you how deep you wanna go, but after 7 years of proven success to Kubernetes and its eco system, there is no excuse to skip it.

Let's connect