The following are the terms and tools within the overall principles described above that successful DevOps engineers need to know
What is Kubernetes and its purpose?
Containers—largely popularized by Docker—have profoundly changed the way development and operations teams test and deploy modern software. Containers help companies modernize by making it easier to scale and deploy applications, but containers have also introduced new challenges and more complexity by creating an entirely new infrastructure ecosystem.
Early adopters are now deploying thousands of container instances daily, and that’s a complexity of scale they have to manage. So how do they do it?
Enter the age of Kubernetes.
Originally developed by Google as an offshoot of its Borg project, Kubernetes is an open-source container orchestration platform designed to automate the deployment, scaling, and management of containerized applications. In fact, Kubernetes has established itself as the de facto standard for container orchestration and is the flagship project of the Cloud Native Computing Foundation, backed by key players like Google, AWS, Microsoft, IBM, Intel, Cisco, and Red Hat.
Sometimes referred to as “k8s,” Kubernetes makes it easy to deploy and operate applications based on a micro service architecture. It does so by creating an abstraction layer on top of a group of hosts, so that development teams can deploy their applications and let Kubernetes manage:
• Controlling resource consumption by application or team
• Evenly spreading application load across a host infrastructure
• Automatically load balancing requests across the different
instances of an application
• Monitoring resource consumption and resource limits to
automatically stop applications from consuming too many
resources and restarting the applications again
• Moving an application instance from one host to another if there is a shortage of resources in a host, or if the host dies
• Automatically leveraging additional resources made available
when a new host is added to the cluster
• Easily performing canary deployments and rollbacks.
As more and more organizations move to micro service and container architectures, they’re looking for strong, proven platforms. DevOps practitioners are moving to Kubernetes for four main reasons: