Microsoft med containere

LANGT LETTERE: Ved å kjøre applikasjoner i containere i stedet for i virtuelle maskiner blir hver serverapplikasjon mye lettere. Det betyr at flere applikasjoner kan kjøre på samme fysiske server.

Microsoft med containere

Henger seg på Linux-baserte Dockers suksess, implementerer containerteknologi i neste versjon av Windows Server.

I en bloggpost på Microsofts Server & Cloud-blogg har selskapet nylig annonsert ny støtte for containerteknologi i den neste versjonen av Windows Server. Tidligere har Microsoft og Docker, selskapet som har ledet an i utviklingen av containerteknologi på Linux, annonsert at selskapene skal samarbeide om å realisere Dockers containerløsning på Windows Server, under navnet "Windows Server Containers". Dette lover Microsoft skal demonstreres på Build-konferansen i San Francisco i slutten av denne måneden.

I tillegg har Microsoft nå annonsert at de kommer med to tillegg som er skreddersydd for containerteknologi: Hyper-V Containers som er basert på Hyper-V virtualisering for høyere sikkerhet og sterkere isolering av containerne på et system.

I tillegg kommer en ny implementasjon av Windows Server; Nano Server som er en serverinstans med minimal størrelse, skreddersydd for skybruk og for å huse containere. Dette utgaven av Windows Server kommer ifølge Windows Server-bloggen til å være kun en brøkdel av størrelsen til tradisjonelle Server-installasjoner. For eksempel loves en reduksjon i størrelsen til VHD-filene på hele 93 prosent.

Container, ikke VM

Det er ikke forferdelig lenge siden at «container» kun var en form for standardisert emballasje for varer som skal fraktes med skip, tog eller bil. Nå har containere inntatt datasentrene også, der begrepet brukes om virtualiserte applikasjoner som deler et felles operativsystem, og biblioteker der det er relevant, som er eksternt for containeren.

I stedet for å lage en abstraksjon av maskinvaren, som hypervisorer gjør, pakkes applikasjonene og nødvendig programvare de trenger inn i en pakke – en container – som er isolert på systemet, men som deler det samme operativsystemet som kjører på maskinvaren.

Dermed er det ikke nødvendig for en container å ha et installert operativsystem, slik som er tilfellet for virtuelle maskiner (VM-er). Resultatet er en applikasjonspakke som er like portabel og enkel å ha med å gjøre som en VM, samtidig som den er mye mindre og lettere enn en VM. Forutsetningen er naturligvis at innholdet av containeren er avhengig av operativsystemet som det er lagd for å kjøre på.

Fordeler med containere

Det er flere fordeler med containere i forhold til VM-er. En utvikler kan lage applikasjonen og pakke den i en container uten annen programvare enn selve applikasjonen og eventuelle nødvendige biblioteker, deretter kan den flyttes til et testmiljø og deretter til et produksjonsmiljø, helt uten at det er behov for å endre på applikasjonen eller containeren. Derfor er dette en svært egnet teknologi for devops-miljøer, der både utvikling og produksjon utføres av de samme fagmiljøene.

En annen god egenskap med applikasjoner i containere i stedet for i komplette VM-er, er at containerne tar mindre plass og tar færre ressurser fra vertssystemer. Dermed er det mulig å kjøre flere applikasjoner på det samme fysiske systemet.

- Du vil kunne kjøre opptil fire til seks ganger så mange serverapplikasjoner på samme maskinvare, sammenlignet med VM-er basert på for eksempel Xen eller KVM, har James Bottomly, teknologisjef i Parallels, tidligere fortalt til våre kolleger i networkworld.com.

Docker på Linux

Det er programvaren fra selskapet Docker som først og fremst har æren for at containere har fått stor oppmerksomhet de siste par årene. Denne programvaren er ikke en containerløsning i seg selv, men den utnytter containerteknologien som finnes i Linux. Docker ligger oppå Linux, og bistår med orkestrering og pakking av applikasjoner i containere. Dersom ikke det underliggende operativsystemet ikke understøtter containere, vil ikke Dockers løsning virke.

Det er imidlertid svært mange Linux-systemer i verdens datasentre. Docker fungerer på alle Linux-varianter, og siden selskapet kom på banen i 2013 har programvaren blitt lastet ned over 100 millioner ganger.

Dette har også Microsoft oppdaget, ettersom mange av selskapets kunder av Microsoft Azure skytjenester kjører Linux.

- Interessen for containere er svært høy, fortalte Mike Schutz, som leder produktmarkedsføringen av Microsofts skytjenester til Networlworld.com. Han la til at 20 prosent av kundene på Azure bruker Linux som operativsystem, og en signifikant andel av disse bruker Docker containere oppå Linux.

Docker og Microsoft

Det er altså ikke rart at Microsoft ønsker å knytte seg til Dockers suksess. Microsoft har allerede inngått et samarbeid med Docker, der Docker skal utgjøre en viktig bestanddel av Microsofts løsning. I første omgang dreier det seg om å tilrettelegge for at Docker skal fungere på Windows Server, slik at programvare utviklet for Microsoft .Net skal la seg kjøre i containere.

Målsetningen er at både Linux- og Microsoft Server-applikasjoner skal kunne administreres fra det samme konsollet i Docker. I denne sammenhengen har Microsoft bidratt med åpen kildekode på Github, for å kunne knytte sammen Docker og Microsoft Server Containers.

I tillegg vil de kommende containerfunksjonene Hyper-V Containers og Nano Server også la seg bruke av Dockers løsning.

Disse nye Microsoft-teknologiene forventes inkludert i neste utgave av Microsoft Server, som kommer i 2016. Da vil også programvare utviklet for Microsoft operativmiljøer kunne nyte godt av en av de nyeste trendene i datasenteret.