How Kubernetes is used in Industries
Kubernetes is an open source container orchestration engine for automating deployment, scaling, and management of containerized applications. The open source project is hosted by the Cloud Native Computing Foundation
Kubernetes is an open-source software system that automates deployment and management of containerized applications at scale so that it can be performed easier and faster, and so that a company can enjoy the benefits of an immutable infrastructure.
? Kubernetes architecture
The Kubernetes architecture is relatively simple. You never interact directly with the nodes hosting your application, but only with the control plane, which presents an API and is in charge of scheduling and replicating groups of containers named Pods.
Let’s look at the various pieces.
Nodes
Each node that hosts part of your distributed application does so by leveraging Docker or a similar container technology.
Master
The control plane itself runs the API server, the scheduler, the controller manager, a highly available key-value store for shared configuration and service discovery implementing the Raft consensus Algorithm.
Terminology
Kubernetes has its own vocabulary which, once you get used to it, gives you some sense of how things are organized. These terms include:
- Pods: Pods are a group of one or more containers, their shared storage, and options about how to run them. Each pod gets its own IP address.
- Labels: Labels are key/value pairs that Kubernetes attaches to any objects, such as pods, Replication Controllers, Endpoints, and so on.
- Annotations: Annotations are key/value pairs used to store arbitrary non-queryable metadata.
- Services: Services are an abstraction, defining a logical set of Pods and a policy by which to access them over the network.
- Replication Controller: Replication controllers ensure that a specific number of pod replicas are running at any one time.
- Secrets: Secrets hold sensitive information such as passwords, TLS certificates, OAuth tokens, and ssh keys.
- ConfigMap: ConfigMaps are mechanisms used to inject containers with configuration data while keeping containers agnostic of Kubernetes itself.
?? Why Kubernetes
Reliability is one of the major benefits of Kubernetes; Google has over 10 years of experience when it comes to infrastructure operations with Borg, their internal container orchestration solution, and they’ve built Kubernetes based on this experience.
Scalability is handled by Kubernetes on different levels. You can add cluster capacity by adding more worker nodes, which can even be automated in many public clouds with autoscaling functionality based on CPU and Memory triggers.
?? Kubernetes Features And Myth about Kubernetes-
?? How Businesses Benefit from Kubernetes
The standard for containerized application management, Kubernetes provides many benefits to its users. These benefits are as follows.
- Easy container scaling. Numerous containers can be scaled across many servers in a cluster.
- Self-healing. The container’s health is monitored and fixed automatically.
- Application portability. The software can be consistently transferred among different types of environment.
- High software flexibility and extendibility. There’s a large developer community that produces various extensions to enhance off-the-shelf capabilities.
- High availability. Kubernetes’s high-fault-tolerance clustering enables stability and reliability.
- Auto scaling. Up- and downscaling is performed automatically, based on the server load and traffic.
- Enhanced security. Built-in data encryption, vulnerability scanning and other capabilities enhance the security of Kubernetes.
- Stable releases. A wide range of release channels enables regular and quick releases.
?? Kubernetes User Case Studies
?? Babylon
Challenge
A large number of Babylon's products leverage machine learning and artificial intelligence, and in 2019, there wasn't enough computing power in-house to run a particular experiment.
Solution
Babylon had migrated its user-facing applications to a Kubernetes platform in 2018, so the infrastructure team turned to Kubeflow, a toolkit for machine learning on Kubernetes. "We tried to create a Kubernetes core server, we deployed Kubeflow, and we orchestrated the whole experiment, which ended up being a really good success," says AI Infrastructure Lead Jérémie Vallée. The team began building a self-service AI training platform on top of Kubernetes.
Impact
Instead of waiting hours or days to be able to compute, teams can get access instantaneously. Clinical validations used to take 10 hours; now they are done in under 20 minutes. The portability of the cloud native platform has also enabled Babylon to expand into other countries.
?? Adidas
Adidas is a multi national sports corporation that produces, designs, and creates sport clothing and accessories. Two German brothers, Adi and Rudolf Dassler, founded the company in 1924.
Challenge
In recent years, the adidas team was happy with its software choices from a technology perspective—but accessing all of the tools was a problem. For instance, "just to get a developer VM, you had to send a request form, give the purpose, give the title of the project, who's responsible, give the internal cost center a call so that they can do recharges," says Daniel Eichten, Senior Director of Platform Engineering. "The best case is you got your machine in half an hour. Worst case is half a week or sometimes even a week."
Solution
To improve the process, "we started from the developer point of view," and looked for ways to shorten the time it took to get a project up and running and into the adidas infrastructure, says Senior Director of Platform Engineering Fernando Cornago. They found the solution with containerization, agile development, continuous delivery, and a cloud native platform that includes Kubernetes and Prometheus.
Impact
Just six months after the project began, 100% of the adidas e-commerce site was running on Kubernetes. Load time for the e-commerce site was reduced by half. Releases went from every 4-6 weeks to 3-4 times a day. With 4,000 pods, 200 nodes, and 80,000 builds per month, adidas is now running 40% of its most critical, impactful systems on its cloud native platform.