Recently I had the great honor of hosting Microsoft’s very own Ben Armstrong (Principal Program Manager Lead, Microsoft, and co-creator of Hyper-V) for an AMA (Ask Me Anything) styled webinar about containers. Ben and the team have been hard at work for quite some time now on making containers the best that they can be in the Microsoft ecosystem, and he provided a ton of insight into their development, intended use, futures, and more.

As you can expect with an AMA styled webinar with someone of Ben’s caliber, there were many good questions asked throughout the webinar. With that in mind, we’ve compiled a list of the questions asked throughout and their associated answers below.

Haven’t Seen the Webinar Yet?

The questions and answers below are concise and straight to the point. They have not been published verbatim from the webinar so if you’d like a little more back-story and reasoning behind some of these answers, watch the hour-long webinar here. Ben did a fantastic job of explaining why things are a certain way, or why certain decisions were taken from the perspective of the developers themselves. What might seem straightforward from our side of the fence, sometimes turns out to be completely different from the inner sanctum of those creating the product itself. If you’re interested in hearing this insider info we thoroughly recommend watching the webinar recording!

ben armstrong on containers

The Questions

Q. Is the Microsoft definition of a container different than the rest of the industry?

Ben: Not really. A container is still a container in the Microsoft world. Things are still managed via docker, and the only potential difference is the ability to run the container fully isolated within Hyper-V in addition to the standard kernel virtualization method, which Microsoft refers to as Windows Containers.

Q: What container platform is the friendliest to use or most suitable for most mid-sized companies?

Ben: Containers on Windows is powered by docker and it’s a good fit for mid-sized businesses as long as you’re running a more recent revision of Windows Server. Once you get started and get to a point where you need further orchestration, you can add something like Kubernetes to help you manage the solution.

Q: Are micro-services on Azure Service Fabric considered as part of the “container” definition? Also, with the rise of docker, does Microsoft plan to continue pushing microservices as much in the near future?

Ben: Azure Service Fabric is actually a container management/orchestration tool for containers running within Azure. This is an area that Microsoft will continue to invest in alongside docker/containers on Windows.

Q: Is there a certification exam for containers?

Ben: Not today there isn’t, but it would be safe to assume that container management will become part of the core MSCA/MSCE certifications for Windows Server due to It becoming a core role/feature on that platform.

Q: How does Microsoft License the use of containers?

Ben: It’s surprisingly simple actually. When you purchase Windows Server you can run as many Windows Containers as you want. If you want the added isolation of Hyper-V containers, those are licensed just like VMs. 2 Hyper-V Containers with the Standard Edition of Windows Server, and unlimited Hyper-V Containers with the Datacenter Edition of Windows Server.

Q: Which Orchestrator would you prefer to manage your containers?

Ben: Kubernetes is becoming the industry favorite here and likely has the most support, but you can use any of the others out there as well.

Q: Why should I use a container as a system administrator?

Ben: Containerized applications have numerous benefits. They are light-weight, easily movable, and designed for the emerging cloud-centric world. They remove a lot of the OS-related overhead from VMs and allow you to get a greater density of workload per node in your datacenter.

Q: What servers are prime for becoming containers?

Ben: While Microsoft is working to get all roles/features in Windows Server to a place where they can run inside of a container, they’re just not there yet. As It stands today, some of the best workloads to run inside of a container are things like, WebApps, SQL, Stateless applications, and things of that nature.

Q: Shouldn’t Core Services like Active Directory be run within a VM?

Ben: While it is true today that not all core services (AD Included) can be run within a container, it won’t always be that way. SQL is a good example of a core service that runs perfectly fine within a container today!

Q: What are some things that would prevent me from putting an application inside of a container?

Ben: If the app requires an older version of Windows that would be a deal-breaker as Containers only runs on Windows Server 2016 or newer. Also, if your app requires a GUI, that would be a no-go as containers are intended to be 100% headless.

Q: Will support for Containers on Windows Server 2016 be dropped and moved to Windows Server 2019?

Ben: Containers are fully supported today on Windows Server 2016 and will continue to be supported, however as new features are released you likely see those innovations happening in the technical preview of Windows Server 2019 moving forward.

Q: What controls the creation of a container? For example, if I have a container with a website on it and I enter something.internal into my browser, what causes the container to spin up?

Ben: For orchestration like this you’ll want to look into something like Kubernetes.

Q: Can you run containers under VMware and if so what OS is supported

Ben: As it stands today, you can only run Windows Containers on a Windows Server 2016 guest VM on VMware. Hyper-V containers are not currently supported in this instance.

Q: What are the basic requirements for using Containers?

Ben: The basic requirements are Windows Server 2016 or newer, or Windows 10 or newer. Docker is required and, if you want to run Hyper-V containers you need a machine capable of running Hyper-V.

Q: Do you have feedback from clients or case studies on a Windows Containerization project?

Ben: Here is a good one from Alaska Airlines.

Q: When would you want to run Windows Containers vs. Hyper-V Containers?

Ben: Windows Containers share the kernel of the host OS. If you’re in a situation where you need further isolation, that when you would use Hyper-V containers over Windows Containers.

Q: With Windows Containers running on Windows Server 2016, what are the OS choices for the container?

Ben: There are two container images available in production today. A Windows Server 2016 Server Core image for legacy apps, and a Windows Server 2016 Nano Server Image that is designed for cloud-native apps.

Q: How does the resource footprint of a container compare with an equivalent VM?

Ben: Cpu usage is roughly the same while memory and storage usage is MUCH less.

Q: Is it possible to run a Failover Cluster configuration with containers?

Ben: What you’ll do in this instance is use Failover Cluster to serve up virtual machines and then run containers on those virtual machines.

Q: Could you provide some clarity on containers vs. remote app vs. APP-V?

Ben: Keep a look out on Ben’s blog for a future article about this.

Q: How many Windows Containers can you run on average on a decently sized node (4 CPU, 16GB mem)

Ben: Roughly 40 containers.

Q: What is the plan to reduce Windows Image Sizes

Ben: The Image sizes are actively being reduced in the current insiders preview of Windows Server. Both images (Nano and Core) have seen massive reductions in size. If you’d like to check these out be sure to be running the latest version of the insiders preview and then use docker to pull the image that is appended with the name -insiderpreview. You’ll be able to see how much smaller the image is.

Q: What about Altaro Support for Containers?

Ben: Containers is still quite new to the Microsoft world, and so far has primarily been used for dev workloads but that is changing quickly and as such vendors such as Altaro are working on how to support it for the wider audience they cater for.

Andy (Altaro): We at Altaro are actively evaluating the unique data protection needs of containerized workloads before we roll out support within our product range and will be sure to update you via this blog once we have something that protects the containers themselves. As for persistent data used by containers but stored elsewhere, that data likely sits on a VM somewhere and we have the ability to protect that data like we always have!

Wrap-Up

We hope you’ve enjoyed this Q&A list and that it got you up to speed on the potential containers provide for virtualization tasks. Don’t forget to watch the webinar in its entirety here if you haven’t done so already. It was fascinating getting insights directly from Microsoft and the engagement we received during the webinar clearly shows you guys enjoyed it too! Thanks to Ben for joining us and thanks to everyone who asked a question!

If you asked a question that you don’t see mentioned above, or have a new question, be sure to let us know in the comments form below and we’ll be sure to get you an answer ASAP.

Thanks for reading!