Kubernetes in action: How orchestration and containers can increase uptime and resiliency

在 五月 24, 2017 上貼文

Partner Architect, Azure Container Service

It’s been about a month since we finalized the acquisition of Deis to expand the Azure Container Service and Kubernetes support on Azure. It’s been really fantastic to watch the two teams come together and begin to work together. In particular I’ve been excited to get to know the Helm team better and begin to see how we can build tight integrations between Helm and Kubernetes on Azure Container Service.

Containers and Kubernetes can dramatically improve the operability and reliability of software that is developed on the cloud. First the container itself is an immutable package that carries all of its dependencies with it. This means that you have strong assurances that if you build a working solution on your laptop, it will run the same when you deploy it to Azure.


In addition to that, orchestrators like Kubernetes provide native support for application management best practices, like automatic health-check based restarts and monitoring. In addition to these basic features, Kubernetes also supplies features for doing automatic rollout and rollback of a service, which allows a user to do a live update of their service without affecting end-user traffic, even if the new version of that service fails during the update. All of these tools mean that its incredibly easy for a user to take an application from a prototype to a reliable production system.

However, in many cases you aren’t deploying your own code, but rather using open source software developed by others, for example MongoDB or the Ghost blogging platform. This is the place where the Helm tool from Deis really shines. Helm is a package manager for your cluster, it gives a familiar interface for people who have used single machine package managers like apt, homebrew or yum, but in the case of Helm, it installs software into your entire Kubernetes cluster. In a few command lines, you can install a replicated, reliable version of MongoDB for your application to start using.

I’m really excited to see how we can better integrate Helm and other awesome open source tooling from Deis into Azure Container Service to make it even easier for developers to build scalable, reliable distributed applications on Azure. For more details and examples of how Kubernetes changes operations for operators, check out my recent appearance on the Microsoft Mechanics show where I demonstrate and discuss Containers, Kubernetes, and Azure.

Brendan Burns, Azure Container Service