The Microsoft team did a great job today talking about containers. What is a container? A container is an isolation layer that allows an application to execute without affecting other applications, or other applications affecting it.
It also makes applications more portable by packaging dependencies and allowing execution on various platforms.
Why should I care about containers?
What container platform options do I have?
- Containers simplify application deployment and movement
- Containers provide portability of applications easily
- Containers provide isolation and security to applications
- Docker engine container (existing, in-market). The Docker engine is an existing in-market platform that facilitates containerization of applications with its own Docker Engine. This is paired with complementary clustering technologies like Docker Swarm, and assembling of multi-container applications with Docker compose. Microsoft is aggressively supporting these efforts in both Azure and on Windows Server, enabling a consistent management experience between Windows and Linux.
- Windows Server container (in Windows Server 2016). A Windows Server container provides isolation of applications, packaging, and deployment capabilities similar to Docker engine, but natively within Windows. The containers share the kernel of the parent operating system, so application uses like PCI would not be appropriate in this scenario. Microsoft is enabling Docker management tools to provide integration to Windows Server containers, which will enable a consistent experience for the developers between multiple platforms.
You can actually combine Docker and Windows Server Containers:
Where do I go to learn more?
- Hyper-V container (in Windows Server 2016). A Hyper-V container is essentially the same thing as a Windows Server container, but it does not share the kernel. This is appropriate for highly regulated or security-centric uses, such as PCI compliance. The Hyper-V container requires the presence of the underlying operating system running Hyper-V, whereas Windows Server containers do not.