Welcome!

@DevOpsSummit Authors: Yeshim Deniz, Liz McMillan, Pat Romanski, Elizabeth White, Flint Brenton

Related Topics: @CloudExpo, Linux Containers, Containers Expo Blog, @DevOpsSummit

@CloudExpo: Blog Post

Windows 2016 Containers on Azure | @DevOpsSummit #Azure #DevOps #Docker #Containers

Utilizing Service Management Portal Patterns

An Azure platform is running on a virtualized server and hence the above container hosts may not provide the same performance as an equivalent container host on a bare metal server. However, the following thought process will help organizations to come up with new use cases of utilizing Windows 2016 containers as part of their Infrastructure equations. Again as the industry has seen both SMP and MPP architectures, the usage of SMP should be viewed with respect to specific workloads.

Windows 2016 Server Containers
Some of the excitement about the recently launched Windows 2016 server is about its ability to support containers. Much has been available about the definition of containers, however, here are salient features.

  • Containers ensure that there is only one underlying base operating system to maintain and no additional layers like hypervisors, guest operating systems, etc.
  • With this model, containers provide highest utilization of hardware compute capacity
  • With lower overhead and quick launch time, they simplify the application life cycle management
  • Containers biggest drawback so far has been that they are native of Linux and was not part of Windows ecosystem, however in Windows Server 2016, there will be two flavors of containers, both of which will be deployable using Docker APIs and the Docker client: Windows Server Containers and Hyper-V Containers.
  • Because the container has everything it needs to run your application, they are very portable and can run on any machine that is running Windows Server 2016.

Azure as A Windows 2016 Container Host
The Windows Server Containers can be hosted on top of high end Virtual Machines that host Windows 2016 Server, thus providing ways for Mainframe like SMP capabilities as part of our infrastructure.

To create a Windows 2016 Container host, first we need to create a base server with which the following images are available in Azure, at the time of this writing.

  • 2016-Nano-Server-Technical-Preview
  • 2016-Technical-Preview-with-Containers

Having created a base server with the above image, there are certain well documented steps we need to perform to install:

  • Container Feature
  • Docker
  • Base Container OS Image (which is the first image to be installed which will act as a entry point for all other containers)

Once the above steps are completed we are all set to use the installed Windows 2016 Server as a container host in Azure.

This diagram, courtesy of Microsoft, explains the Windows Server container OS image and how other application containers are deployed on top of it.

SMP vs MPP and Scaling Up Windows Server Containers
As one of the biggest advantages of container is that they are light weight and share a common OS images across multiple application containers, for certain situations it may be useful to scale up the container host to powerful high end servers than scaling out.

The industry has seen both the SMP and MPP architectures in this context.

In a symmetric multiprocessing (SMP) environment, multiple processors share, single instances of the Operating System (OS), memory, I/O devices and connected using a common bus.

In massively parallel processing (MPP), computer systems with many independent processor units, that run in parallel. Each unit using its own OS and memory and communicating with each other using some form of messaging interface. MPP can be setup with a shared nothing or shared disk architecture.

While MPP based architectures have been utilized for many latest application patterns, SMP architecture do have its advantages that they are easier to maintain and scalability to an extent is controllable much easier than MPP.

In this context, by utilizing the scale up possibilities of Azure Cloud Platform, together with Container host setup explained above, Azure can be positioned as a SMP - Container Host for Windows 2016, which will have its own use cases and scenarios.

The following are the possibilities to scale out windows containers host on Azure to really high-end servers that can act as a SMP environment.

  • A 11 Instances with 16 CORE and 112 GB of RAM
  • D15 V2 Instances with 20 CORE and 140 GB of RAM
  • D14 V2 Instances with 16 CORE and 112 GB of RAM
  • D14 Instances with 16 CORE and 112 GB of RAM

Summary
Azure platform itself is running on a virtualized servers and hence the above container hosts may not give the same performance as an equivalent container host on a bare metal server. However, this thought process will help organizations to come up with new use cases of utilizing Windows 2016 containers as part of their Infrastructure equations. Again as the industry as seen both SMP and MPP architectures, the usage of SMP should be viewed with respect to specific workloads.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).

@DevOpsSummit Stories
Andi Mann, Chief Technology Advocate at Splunk, is an accomplished digital business executive with extensive global expertise as a strategist, technologist, innovator, marketer, and communicator. For over 30 years across five continents, he has built success with Fortune 500 corporations, vendors, governments, and as a leading research analyst and consultant.
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereum.
For far too long technology teams have lived in siloes. Not only physical siloes, but cultural siloes pushed by competing objectives. This includes informational siloes where business users require one set of data and tech teams require different data. DevOps intends to bridge these gaps to make tech driven operations more aligned and efficient.
For organizations that have amassed large sums of software complexity, taking a microservices approach is the first step toward DevOps and continuous improvement / development. Integrating system-level analysis with microservices makes it easier to change and add functionality to applications at any time without the increase of risk. Before you start big transformation projects or a cloud migration, make sure these changes won’t take down your entire organization.
It is ironic, but perhaps not unexpected, that many organizations who want the benefits of using an Agile approach to deliver software use a waterfall approach to adopting Agile practices: they form plans, they set milestones, and they measure progress by how many teams they have engaged. Old habits die hard, but like most waterfall software projects, most waterfall-style Agile adoption efforts fail to produce the results desired. The problem is that to get the results they want, they have to change their culture and cultures are very hard to change. To paraphrase Peter Drucker, "culture eats Agile for breakfast." Successful approaches are opportunistic and leverage the power of self-organization to achieve lasting change.