Software development teams — from managers and engineers to administration and ops — need to understand Kubernetes.
Priyanka Sharma, GitLab Director of Technical Evangelism, says, “Kick the tires. See what’s been done in the past and how Kubernetes changes that today. It impacts business in such a fundamental way, and it will help you do your job.”
“Every company is discussing Kubernetes,” she adds, “even if it’s to decide that they won’t use it. Understand it so you have a voice. Like it or not, the conversation is coming.”
The history of Kubernetes
After decades of experience running large workloads, Google made Kubernetes open source in 2014. The name, however, dates back a few millennia — the name Kubernetes, from the Greek, means “helmsman” or “pilot.” It’s descriptive of what the platform does. Sharma describes it as “an orchestration layer on top of containers.”
Containers, which are portable across operating systems and clouds, open the door to a range of benefits. By working with containers, you can move from a monolithic tech stack to microservices that can be deployed and managed individually. Containers enable agile or continuous development and deployment and enable you to decouple applications from infrastructure. They also allow you to make the most efficient and cost-effective use of resources.
But, practically, you need a way to manage containers for reliability and performance. Kubernetes automates capabilities including load balancing, storage and memory requirements, rollbacks, failover, and security.
Sharma says, “The more containers and subsections you have, you need something to orchestrate it. Kubernetes lets you move resources up and down in response to traffic. It’s the intelligence you need.”
A tool for developers, built by developers
Sharma points out that Kubernetes was built with developers in mind. “In my opinion, Kubernetes was different from the start,” she says. “It was designed for developers to be more involved.”
She says as several new technologies emerged at about the same time — cloud, virtual infrastructure, containers, microservices — software companies’ teams were focused on their own objectives. One team may not have had visibility into what another team was doing. She says GitLab, along with many other industry organizations, envisions centralizing the toolchain, including Kubernetes, for the entire organizations.
“If people use the same toolchain, everyone knows if a team is stalled or if it’s time to arrange for the next phase. You need to know what’s going on to make those decisions,” she explains “It’s best if everyone is on the same governance model.”
She adds that, although leaders need to think through the toolchain, developers need to take ownership. In a time when it’s never been more important to do things right from the get-go, the entire team needs to bear responsibility, not just leaders.
Where to learn more
If you are ready to learn more about Kubernetes, Sharma suggests these resources:
- Kubernetes Fundamentals: This course offered by the Linux Foundation covers deploying containerized applications and managing resources via API. The Linux Foundation also offers additional courses on Kubernetes and free edX
- KubeCon: This event brings together open source and cloud computing thought leaders for four days of education and networking.
- GitLab: enables developers to deploy a Kubernetes cluster and provides resources and support. Kubernetes is also a topic slated for GitLab Commit 2019 conferences.
Sharma says if you’re brand new to the topic, it’s best to begin by reading up on the evolution of virtual machines and containers, “and then move on to Kubernetes. Your mind will be blown by how awesome it is.”
“At first. Kubernetes can feel daunting and intimidating,” says Sharma, “But you will pick up quickly. There is a community here to support you, people who will get on a call and answer your questions. Press on and learn. This technology is not going away.”