Att containerteknik i allmänhet och Docker i synnerhet har tagit världen med storm de senaste åren har knappast undgått någon. Många tycker att containrar är dels en smidig lösning för att skapa enhetliga it-miljöer från utveckling, via test, till produktion, dels ger en enkel lösning för att distribuera, ”deploya”, applikationer. Många uppfattar också containrar som ett smidigt alternativ eller komplement till virtualisering, även om andra hävdar att det handlar om två olika saker.

Hur som helst, med tanke på att Docker skapades för Linux så är det lätt hänt för Windowsfolk att känna sig utanför under Dockers segertåg. Men nu finns ju Docker på Windows, kanske du invänder? Ja, och nej. Docker finns till viss del på Windows, men det finns också andra containerlösningar på Microsoft operativsystem.

Det finns i korthet två olika containerlösningar för det kommande operativsystemet Windows Server 2016 från Microsoft: Windows Server-containrar och Hyper-V-containrar. Det är i båda fallen frågan om Windowsspecifika lösningar. Det går ännu inte att blanda ihop Windowsbaserade containrar med sådana skapade för Linux eller Unix.

Läs också:  Virtuell server eller container – vad är egentligen bäst? Vi har testat.

Även om de två typerna skiljer sig åt vad gäller funktion, så är det enkelt att välja mellan dem, rent praktiskt. Man gör helt enkelt ett val med en alternativknapp när en container skapas.

Den kanske största skillnaden mellan de två typerna gäller hur de isoleras från annan mjukvara på en server. Enkelt uttryckt, om du litar på den kod som körs i en container bör du använda en Windows Server-container. Om du inte kan lita på koden, den kanske inte är verifierad, så är en Hyper V-container att föredra.

Windows Server-containrar

Windows Server-containrar hanteras med en del av det öppna Dockerprojektet. Med den här lösningen kan man skapa Dockerliknande containrar på Windows. De kan beskrivas som en ny typ av virtuell maskin som är mindre isolerad från omvärlden än en traditionell virtuell maskin. Vissa resurser delas mellan flera containrar som körs i samma miljö. Ett exempel kan vara att tre sådana här containrar delar på en C:\Windows-mapp. Det här ger mer effektiv resurshantering än om containrar isoleras mer. Trots att vissa resurser delas så är containrarna isolerade från varandra.

För tillfället finns det stöd för två operativsystem för den här typen: Server Core (Windows utan det grafiska användargränssnittet) och Windows Nano Server (specialvariant avsedd för att köra mikrotjänster).

Hur kommer Docker in i bilden? Jo, administrationslagret för Windows Server-containrar kommer från Docker, alltså api:er och mjukvara för att hantera containrar. Själva modellen för utvecklare kommer också från Dockervärlden. Alltså, den som har baserat Linuxapplikationer på Docker ska kunna föra över de arkitekturkunskaperna till Windows, även om själva programkoden är annorlunda.

Hyper V-containrar

Om man behöver lite mer säkerhet och isolering bör man titta på Hyper V-containrar. Här kommer modellen för isolering av mjukvara från traditionella virtuella maskiner. Det som tillförs ”Docker style” är tänket kring hantering av bilder (images) med hela miljöer och hur de bilderna distribueras. Dessutom kommer administrationsverktyg från Dockersfären.

Hyper-V-containrar delar inte på operativsystemsfiler, processer eller tjänster. I stället körs varje sådan här container i en egen lättviktig virtuell maskin.

Nackdelen är sämre utnyttjande av resurser, eller ”mer overhead” för att uttrycka sig på tekniksvenska. Det får helt enkelt plats färre Hyper-V-containrar än Windows Server-containrar på en server.

Liksom Windows Server-containrarna kan Hyper-V-containrar bara köra Windows.

Läs också: Docker släpper nativeappar till Mac och Windows

Och så var det Docker

Även om Dockerteknik används för Windows Server-containrar så går det inte att hantera Linuxbaserade Dockercontainrar med Windowsverktygen, eller vice versa. Åtminstone inte än så länge. Med tanke att Microsoft använder mer och mer Linuxteknik så kanske det förändras.

Läget för närvarande är att containerlösningar är under utveckling för Windows Server, det finns gott om buggar att rätta till. Men så småningom kan vi räkna med att containrar kommer att bli en vanlig företeelse även i Windowsvärlden.