Monday, May 1, 2023

Kubernetes (K8s) Overview # The history of K8s (DevOps)

This blog post will provide an introduction to Kubernetes so that you can understand the motivation behind the tool, what it is, and how you can use it.



PAST: -

Kubernetes has its roots in Google’s internal Borg System, introduced between 2003 and 2004. Later, in 2013, Google released another project known as Omega, a flexible, scalable scheduler for large compute clusters.

Google introduced the Borg System around 2003-2004. It started off as a small-scale project, with about 3-4 people initially in collaboration with a new version of Google’s new search engine. Borg was a large-scale internal cluster management system, which ran hundreds of thousands of jobs, from many thousands of different applications, across many clusters, each with up to tens of thousands of machines.

Following Borg, Google introduced the Omega cluster management system, a flexible, scalable scheduler for large compute clusters. In mid-2014, Google introduced Kubernetes as an open source version of Borg, it was a first initial release and first GitHub commit for Kubernetes in 7th June 2014. In next month 10th July 2014, Microsoft, RedHat, IBM, Docker joins the Kubernetes community.

21st July 2015, Kubernetes v1.0 gets released and Google also partnered with the Linux Foundation to form the Cloud Native Computing Foundation (CNCF). The CNFC aims to build sustainable ecosystems and to foster a community around a constellation of high-quality projects that orchestrate containers as part of a microservices architecture.

In 11th July 2016, Minikube was released, Minikube tool that makes it easy to run Kubernetes locally. In the same year on 26th of September, Kubernetes 1.4 introduces a new tool, kubeadm, that helps improve Kubernetes’ installability. This release provides easier setup, stateful application support with integrated Helm, and new cross-cluster federation features. In 29th September 2016, Pokemon GO! Kubernetes Case Study Released! Pokémon GO was the largest Kubernetes deployment on Google Container Engine ever. Luckily, it’s creators released a case study about how they did it.

In 2nd March 2018, First Beta Version of Kubernetes 1.10 was announced. Users could test the production-ready versions of Kubelet TLS Bootstrapping, API aggregation, and more detailed storage metrics and on 1st May Google also launched the Kubernetes Podcast that was hosted by Craig Box.


PRESENT: -

Today, Kubernetes is the container orchestration solution to use. Today, Kubernetes has 1800+ contributors, 500+ meetups worldwide, and 42,000+ users. 83% of enterprises surveyed by the Cloud Native Computing Foundation (CNCF) in 2020 are using Kubernetes.

Kubernetes is now a powerful container management tool that automates the deployment and management of containers. Kubernetes is a portable, extensible, open source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.

Part of the reason why Kubernetes has become so popular is that it was built on top of Docker. Containers have a long history in Linux and BSD variants; however, Docker made containers extremely popular by focusing on the user experience and made building and running containers very easy.  Kubernetes built on the popularity of containers and made running (aka. orchestrating) containers on a cluster of compute nodes easy.

Another reason for Kubernetes' popularity and extensive adoption is that it didn't change the model for running software too much.

Another big aspect of Kubernetes popularity is its strong community. For starters, Kubernetes was donated to a vendor-neutral home in 2015 as it hit version 1.0: the Cloud Native Computing Foundation. There is also a wide range of community SIGs (special interest groups) that target different areas in Kubernetes as the project moves forwards. They continuously add new features and make it even more user friendly.

The Cloud Native Foundation also organizes CloudNativeCon/KubeCon, which as of this writing, is the largest ever open-source event in the world. The event, which is normally held up to three times a year, gathers thousands of technologists and professionals who want to improve Kubernetes and its ecosystem as well as make use of some of the new features released every three months.


FUTURE: -

Kubernetes has seen a dramatic increase in visibility and adoption throughout 2017, with all major cloud providers now offering their own native Kubernetes service, and several container orchestration platforms rebuilding with Kubernetes as an underpinning.  With Azure, Google Cloud, and AWS all now offering or having announced a managed Kubernetes service, creating a Cluster in the near future should be trivial and have a much lower barrier to entry than it has historically. A Kubernetes Cluster will soon be as trivial to create as any other managed cloud service.

In the year or so we’ve been running our Cluster we’ve seen it go from strength to strength, with new versions being released frequently containing significant improvements and exciting new features, and meanwhile more and more vendors are adopting it. We think in the next year, Kubernetes is going to be everywhere, and we’ll start seeing even more exciting technology being built on top of it thanks to everyone having extra capacity from not trying to re-invent the basics.

One of the main challenges developers face in the future is how to focus more on the details of the code rather than the infrastructure where that code runs on. For that, serverless is emerging as one of the leading architectural paradigms to address that challenge. There are already very advanced frameworks such as Knative and OpenFaas that use Kubernetes to abstract the infrastructure from the developer.

Kubernetes’ popularity is on the rise with use cases in mission-critical sectors such as finance, edtech, and traditional enterprise IT. However, Kubernetes face a few challenges. The extremely complex nature of developing and running distributed frameworks at scale is one of its main challenges. Despite this, experts believe Kubernetes will become a ‘universal control plane’ to manage containers, virtual machines, and other modern applications

We’ve shown a brief peek at Kubernetes in this article, but this is just the tip of the iceberg. There are many more resources, features, and configurations users can leverage.


No comments:

Post a Comment

Kubernetes (K8s) main Features Overview #DevOps

Kubernetes k8s Features:- This blog post will provide an introduction to Kubernetes Features and we will see which are the specific features...