Late last year, Microsoft released the fourth technical preview of Windows Server 2016. Michael Watkins took a look at the nuts and bolts of this update to Server 2012 R2 in a blog post earlier this week and hosted a webinar highlighting a few of the most relevant features to your future with the product, including Nano Servers and containers.
Server 2016 has a lot of improved features, and a few new ones, including two new types of containers: Windows Server Containers and Hyper-V Containers.
Windows Server Containers address the homogeneous situation, with all the containerized apps using the exact same OS instance of Windows Server 2016. There’s one problem with that: All the containerized applications on a physical server must be homogeneous at the same patch level. So you’d need to bring your Windows Server 2012 and 2008 applications up to date before you could run them in a containerized Server 2016 environment.
This would not be an issue if you were using virtual machines. Enter Hyper-V Containers!
Hyper-V Containers address the situation above, where, for example, you might want to containerize a Server 2012 R2 app — or maybe an application that requires a different flavor of Server 2016 — and run it alongside containerized Server 2016 apps.
In this case, you set up a Windows Server Container for the application, including the required run-time binaries and libraries, and automatically wrap it in a Hyper-V virtual machine that works directly with the server hardware.
Windows Server Containers and Hyper-V Containers can co-exist on the same box, thus providing a path to containerize applications, without upgrading them to Server 2016. Once you do upgrade the application to Server 2016, you’ll be able to swap the Hyper-V Container to a regular Windows Server Container, with a “flip of a switch.”
Why is it important?
Getting the best bang for your buck across the application lifecycle is still a key driver for Enterprise IT. Containers play to that theme, being seen as a means to help:
- Simplify the task of developing, testing and deploying applications
- Make those apps easily portable—especially between physical data centers and the cloud
- Improve the application’s utilization of server resources.
From a DevOps perspective, containers require design and development disciplines similar to those required with microservices and service-oriented architectures. By using functional building blocks that are decoupled, but communicate through well-defined interfaces, development, test, deployment and maintenance can be streamlined and simplified.
By the same token, portability becomes a task of swapping out the container’s Docker engine for a new one for the target environment. And because Microsoft Server and Hyper-V Containers are much slimmer than virtual machines, you can get more of them into each box.
While you’re waiting for Windows Server 2016
Certainly, wide-scale Windows Server 2016 and container deployments are some time away, but if you’re looking to deploy containerized apps to the Google Cloud, our new Google Cloud Platform Fundamentals course is a great starting point, and will demonstrate how the Google Container Engine works.
You can also download your own copy of Windows Server 2016 TP4 and take a look under the hood yourself.
Not a subscriber? Start your free week today.
CBT Nuggets has everything you need to learn new IT skills and advance your career — unlimited video training and practice exams, virtual labs, validated learning with in-video quizzes, accountability coaching, and access to our exclusive community of professionals.
Learn more about the CBT Nuggets Learning Experience.