KUBERNETES
What is Kubernetes?
Kubernetes, also known as K8s, is an open-source system developed by google for automating deployment, scaling, and management of containerized applications. It is a highly flexible container tool to deliver even complex applications on clusters of hundreds to thousands of individual servers. It also allows to manage the containerized application more efficiently.
Why Kubernetes?
If kubernetes is also a containerized tool, why shouldn’t we prefer docker?
Docker is also growing exponentially and many companies started using it. When we deploy many servers on docker, there is lot of traffic and there is a need to scale up things fast and finally monitoring all those becomes complex.
Containerization and kubernetes have…
Scale: The containerized environment allows for easier scalability of infrastructure.
Portability: Even it is a multi cloud, hybrid cloud or single cloud, Kubernetes makes it 100 times easier to achieve
Faster time to market: Containerization gives the agility to move much faster with software delivery.
The community: One of the super powers of containerization is fantastic community around cloud native tools.
Cost Savings: using containers help to better optimize the infrastructure resources.
Kubernetes creates an abstraction layer so that an organization won’t need to know where or how its computing resources are distributed. An orchestrator tool like Kubernetes transforms the capacity of cloud providers into a commodity that can easily be substituted, or, better yet, organizations can distribute workloads among different providers.
It is easy to deploy…
Kubernetes offers a new way to deploy applications using containers. It creates an abstraction layer which can be manipulated with declarative rather than imperative programming. This way, it is much simpler to deploy and upgrade services over time.
K8s can be deployed in different scenarios based on size of industry.
- In-house
- Cloud
- Hybrid
- On-premise
- Multi cloud
Here are the essential features of Kubernetes —
- Offers automated scheduling
- Self-Healing capabilities
- Automated rollouts & rollback
- Horizontal Scaling & Load Balancing
- Provides a higher density of resource utilization
- Offers enterprise-ready features
- Application-centric management
- Auto-scalable infrastructure
- You can create predictable infrastructure
- Provides declarative configuration
- Deploy and update software at scale
- Offers environment consistency for development, testing, and production
Kubernetes, being a container orchestration tool ensure high availability, disaster recovery, scalability.
Some of the use cases of Kubernetes…..
With over 250 million monthly active users and serving over 10 billion recommendations every single day, the engineers at Pinterest knew these numbers are going to grow day by day, and they began to realize the pain of scalability and performance issues.
Their initial strategy was to move their workload from EC2 instances to Docker containers; they first moved their services to Docker to free up engineering time spent on Puppet and to have an immutable infrastructure.
The next strategy of Pinterest move to Kubernetes. Now they can take ideas from ideation to production in a matter of minutes, whereas earlier they used to take hours or even days. They have cut down so much overhead cost by utilizing Kubernetes and have removed a lot of manual work without making engineers worry about the underlying infrastructure.
Today the majority of the NYT’s customer-facing applications are running on Kubernetes. What an amazing story. The biggest impact has been an increase in the speed of deployment and productivity. Legacy deployments that took up to 45 minutes are now pushed in just a few. It’s also given developers more freedom and fewer bottlenecks. The New York Times has gone from a ticket-based system for requesting resources and weekly deploy schedules to allowing developers to push updates independently.
Thanks for reading😀😀👋