|By Srinivasan Sundara Rajan||
|September 21, 2016 04:00 PM EDT||
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.
Having created a base server with the above image, there are certain well documented steps we need to perform to install:
- Container Feature
- 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
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.
- Java EE 7 and Cloud Computing
- Cloud Computing Reference Architecture – Review of the Big Three
- Windows Azure vs VMware vFabric
- PaaS: .NET vs Java EE
- Using Amazon Elastic MapReduce in the Automotive Industry
- Five Factors to Influence Cloud Adoption – The Pros and Cons
- Dynamic Scaling and Elasticity - Windows Azure vs Amazon EC2
- Cloud Analytics - The Big Four Offerings
- Enterprise Java EE PaaS - OpenShift vs Google App Engine for Java
- Challenges and Solutions for the Health Care Industry in Cloud Computing