Welcome back to our series on Windows Server 2016. This week we are taking a look at Containerization - what it means and what it can do for you.
The basis of containerization is to provide your applications with additional security by isolating them individually in a 'Micro VM' basis. They have their own operating environment so aren't constrained by dependencies that can cause compatibility and reliability issues within a traditional environment. Another advantage to using containers is the ability to rapidly deploy applications identically across any platform.
These containers are radically smaller than your traditional Virtual Machines so therefore you can run perhaps hundreds of them within a single host. Very clever. The concept of containerization isn't new however and has existed in various forms within the Linux world for a number of years.
Within the Microsoft world, there are two types of container:-
Windows Server Containers
These provide application isolation through process and name space isolation technology. A Windows Server container shares a kernel with the container host and all containers running on the host enabling a rapid startup and deployment time.
These expand on the isolation provided by Windows Server Containers by running each container in a highly optimized virtual machine. The difference here is that the kernel of the host is not shared with the Hyper-V Containers. This additionally increases the security of the application and environment. The trade off is the additional deployment time.
Microsoft also announced a partnership with Docker, a company that has been providing deployment software for containers for Linux developers. The new partnership enables Microsoft to bring a familiar look and feel to the Windows world. Using the Docker client and API's a DEVOP could deploy dozens of applications in seconds across any environment.
Microsoft are also developing their own application sandboxing platform called 'Drawbridge'. You can expect this to eventually become a part of Windows Server, which will go further interms of unifying the application container experience. Read more here.
The following graphic explains the difference between traditional Virtual Machines and Containers.
Each virtual machine includes the application, the necessary binaries and libraries and an entire guest operating system - all of which may be tens of GBs in size.
Containers include the application and all of its dependencies, but share the kernel with other containers. They run as an isolated process in userspace on the host operating system. They’re also not tied to any specific infrastructure – containers run on any computer, on any infrastructure and in any cloud.
In summary - this is a further step forwards for Microsoft in the DEVOPS world. Containerization will increase the mobility and flexibility of large scale application development and deployment within the Microsoft ecosphere. There could be multiple uses for containers for companies that run PAAS or SAAS solutions whereby a service is provided to end clients which requires a secure operating space whereby the application is tailored to that specific client. The benefits of containers versus complex segregated physical or virtual environment becomes clear.
Watch the following video for more information on Containers within Windows Server 2016:-
Thanks for reading!
Windows Migration Software and Services
Integrated cloud migration and managed services