3min Devops

WSL groeit uit tot platform voor AI en containers

WSL groeit uit tot platform voor AI en containers

Microsoft breidt Windows Subsystem for Linux (WSL) uit met eigen ondersteuning voor Linux-containers. WSL Containers is vanaf nu algemeen beschikbaar. Daarmee wil Microsoft Linux onder Windows verder ontwikkelen van een hulpmiddel voor developers tot een platform waarop ook AI- en cloud-native workloads kunnen draaien.

Ontwikkelaars konden via WSL al een Linux-omgeving naast Windows gebruiken. Containers vereisten daarbij doorgaans aanvullende software en een aparte container-runtime. Met WSL Containers brengt Microsoft die functionaliteit dichter naar WSL zelf.

Centraal staat wslc.exe, een commandline-interface waarmee Linux-containers vanuit Windows kunnen worden gebouwd, gestart en beheerd. Microsoft levert ook container.exe als alias voor dezelfde functionaliteit. Daarnaast is er een API waarmee Windows-applicaties rechtstreeks Linux-containers kunnen aanroepen.

Dat laatste is vooral interessant voor toepassingen waarbij Windows-software gebruikmaakt van Linux-componenten. Microsoft noemt onder meer lokale AI-workloads als voorbeeld. Een Windows-applicatie kan zo functionaliteit uitvoeren in een Linux-container zonder dat de gebruiker daarvoor afzonderlijk een Linux-systeem hoeft te beheren.

Van ontwikkelomgeving naar uitvoeringsplatform

Daarmee krijgt de introductie een bredere betekenis dan alleen het toevoegen van containerondersteuning. Microsoft zegt WSL op termijn te zien veranderen van een ontwikkelomgeving in een uitvoeringsplatform voor AI- en cloud-native workloads.

Dat sluit aan bij een ontwikkeling waarbij steeds meer software voor AI en cloudinfrastructuur in eerste instantie voor Linux wordt ontwikkeld. In plaats van ontwikkelaars daarvoor naar een afzonderlijke Linux-machine of virtuele omgeving te sturen, probeert Microsoft die workloads binnen Windows onder te brengen.

Bij de algemene beschikbaarheid heeft WSL Containers daarom ook functies gekregen die nodig zijn voor serieuzer containerbeheer. Containers kunnen onder meer opnieuw worden gestart, bestanden kunnen worden gekopieerd en er zijn healthchecks en uitgebreidere netwerkfuncties toegevoegd. Ook kan worden bepaald waar de containerdata worden opgeslagen.

Microsoft claimt daarnaast dat toegang vanuit Linux tot bestanden op Windows in bepaalde situaties tot twee keer sneller kan zijn. Juist die bestandstoegang is traditioneel een knelpunt wanneer Windows- en Linux-omgevingen naast elkaar worden gebruikt.

Beheer voor bedrijven

Microsoft probeert WSL Containers tegelijkertijd geschikt te maken voor gebruik binnen organisaties. De integraties met Intune en Defender for Endpoint worden daarom uitgebreid naar containers.

Via Intune kunnen beheerders WSL Containers uitschakelen of bepalen uit welke containerregisters developers images mogen ophalen. Dat moet voorkomen dat willekeurige container-images binnen een bedrijfsomgeving worden gebruikt.

Defender for Endpoint kan ondertussen proces-, bestands- en netwerkactiviteit binnen WSL-containers zichtbaar maken en koppelen aan de Windows-host. Beveiligingsteams hoeven de Linux-container daardoor niet als een volledig losstaande omgeving te behandelen.

Ook ontwikkeltools beginnen WSL Containers te ondersteunen. VS Code Dev Containers kan wslc als driver gebruiken, terwijl onder meer Aspire en de VS Code Containers-extensie ondersteuning hebben toegevoegd.

Compose staat op de planning

Een belangrijke functie ontbreekt voorlopig nog. Microsoft werkt aan ondersteuning voor Compose, waarmee meerdere containers vanuit één configuratiebestand kunnen worden gestart. Het uiteindelijke doel is bestaande compose.yaml-bestanden zonder aanpassingen te kunnen gebruiken.

Microsoft werkt daarnaast verder aan de netwerkfunctionaliteit en bestandsprestaties tussen Windows en Linux. Daarmee wordt duidelijk waar het bedrijf met WSL naartoe wil: Linux moet binnen Windows niet langer alleen een handige omgeving voor ontwikkelaars zijn, maar een geïntegreerd onderdeel van het platform waarop ook containers en AI-workloads kunnen worden uitgevoerd.