Why Adopt Containers and Kubernetes?

Posted by David Pitcher - June 23, 2020

Why Containers and Kubernetes?

The notion of increasing IT system operational efficiency by maximizing the computing power of the available hardware has been around for a while. Deployment of multiple business software applications to physical machines was the first approach and was wrought with problems such as overpaying for CPU size and memory to handle peek demands. Next came virtualization, which would allow sharing of CPU and memory across multiple virtual servers. This technology also had problems such as duplicating the operating system for every virtual server created. Fast forward to today and now container technology allows for breaking down the virtual server to an even smaller unit of compute.

header-picture

What are containers?

A container allows for process and dependency isolation whereas virtual machines are focused at hardware isolation. Creating a container does not require the inclusion of an operating system so they are much more compact and portable. Each container run on top of the host operating system and are completely isolated from other containers running on the same host.

Migrating your applications to function within a container based ecosystem helps to significantly reduce the amount of disk storage, memory, and CPU resources consumed by virtualization simply by reducing the number of operating systems needed to run the applications and maximize overall compute density on the available hardware.

How does Kubernetes fit into the picture?

As containers grew in popularity it became increasingly more difficult to manage the deployment of increasingly larger numbers of containers along with increased challenges in monitoring the processes/services running across the containerized datacenter.

What was missing was a container orchestration system that could keep watch over a containerized environment and track what containers were deployed where. Thus, Kubernetes was born. Kubernetes at a high level provides core fundamental operational capabilities to manage containers at scale. Kubernetes provides the necessary services to deploy containers, provide high availability, automated scaling, compute resource balancing and throttling limits, load balancing, persistent storage management, and container lifecycle management.

The Azure Kubernetes difference!

Azure Kubernetes (AKS) is a Kubernetes as a service offering available on Microsoft Azure. AKS is a complete service offering for operating and managing a Kubernetes environment. The service simplifies some of the complexities around deploying and managing Kubernetes while also providing additional capabilities not directly available in Kubernetes.

AKS manages the underlying infrastructure required for Kubernetes and elastic provisioning of that infrastructure to scale on demand reducing overall compute costs. AKS also offers integrated identity management using Azure Active Directory, enterprise security controls, and governance.

Summary

We briefly covered the concepts of containers and why there is significant industry buzz around container adoption. We also touched on how Kubernetes and Azure Kubernetes Service provides an orchestration engine for a containerized environment.

Learn Containers & Kubernetes

Interested in learning more about containers and Kubernetes? Sign up for a Kubernetes 101 presentation and a hands-on Kubernetes demo.

Topics: Azure, AKS, Containers, Kubernetes


Recent Posts

Webinar: AKS Enterprise Accelerator, Sept 30, 2020 @ 2:00 PM EST

read more

InCycle Recognized for Azure App Modernization Expertise

read more

Azure App Configuration Service: Demystified

read more