||How Industries are using Kubernetes || Why k8s Only??|| Case Study||

Radhika Sharma
8 min readDec 26, 2020

What is Kubernetes -

The name Kubernetes (K8S)originates from Greek, meaning helmsman or pilot. Google open-sourced the Kubernetes project in 2014. Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation.

In Simple terms k8S is a tool for Container Orchestration : For Managing the containers. As in the OS Provisioning, world moved from bare metal to container technology.

Bare Metal → Virtualization → Containerization

Now in Containerization world Imagine a situation where you have been using Docker for a little while, and have deployed on a few different servers. Your application starts getting massive traffic, and you need to scale up fast; how will you go from 3 servers to 40 servers that you may require? And how will you decide which container should go where? How would you monitor all these containers and make sure they are restarted if they die? This is where Kubernetes comes in.

Why Kubernetes ??

History Of Kubernetes -

Image Credits : risingstack

Why is Kubernetes getting so popular?

1. Infrastructure as YAML-

Kubernetes has been the move from infrastructure as code towards infrastructure as data — specifically, as YAML. All the resources in Kubernetes that include Pods, Configurations, Deployments, Volumes, ConfigMaps, Secrets, PV, PVC, ReplicaSets etc., can simply be expressed in a YAML file. for ex: In Image you can see Persistent Volume Creation in Kubernetes. It’s so simple , You can learn it in just 2–3 days without having any coding knowledge. Isn’t it??

Other benefits from having your infrastructure as data include:

  • GitOps or Git Operations Version Control. With this approach, you can keep all your Kubernetes YAML files under git repositories, which allows you to know precisely when a change was made, who made the change, and what exactly changed.
  • Security and Controls. YAML is a great way to validate what and how things get deployed in Kubernetes.

2. Scalability -

Kubernetes provides one of the best facility i.e. Auto scaling. Kubernetes will automatically scale up your cluster as soon as you need it, and scale it back down to save you money when you don’t. for more see here.

3. Innovation -

Over the last few years, Kubernetes has had major releases every three or four months, which means that every year there are three or four major releases. The new features allow cluster operators more flexibility when running a variety of different workloads. Software engineers also love to have more controls to deploy their applications directly to production environments.

4. Community -

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 (CNCF).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.

5. Others -

  • Faster time to market
  • Multi-cloud (and hybrid cloud) flexibility
  • Effective migration to the cloud
  • IT cost optimization

and many more ..

Want Some Proofs?? Here It is -

  • The Industries who are using containers using k8S for its management.
  • Enterprise Adoption of Kubernetes -
  • Here Kubernetes Manages Containers at 69% of organizations -
  • A survey -> Kubernetes at TOP with 42%
Docker Swarm or Kubernetes?'': Is It the Right Question to Ask? - DZone  Cloud

Now Understand Working Of k8S-

Kubernetes Basics Modules :

Image Credits : Kubernets .io

Kubernetes Architecture :

Terminologies -

Pods :

A Kubernetes pod is a group of containers, and is the smallest unit of k8S. Pods have a single IP address that is applied to every container within the pod. Containers in a pod share the same resources such as memory and storage.

Deployments:

Extended Version Of ReplicaSets. Kubernetes deployments define the scale at which you want to run your application by letting you set the details of how you would like pods replicated on your Kubernetes nodes. Deployments describe the number of desired identical pod replicas to run and the preferred update strategy used when updating the deployment. Kubernetes will track pod health, and will remove or add pods as needed to bring your application deployment to the desired state.

Services:

In Kubernetes, a Service is an abstraction which defines a logical set of Pods and a policy by which to access them (sometimes this pattern is called a micro-service). The set of Pods targeted by a Service is usually determined by a selector. k8S has 4 services :

  • ClusterIP
  • NodePort
  • LoadBalancer
  • ExternalName

Nodes:

A Kubernetes node manages and runs pods; it’s the machine (whether virtualized or physical) that performs the given work. Just as pods collect individual containers that operate together, a node collects entire pods that function together.

The Kubernetes Control Plane:

The Kubernetes control plane is the main entry point for administrators and users to manage the various nodes. Operations are issued to it either through HTTP calls or connecting to the machine and running command-line scripts. As the name implies, it controls how Kubernetes interacts with your applications.

Cluster:

A cluster is all of the above components put together as a single unit.

Kubernetes Components :

Control Plane Components: Kube-apiserver, etcd, kube schedular, kube-controller-manager, cloud-controller-manager.

Node Components: Kubelet, Kube-proxy, Contianer runtime, Addons, DNS, Web UI, Container Resource Monitoring, Cluster-level Logging.

To see in detail refer this.

Case Study -

Kubernetes is adopted by number of industries, and after using they are getting a lots of advantages in terms of performance, Speed, Management and finally increased Net Worth by making Application’s Infrastructure strong that helps them to reach number of customers.

Happy Clients of K8s

Let’s talk about few of them:

1. Spotify:

With 360 million active users and 50million songs, Spotify is the world’s largest music streaming subscription service. Spotify open sourced its in-house container orchestration service, Helios, in 2014. After several years of use, Spotify decided to make the switch from Helios to Kubernetes, another orchestration service released shortly after that has since become the de facto orchestrator platform.

It became clear that Spotify needed a managed solution rather than operating clusters from scratch. By moving to Kubernetes, Spotify would benefit from:

  • Cloud-native “magic,” such as autoscaling, better resource utilization and self-healing
  • Less capacity planning for developers
  • Less proprietary technology
  • Faster experimentation and operations

Another words for k8S’ success :

A small percentage of Spotify's fleet, containing over 150 services, has been migrated to Kubernetes so far. "We've heard from our customers that they have less of a need to focus on manual capacity provisioning and more time to focus on delivering features for Spotify," says Chakrabarti. The biggest service currently running on Kubernetes takes over 10 million requests per second as an aggregate service and benefits greatly from auto scaling, says Wen. Plus, Wen adds, "Before, teams would have to wait for an hour to create a new service and get an operational host to run it in production, but with Kubernetes, they can do that on the order of seconds and minutes." In addition, with Kubernetes's bin-packing and multi-tenancy capabilities, CPU utilization has improved on average two- to threefold.

2. The New York Times

  • When the company decided a few years ago to move out of its data centers, its first deployments on the public cloud were smaller, less critical applications managed on virtual machines. “We started building more and more tools, and at some point we realized that we were doing a disservice by treating Amazon as another data center,” says Deep Kapadia, Executive Director, Engineering at The New York Times.
  • The team decided to use Google Cloud Platform and its Kubernetes-as-a-service offering, GKE.

Benefits with k8S they got:

  • Speed of delivery increased. Some of the legacy VM-based deployments took 45 minutes; with Kubernetes, that time was “just a few seconds to a couple of minutes.
  • “Teams that used to deploy on weekly schedules or had to coordinate schedules with the infrastructure team now deploy their updates independently, and can do it daily when necessary.” Adopting Cloud Native Computing Foundation technologies allows for a more unified approach to deployment across the engineering staff, and portability for the company.

3. Pinterest

  • After eight years in existence, Pinterest had grown into 1,000 microservices and multiple layers of infrastructure and diverse set-up tools and platforms. In 2016 the company launched a roadmap towards a new compute platform, led by the vision of creating the fastest path from an idea to production, without making engineers worry about the underlying infrastructure.
  • The first phase involved moving services to Docker containers. Once these services went into production in early 2017, the team began looking at orchestration to help create efficiencies and manage them in a decentralized way. After an evaluation of various solutions, Pinterest went with Kubernetes.

And Result is here…

"By moving to Kubernetes the team was able to build on-demand scaling and new failover policies, in addition to simplifying the overall deployment and management of a complicated piece of infrastructure such as Jenkins," says Micheal Benedict, Product Manager for the Cloud and the Data Infrastructure Group at Pinterest. "We not only saw reduced build times but also huge efficiency wins. For instance, the team reclaimed over 80 percent of capacity during non-peak hours. As a result, the Jenkins Kubernetes cluster now uses 30 percent less instance-hours per-day when compared to the previous static cluster."

Here was the few one from a long-lasting success stories of k8s.

Thanks For Scrolling. Always Happy for Your suggestions :-)

--

--