Tag: Windows Containers

Last updated by at .

Microsoft TechDays 2016

Speaking at Microsoft TechDays 2016 Switzerland

Today I am proud to announce that I have the opportunity to speak at the Swiss version of the Microsoft TechDays. My session will be placed under the IT Pro track and I will cover some of the new stuff coming with Windows Server 2016 and Hyper-V 2016, including:

  • Hyper-V 2016 features
  • Nano Server
  • Storage Spaces Direct
  • Storage Replica
  • Windows Server Containers
  • And more!

Microsoft TechDays 2016 Session

There are also more cool session and I specially want to announce the session of Markus Erlacher (CEO itnetX) and Marcel Zehner (Microsoft MVP) called “Better Together: System Center und Microsoft Operations Management Suite”. So if you want to learn the latest and greats about Microsoft technology, make sure you attend this event.

TechDays 2016

Check out the Microsoft TechDays 2016 in Baden, Switzerland. Keynotes – February 29, 2016 | 1.30pm to 6.15pm with subsequent networking get-together and apéro riche Breakout sessions – March 1st, 2016 | 9.00am to 4.30pm



Configure Nano Server Container Host

Setup Windows Containers on Nano Server

With the release of Windows Server 2016 Technical Preview 4 Microsoft allows you to use Windows Server Containers and Hyper-V Containers on Nano Server. In this blog post I will cover how you can setup a Nano Server on Hyper-V and let it use as a Container Host for your Windows Server and Hyper-V Containers inside this Nano Server VM. I already described how you can create a Nano Server VHDX file and how you can manage your Nano Server using PowerShell or PowerShell Direct so you can use this quick guide to set this up.

Create Nano Server Container Host VM

Create a new Nano Server Container Host VHDX file using the following features:

  • GuestDrivers (VM Drivers for Hyper-V)
  • Containers
  • Compute (Hyper-V role, if you want to run Hyper-V Containers)
  • ReverseForwarders

Create Nano Server Container Host VM PowerShell

Create Nano Server VM

This will create a new VHDX and you can create a new Virtual Machine. The Virtual Machine you create has to have at least 2 vCPUs.

If you want to use Hyper-V Containers inside this Virtual Machine, you have to setup the Virtual Machine to use Nested Virtualization. For this you can use this PowerShell command:

Configure Nano Server Container Host

Startup your Nano Server Virtual Machine and use PowerShell remoting to connect to it:

Configure Nano Server Container Host

You have to configure networking for your container host, you can create a External Switch or a new NAT Switch. If you use a new NAT Switch you can use the following commands:

Now you can download the Nano Server Container Image to your Container Host, so you can create new Containers based on this Image.

Now you can start using Containers inside your Nano Server Container Host.First thing you may notice is how fast and light weight everything is. For example, on my Surface Book it takes 7-8 seconds for the first initial boot of my Nano Server VM and new containers are created and started in less than a second. I really think that the concept of Nano Server and Container will bring a lot of benefits which will make both solutions a great success. When you deploy new servers today it takes several minutes until they are ready, with Nano Server it only takes seconds. If you copy for example a Windows Server Full Installation VHD you copy around 12GB, with Nano Server you copy around 400-500MB.



ALM and Devops Day 2015

Speaking at the Microsoft ALM & DevOps Day

I feel proud to announce at I will speak at the Microsoft ALM & DevOps Day 2015 for Microsoft Switzerland. The event will take place on 24. September 2015 at the Swissôtel Zürich Oerlikon and it will be free. With the release of Windows 10 this summer, Microsoft also released a new versions of the Developer tools Visual Studio 2015 and Team Foundation Server 2015.

In two sessions I will talk about Azure Automation and PowerShell DSC as well as an update on Microsoft Azure showing the latest new features and updates to the Microsoft Cloud.

ALM and Devops Day 2015 Agenda



Containers PowerShell

First steps with Windows Containers

At Microsoft Ignite 2015 back in Chicago Microsoft announced Windows Containers. With the release of the Technical Preview 3 (TP3) for Windows Server 2016 we are finally able to start using Windows Containers, and we can finally test them. But first let use check a little what containers are.

The concept of containers is nothing new, in the Linux world containers are a well known concept. If you have a look at the Wikipedia description for Linux Containers, Wikipedia describes it as follows: LXC (Linux Containers) is an operating-system-level virtualization environment for running multiple isolated Linux systems (containers) on a single Linux control host. Containers provide operating system-level virtualization through a virtual environment that has its own process and network space, instead of creating a full-fledged virtual machine. With Windows Server 2016 more or less the same concept comes the Windows world. This makes containers much more light-weight, faster and less resource consuming than Virtual Machines, which makes it perfect for some scenarios, especially dev-test scenarios or for worker roles.

