Are you a data professional and curious about Kubernetes but not quite sure what type of opportunities are available? Maybe you’re hesitant because you think Kubernetes is a “fad”? Or perhaps you’re just starting out in IT and don’t know what path to take?
Whether you are new to IT, or a seasoned IT professional, pondering these questions can be exhausting. In this blog post I will go over the importance of learning Kubernetes and how it can massively level up your career!
First, a little primer.
What is Kubernetes
By now, chances are that you have heard of Kubernetes. (I mean, that’s why you’re here right?) It has something to do with containers, right?! In short, Kubernetes is a container orchestrator.
Here is what Kubernetes.io has to say:
Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation.
And this is what Wikipedia has to say:
Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management.
So why is this important? Before we get into that, let’s talk a little about the history of Kubernetes and how it came to be…
Brief History of Kubernetes
The idea behind Kubernetes, or its underlying technology, is not new. Google has been using container orchestration for over 10 years. Google built a technology framework called Borg that is the predecessor of Kubernetes. A bunch of the people who worked on Borg also worked on Kubernetes. Here is a little description on the history from Kubernetes.io:
Kubernetes traces its lineage directly from Borg. Many of the developers at Google working on Kubernetes were formerly developers on the Borg project. We’ve incorporated the best ideas from Borg in Kubernetes, and have tried to address some pain points that users identified with Borg over the years.
Kubernetes objects like Pods, Services and Labels all came from Borg. Very interesting!
Why is Kubernetes important?
Kubernetes is extremely important in a time of Agile application creation and deployment, continuous development and integration. In a “DevOps” world speed of application deployments, scalability and availability are crucial to success. Kubernetes helps do that beautifully by providing the framework for load balancing, storage orchestration, automated rollouts (and rollbacks), and self healing. I highly recommend reading, “Why you need Kubernetes and what it can do” as it lays down the multiple benefits of running Kubernetes for container orchestration.
How Popular is Kubernetes?
When it comes to container orchestration Kubernetes is the big “cahoona” in the market. There are countless surveys online that point to Kubernetes adoption on the cloud and hybrid going up by double digit year after year. Below is one small example of that growth. You can read more about the Datadog survey here:
Here are two additional blogs posts that go in more detail:
- Kubernetes jumps in popularity (ZDNet)
- The Cloud Native Computing Foundation (CNCF) Survey 2019 (CNCF)
Whether containerized applications are being used on-premise, hybrid or on the cloud, one thing is for sure; the lion’s share for container orchestration is Kubernetes.
Companies that offer a managed Kubernetes service
The massive rise of Kubernetes adoption is sort of like a phenomenon. It seems like every technology company offers a managed Kubernetes service.
Below is a sample list of the big players:
Google GKE (Google Kubernetes Engine)
Amazon EKS (Elastic Kubernetes Service)
Microsoft AKS (Azure Kubernetes Service)
IBM CKS (Cloud Kubernetes Service)
Alibaba ACK (Container Service for Kubernetes)
The beautiful thing about this is that the same companies above are also offering additional services that were built atop Kubernetes. This means that not only does Microsoft (for example) offer a managed Kubernetes service (AKS) that you can create Kubernetes clusters, deploy applications, etc. but now it *also* offers another brand new service called Azure Arc (not generally available at the time of this posting). In addition to Azure Arc, and I’m being a little biased here, SQL Server 2019 offers Big Data Clusters which was built atop Kubernetes.
Even other industry big players are coming out with their own services like VMware and Tanzu or IBM Red Hat and OpenShift. VMware’s Tanzu has a whole portfolio of different Kubernetes services. One of them that is similar to Azure Arc is Tanzu Mission Control which can control multiple provider Kubernetes clusters (see the image below taken from VMware Tanzu website):
As you can see, there are different providers like AWS, Azure and Google. Pretty neat! IBM OpenShift is a paid enterprise level support version of Kubernetes. So if you’re running RedHat Linux, and want enterprise support, you can go with OpenShift Dedicated. If you’re a Microsoft shop, there is the option to go with OpenShift on Azure. The screenshot below shows the different options you can go with.
Jobs involving Kubernetes
All the services mentioned above need people that know Kubernetes in some shape or form. If you’re interested in taking your career down the path of Kubernetes then you will have a wide range of options to choose from.
Here are a few jobs that are in the Kubernetes field:
- Site Reliability Engineers (SREs)
- DevOps Engineers
- Product Managers
- Product Marketing Managers
- Cloud Solution Architects
- Software Developers
So whether you are a software engineer, DevOps engineer, or looking to get into Product Management, there is (and will be) a huge requirement for individuals who are versed in Kubernetes. It’s great that major tech companies are offering their own managed Kubernetes services and tons of business across a wide range of industries are adopting Kubernetes. The demand for people who are versed in Kubernetes will only sky rocket in the near future. The more that companies adopt Kubernetes the higher the need for those people who can install, deploy, configure, troubleshoot it.
One thing to remember is that these big companies are offering a “paid” version of Kubernetes with enterprise support etc, but the end-user (DBA, DevOps, SREs, etc) will still need to know the basics of Kubernetes.
Since this blog post is not meant to teach you Kubernetes, I do want to leave you with a couple resources. These resources taught me a ton about Kubernetes and eventually led me to get my CKA (Certified Kubernetes Administrator) certificate.
Resources
Two of my friends are Pluralsight authors and their Kubernetes content did an outstanding job breaking down concepts for the beginner. If you are new, I highly recommend checking their courses out on Pluralsight:
Anthony Nocentino’s courses on Pluralsight
There is one course on Udemy that focuses on passing the CKA (Certified Kubernetes Administrator) exam. It covers the entire exam topics, and includes practice exams, labs and mock exams. I took this course and spent about 3 months going over the practice exams, lab and mock exams:
Certified Kubernetes Administrator (CKA) with Practice Tests
Feel free to reach out to me if you have any questions or leave a comment below. I hope you are as excited as I am to level up your career with Kubernetes! :)
great post! thanks
Thank you Antonio!