What is Kubernetes, and what are its advantages?

Blog
Posted on
Kubernetes Teaser Image

1. What is Kubernetes?

Kubernetes logo

Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It’s a process known as ‘orchestration’ in the computing world. The name Kubernetes (pronounced coo-ber-net-ees) originates from Greek and means ‘helmsman’ or ‘pilot'.

In other words, Kubernetes automates operational tasks of container management. And it even gets better. For your applications it includes:

  • built-in commands for deploying

  • rolling out changes

  • scaling up and down to fit needs

  • monitoring

  • easier management

Why is all of that so interesting? It allows you to do things easily, that were previously hard to do.

 

Why containerize applications?

We all know the “it works on my machine“ problem. Only when the code lands on Environment X, everything comes to a screeching halt. By containerizing your application, you also define in what kind of runtime the application should run. Since that runtime will be the same across deployments, the chances of the application breaking are reduced. In other words, a container is a secure, reliable, lightweight runtime environment for applications that is consistent across hosts.

Some examples to make it more tangible: 

  • Deploying to production could break because environments were different. With Kubernetes, the containers that run locally can be exactly the same in all environments.

  • Scaling was hard: do we buy more hardware? Do we add extra resources? With Kubernetes, you can easily set up autoscaling, on pod and node level.

  • The side effect of easy autoscaling is that you automatically cool down to the most cost-efficient setup.

  • Finding the sweet spot for the most cost-efficient hosting in the past was much harder. "Let’s go with two servers just for redundancy’s sake".

2. What is a Kubernetes cluster?

You can cluster together groups of hosts running Linux® containers. Kubernetes helps you easily and efficiently to manage those clusters. A Kubernetes cluster is a set of nodes that run containerized applications. Kubernetes clusters can span hosts across on-premise, public, private, or hybrid clouds.

3. Who owns Kubernetes?

Kubernetes was originally developed and designed by engineers at Google. Google was one of the early contributors to Linux container technology and has talked publicly about how everything at Google runs in containers. This is the technology behind Google’s cloud services. Today, Kubernetes, and its associated trademarks, are owned by The Linux Foundation, a non-profit organization founded in 2000.

Google generates more than 2 billion container deployments a week, all powered by its internal platform, Borg. Borg was the predecessor to Kubernetes, and the lessons learned from developing Borg over the years became the primary influence behind much of Kubernetes technology.

Who owns Kubernetes? Kubernetes is open source!

4. What are the advantages of Kubernetes?

  • For starters, Kubernetes is open source. It’s actually the fastest-growing project in the history of open source software. Why is this an advantage? Because OS is, in general, more cost-effective (cheaper), more reliable, and flexible.

  • Kubernetes makes it easy for enterprise applications to have greater scalability. Not to forget, they make it possible to be flexible, portable, and more productive.

  • Kubernetes services simplify container management on multiple hosts and across clouds and thus reduce vendor lock-in.

  • Thanks to autoscaling, cost efficiency is possible. When configured correctly, it will scale up and down to exactly the right amount of resources based on demand at that given point in time.

5. Why is Kubernetes a game-changer?

I personally find the following capabilities game-changers:

  • Automatic upscaling (and downscaling)

  • Deploying on groups of VMs or physical machines

  • Rolling/Canary/Shadow deployment strategies

  • Hybrid deployment: on-prem, public, or private cloud

6. Why Kubernetes, Drupal, and DXPs are a match made in heaven?

All components of the open DXP (CMS + CDP + marketing automation) can be hosted in your Kubernetes cluster in your cloud. They can be on-premise or cloud.

That Drupal scales is old news. A significant portion of the web is already on Drupal. Moving your Drupal to Kubernetes is certainly possible and can result in significant cost reduction.

We can also increase the efficiency of developers. How? Hundreds of Dropsolid Developers have been deploying Drupal sites on different architectures for years. The Dropsolid platform is target agnostic. Developers using the Dropsolid platform do not even feel that they are deploying to Kubernetes, VMs, or wherever.

You can have Zero downtime deployments too, enabled by Kubernetes.

Spare yourself the hassle of setting all this up from scratch. Let the developers focus on writing functionalities. Let Dropsolid handle the rest.