Developers wanting to upskill, or possibly even tackle a new job can make the shift into the automated container deployment, scaling, and management of Kubernetes.
Even developers who do well know new skills can help them negotiate a pay rise and make them more attractive to other companies. And the hot tech to learn now? Kubernetes.
It’s still uncertain how long most tech companies will keep their staff working from home, and the possibility of making the transition permanent has been floated at many businesses. And whether there’s a return to the traditional on-site offices or if telecommuting full time is the norm, skilled technology pros will be in much demand.
Kubernetes (K8s) is an important tool for the DevOps engineer, considered by some to be the most valued container management technology. It can scale without increasing the ops team and is at the core of the cloud-native movement.
The Google-developer-created Kubernetes is designed on the same principles that allows Google to run billions of containers a week. It can scale a container environment or Kubernetes can do it, by leveraging its auto-scaling feature. The other notable feature is its powerful container orchestration engine.
SEE: Kubernetes security guide (free PDF) (TechRepublic)
K8s allows conversion of an existing infrastructure into a container-as-a-service (platform), and has features such as zero downtime deployments, fault tolerance, auto scaling, cloud and storage integrations, considered by engineers to be difficult to implement.
K8s “significantly contributes to an organization’s ability to deliver business innovation,” said Wei Lien Dang, co-founder and chief strategy officer at StackRox, which provides security for containers and Kubernetes. “It has helped enable companies to modernize the way they build, ship and run applications by providing a control plane that empowers software developers and engineers with the flexibility and power of containers so they can innovate more quickly.”
“Kubernetes really stands out for a few reasons, including the fact that it’s a cloud-native platform,” said Sarah Zelechoski, vice president of engineering at Fairwinds, which focuses on Kubernetes enablement. “Every business is interested in moving to the cloud in some way – from small startups using the cloud from inception to big enterprises that are transitioning or expanding there in some way.”
She believes developers who don’t transition to cloud-native and containers are making career-limiting choices. Kubernetes, Zelechoski said, makes stronger developers and gives them “future proof” skills that will help them evolve their careers.
Training and certifications boost resumes and can spark interest from employers. The Kubernetes official website presents training and certifications from the Linux Foundation and training partners. Officials call it a career investment that will help make cloud native projects more successful.
“There is a set of Kubernetes fundamentals that are very straightforward,” Zelechoski said. “If you take the time to learn those fundamentals and create a foundation of knowledge, it’s not difficult to learn and you can use it in a functional way.”
First certification program
Kubernetes offers two certification programs, a Certified Kubernetes Application Developer (CKAD) course in which intermediate-level users will learn to design, build, configure, and expose cloud native applications for K8s. A CKAD can define application resources and use core primitives to build, monitor, and troubleshoot scalable applications & tools in K8s.
The certificate is for Kubernetes engineers, cloud engineers, and other IT professionals responsible for building, deploying, and configuring cloud native applications with K8s. A prep course and exam are $499, and just the exam is $300. The exam is online and takes two hours, and if passed, there is a certification valid for three years, with a 12-month exam eligibility. Receive a PDF certificate and digital badge for the software version Kubernetes V1.19. The site says it offers a “100% money-back guarantee.”
A candidate completing the course will be comfortable using:
An OCI-compliant container runtime (Docker or rkt)
Cloud native application concepts and architectures.
A programming language, such as Python, Node.js, Go, or Java.
SEE: Top cloud providers in 2020: AWS, Microsoft Azure, and Google Cloud, hybrid, SaaS players (TechRepublic download)
Second certification program
The second certificate program is a Certified Kubernetes Administrator (CKA). Pricing for the CKA is the same as the CKAD, and the exam details/prep course are also identical to the other program, but this one is without any prerequisites.
This certification is for Kubernetes administrators, cloud administrators, and other IT professionals who manage K8s instances. The CKA holder can do basic installation as well as configuring and managing production-grade K8s clusters. They understand key concepts such as K8s networking, storage, security, maintenance, logging and monitoring, application lifecycle, troubleshooting, API object primitives and the ability to establish basic use-cases for end users.
“There are some really important certifications out there, but you can’t discount practical work experience,” Zelechoski advised. “So, if someone can take and learn from some of the really good free courses out there, gain those foundational skills and get a job that will give them practical work experience, it’s a great route to take. Your work history and foundational understanding of Kubernetes will then allow you to have a better grasp of the content when the time comes to learn the deeper, more advanced stuff.”
Free classes can be a great start for fundamentals
Free classes are available, too, albeit not as intensive as the aforementioned ones, some of the free courses also offer a more substantial paid version.
Introduction to Kubernetes is offered on EdX (LinuxFoundationX), a self-paced, 14-week course that is estimated to take two to three hours of work weekly. The course is free, but a verified certificate costs $199.
The following free courses vary from six hours to 57 minutes:
Containers 101: This course is to learn to build and deploy containerize applications with Kubernetes, Docker and Helm.
Just enough Kubenetes to be dangerous: A Udemy introductory course that will teach students: Set up Kubernetes cluster in a jiffy with Google Kubernetes Engine, deploy micro services application and publish it to the world, setup internal DNS-based service discovery to interconnect services, dynamically scale application using auto scaling feature of Kubernetes, roll out application updates without a downtime/achieve zero downtime deployments, learn the basics of kubectl utility.
Kubernetes for people in a hurry is another free tutorial for a basic understanding of K8s fundamentals. The course was created by Pretual School.
Kubernetes for the absolute beginners: A beginner-level class with equal emphasis on practical experience. Many exercises help to understand the videos better and implement them on the platform, too. It also offers a certification for it, for a fee.
Kubernetes: Getting Started teaches the basics of container orchestration engine and Kubernetes for a start into the world of K8s.
Learn DevOps Kubernetes deployment by kops and terraform
Another Udemy course says it teaches comprehensive Nginx deployment to Kubernetes on AWS by using kops and terraform. LinkedIn: Learning Kubernetes This beginner course can be taken free through LinkedIn’s free month.
“Free courses are great for beginners, but if you already have some experience with Linux or cloud, or even a baseline understanding of how Kubernetes works, it would make sense to look for more advanced options,” Dang said.
Kubernetes training partners, which offer training services for Kubernetes and cloud native projects:
- Alter way
- Beopen IT
- boer technology
- Cloud Infrastructure Technologies
- Component Soft
- Container Solutions
- DoiT International
- Harmony Cloud
- Hewlett Packard Enterprise
- Huawei Technologies
- Storm Reply
- Linux Foundation
Dang concurred with Zelechoski and strongly recommended practical learning: “Certifications and training courses being offered are a great way to establish a baseline familiarity to start with the platform, though you’ll want to complement those courses with hands-on, practical skills as quickly as possible.”
“Kubernetes is also a unifying platform that companies can apply across different environments and technologies,” Dang added. “It helps users take advantage of cloud-native architectures such as containers and microservices, and it helps enable cloud adoption as well.”