Microsoft Automates App Deployments on Kubernetes
At the CoreOS Fest 2017 conference this week Microsoft announced it is making available an open source Draft tool that makes it possible for developers to spin up a Kubernetes container cluster using two commands.
Developed by the team that created the Deis container-as-a-service (CaaS) platform that Microsoft acquired earlier this year, Draft reduces the amount of time developers need to spend prepping Docker files to run on Kubernetes. It also shows Microsoft’s ongoing commitment to make contributions to the open source community, says Gabe Monroy, lead product manager for containers on Microsoft Azure.
Microsoft is squarely focused on helping developers automate the front end of the application pipeline as much as possible, he says.
One of the issues holding up mainstream adoption of Kubernetes is the simple fact that many IT organizations don’t have a lot of experience deploying a container orchestration platform developed by Google engineers. With the release of Draft, Microsoft is solving that problem by detecting what application language is being employed and then writing a Dockerfile and associated Kubernetes Helm Chart into the source tree of the application, Monroy says. That metadata is then used to load the application on to a Kubernetes cluster that can be running locally or in a cloud. Once the application is running, developers can then test their application, and any changes they make using an editor or IDE will be automatically incorporated into the application in seconds. Via a Jenkins registry and a Kubernetes cluster, developers also have the option of can building a continuous iteration loop for themselves or in concert with an operations team.
Monroy notes it’s now apparent that containers are now the primary compute primitive around which various computing models will revolve. He points to an effort to deploy OpenStack cloud frameworks on top of Kubernetes to gain operational efficiencies as an example. At the same time, he says, containers are being employed to drive functional programming models based on event-driven serverless computing frameworks.
As for deciding when to employ a CaaS versus a platform-as-a-service (PaaS) environment, Monroy says it comes down to the approach developers choose. If it’s a container-based application, CaaS is the more natural choice, he says. If the developer isn’t relying on containers, than a PaaS becomes the more logical choice. Of course, there are more than a few IT organizations that have opted to deploy containers on a PaaS as a matter of expediency. But as IT organizations become more adept with containers, the general expectation is that there will be more adoption of containers. Microsoft itself has three options for containers that it manifests as a PaaS environment on Azure, a CaaS on Azure and local instances of Windows Server 2016.
The Windows developer community is a little late to the container party. But as Microsoft continues to make tools available that mask all the lower functions associated with building and deploying container-based applications, it won’t be too long before the number of container applications running on Windows versus Linux achieves parity. If developers choose to host those applications on Linux servers running on Azure, Microsoft has already made it clear it will get over it.