All Posts

We can’t talk about Digital Transformations or Cloud-Native Security without talking about Kubernetes.

Your first thought is probably: what is Kubernetes?

A tool?
A currency?
A state of mind?

It’s perfectly fair for your second thought about Kubernetes to be: How do I pronounce Kubernetes?

Again, totally valid question! It’s pronounced koo-br-NEH-teez. I’ve been told that some refer to Kubernetes as K8’s which made no sense to me based on my limited understanding of the Greek language. It turns out, it has nothing to do with the language and everything to do with how many letters follow the letter K in Kubernetes — 8. 

giphy-Sep-21-2021-06-35-47-64-PM

What is Kubernetes?

Microsoft says "Kubernetes is open-source orchestration software for deploying, managing, and scaling containers." But when I read that definition it still didn't click for me. So I turned to VMWare to find that they have a great definition and explainer video.

"Kubernetes is an open-source container orchestration platform that enables the operation of an elastic web server framework for cloud applications. Kubernetes can support data center outsourcing to public cloud service providers or can be used for web hosting at scale. Website and mobile applications with complex custom code can deploy using Kubernetes on commodity hardware to lower the costs on web server provisioning with public cloud hosts and to optimize software development processes."

Basically, Kubernetes is a platform enabling and optimizing scalability for cloud-based applications by automating deployment, management, and scaling.

History of Kubernetes

Originally designed and developed by Google in 2014 to replace Borg, Kubernetes changed the game for containerized workloads. Using Google's Kubernetes Engine (GKE) enables teams to "speed up app development without sacrificing security." As cool as GKE sounds, the coolest thing is that Google doesn't even own Kubernetes.

Google donated the Kubernetes project to the Cloud Native Computing Foundation (CNCF) in 2015 (Redhat.com). Google's aim "is to take [their] technology and make it as ubiquitous as possible" to enable users to choose their cloud or work better within a hybrid cloud environment. After the donation in 2015, Jim Zemlin (President, Linux Foundation) predicted that Kubernetes will be "too good to resist" and from where I'm looking in 2021 — he wasn't wrong.

Kubernetes Architecture

Let's get some vocabulary from kubernetes.io out of the way before we talk about architecture. 

  • Cluster: When you deploy Kubernetes, you get a cluster.
  • Nodes: Each cluster must have at least one node to run containerized applications.
  • Pods: Each node hosts pods that are the components of the application workload.
  • Control Plane: The control place manages the nodes and pods within the cluster.

The control place manages nodes and pods within a cluster

All of the major players in the cloud hosting world "offer Kubernetes support for cloud web server orchestration. Customers can use Kubernetes for complete data center outsourcing, web/mobile applications, SaaS support, web cloud hosting, or high-performance computing" (vmware.com).

Why use Kubernetes?

Earlier, I said, "Kubernetes is a platform enabling and optimizing scalability for cloud-based applications by automating deployment, management, and scaling." Let's focus in on the automation portion and why it's so important. Kubernetes automates "web server provisioning according to the level of web traffic in production." The hardware can be in a different country or even distributed across multiple data centers through different cloud providers. Scaling web servers up or down according to user demand can all be done with the "advanced load balancing capabilities" of Kubernetes. While developed by Google, Kubernetes is cloud-agnostic and helps level the playing field so small companies can operate with "the same level of scalability as the largest companies in the world (vmware.com).

Containers are the best way to run applications, but they need to be monitored closely in the event that one goes down and another container needs to spin up. Previously this would be managed manually, meaning a real human gets an alert and has to stop what they're doing to do something about it. But we're all about working smarter, not harder, right? That's where Kubernetes come in. "Kubernetes provides you with a framework to run distributed systems resiliently" (kubernetes.io).

You want failover for your applications? Kubernetes gotchu. 

You want automated scaling? Kubernetes gotchu.

You want deployment patterns? Kubernetes gotchu.

In addition, Kubernetes provides users with:

  • Service discovery and load balancing
  • Storage orchestration
  • Automated rollouts and rollbacks
  • Automatic bin packing
  • Self-healing
  • Secret and configuration management

As great as all of that sounds, implementing Kubernetes correctly is the only way to harness all of its power and features — doing it halfway will only result in chaos. When you're ready to start your Kubernetes journey the team of experts at Veracity Solutions is ready to help. 

Contact Us

Katie Frank
Katie Frank

Katie is the Content Marketing Manager for Veracity Solutions. She's a customer-centric marketer with a passion for storytelling, travel, and cats.

Related Posts

How to Introduce Agile Through Hands-On Learning

"We should be doing agile, right?" Developers are naturally drawn to the idea of agile development. Speedy delivery cycles, with less planning and documentation…what’s not to like? Well, for starters, there’s the disconnect between theory and implementation when undergoing an agile transformation. Some organizations have a solid understanding of agile principles but can’t apply them. This can lead to uncertainty and skepticism about agile ideas. To combat this,...

Avoiding the Infamous DevOps Team

If you've begun your DevOps journey, chances are, you've considered forming a DevOps team. Seems like a pretty wise move! But, did you know that creating a DevOps team is decision many leaders grow to regret?