Container Ecosystem

If we have a look at the concept of containers you have several things in the container ecosystem:

Container Ecosystem

First you have the Container Run-Time which builds the boundaries between the different containers and the operating system. To make deployment easier, faster and more efficient you build Container Images which Include the application frameworks as well as the applications on top of the OS used for the container. To use, store and share Container Images you can use an Image Repository.

The question most people will ask is how are containers different than Virtual Machines etc.

Physical Server

Physical Host

At the beginning what we did is, we installed an operating system on physical hardware and in that operating system we installed applications directly.

Virtual Machines

Virtual Machines

With virtual machines we created simulated some virtual hardware on top of the operating system of the physical server. We installed an operating system inside the virtual machine on top of the virtual hardware and installed application inside the VM. In this case, each virtual machine has its own operating system.

Containers

Containers

With container we use an operating-system-level virtualization environment which create boundaries between different applications. This is so efficient you can run multiple applications side by side without effecting each other. Since this is operating-system-level virtualization you cannot only directly on the operating system on the physical hardware, you can also use operating-system-level virtualization inside a virtual machine. This is by the way the way I see most of the deployments of containers.

Windows Containers vs. Hyper-V Containers

Hyper-V Containers

Microsoft will provide two different types of Container Run-Times. One is Windows Containers and the other one will be Hyper-V Containers (not Hyper-V Virtual Machines). In some cases it is maybe not compliant that some applications share the same operating system. In this case Hyper-V Containers will add an extra boundaries of security. Hyper-V Containers are basically Windows Containers running in a Hyper-V Partition, so with that you gain all the stuff you get with Windows Containers but with another layer of isolation.The great thing here, is that both Container Run-Times use the exam same image format. This means if an image is created in a Windows Container Run-Time it also works as a Hyper-V Container and vice versa.

Hyper-V Containers Nested Virtualization

The other great side effect of Hyper-V Containers is, that in order to run Hyper-V Containers inside a Virtual Machine we need nested Virtualization, which will be included in Windows Server 2016 Hyper-V. Btw. Hyper-V Containers are not part of the Technical Preview 3.

(Pictures from the Microsoft Ignite 2015 presentation of Taylor Brown and Arno Mihm (Program Managers for Containers)

Deploy Windows Containers

With the release of the Technical Preview 3 of Windows Server 2016, Microsoft made Windows Containers available to the public. To get started you can download a install Windows Server 2016 inside a Virtual Machine or even bare-metal. If the virtual machine has internet connection you can use the following command to download the configuration script, which will prepare your container host.

Install Windows Container Host

After that you can run the C:\ContainerSetup.ps1 script, which will prepare your container host. This can take some time depending on your internet connection and hardware.

The VM will restart several times and if it is finished you can start using Windows Containers inside this Virtual Machine.

Managing Windows Containers

Containers PowerShell Module

After you have logged in to the Virtual Machine you can start managing Containers using PowerShell:

Containers PowerShell

Get Container Images, by default you will get a WindowsServerCore Image. You can also create your own images, based on this image.

Create a new Container

Start the container

Connect to the Container using Enter-PSSession

Of course you an also use the docker command to make your containers.

Windows Containers Docker

Deploy a Container Host in Microsoft Azure

If you don’t want to go trough all the installation process you can also use a Template in Microsoft Azure to deploy a new Container Host Virtual Machine.

Microsoft Azure Windows Server Container Preview

If you need some more information on Windows Containers check out the Microsoft Resources on MSDN about Windows Server Containers.

 



Hyper-V

Hyper-V vNext is going to support nested Virtualization

I already wrote a blog post about some of the new features which are coming with the next version of Hyper-V. This week was the Microsoft Build Conference where Microsoft was talking a lot about new stuff for developers and the future of Windows, Azure, Office and so on. Now today I found a very interesting email in my inbox from Ronald Beekelaar (Microsoft MVP for Hyper-V) and he had the chance to visit a session at Build Conference where Taylor Brown and Mathew John were talking about Windows Containers: What, Why and How. In this session there was a quick side note, that Windows Server vNext Hyper-V will support nested Virtualization.

Until today a Hyper-V server could only run Virtual Machines when he was running on physical hardware. This was no problem in production, but when you wanted to do some demos or training you needed a lot of hardware to show what is possible with Hyper-V. Now with nested Virtualization you can run Hyper-V inside a virtual machine and build for example a demo and lab environment on your notebook, creating Hyper-V Clusters and so on.

As for some of you this might be not a big deal, this is a huge deal for everyone who did demos or training on Hyper-V.

 

You can watch the session here on Microsoft Channel9.