AWS ondersteunt Windows-containers, maar met beperkingen

Amazon Web Services (AWS) bevestigt de komst van Windows Containers op de Elastic Container Service (ECS). Er zijn evenwel enkele beperkingen aan verbonden tegenover het gebruik van meer courante Linux-containers.

Windows-containers werden geïntroduceerd in Windows Server 2016 en verder op punt gesteld in Windows Server 2019. AWS biedt voortaan Amazon Machine Instances (AMI’s) voor beide types, inclusief Docker 18.09 en de ECS Agent, aldus The Register.

De nieuwe service beschikt niet over een Windows-versie van AWS Fargate, waarmee containers serverless kunnen worden opgezet. Iets dat zeker als probleem kan worden gezien. Om een ​​Windows-container te kunnen gebruiken, moeten gebruikers een eigen cluster van Elastic Compute Cloud (EC2)-instanties beheren. Dit maakt de oplossing ongeschikt voor kleinschalige of testimplementaties. Bovendien verhoogt het ook nog eens de onderhoudsinspanning.

Meer beperkingen

Bovendien zijn de meeste AWS-taakdefinities waarmee een container kan worden geconfigureerd, niet beschikbaar voor Windows-containers. In het geval een gebruiker rollen van Amazon Identity en Access Management (IAM) voor taken wil gebruiken, dient er een PowerShell-code in de container te worden uitgevoerd. Daarbij is het noodzakelijk om een referentiebevoegdheid te gebruiken, die afgestemd moet worden op poort 80. Deze poort wordt doorgaans gebruikt voor HTTP. Voor het publiceren van poort 80 moet een load balancer en poorttoewijzing worden gebruikt.

Verder laat AWS weten dat er meer opslagruimte nodig is, gezien de grootte van Windows Server Containers, beginnend bij 9 GB. In het geval van Windows Server 2019 zijn er wel kleinere containergroottes beschikbaar.

Geen Hyper-V

Windows Server ondersteunt twee soorten containers. Windows Server Containers delen dezelfde kernel als de host, terwijl Hyper-V-containers geïsoleerd zijn. Op ECS kunnen alleen Windows Server Containers worden uitgevoerd, gezien Amazon EC2-instanties Hyper-V niet ondersteunen.

Op zich zijn de beperkingen niet zo vreemd te noemen, wetende dat de containertechnologie ontwikkeld is op Linux. Hoewel Microsoft, in samenwerking met Docker, grote inspanningen heeft geleverd om Windows-containers te ondersteunen, kunnen ontwikkelaars zich afvragen waarom ze er zelfs aan zouden beginnen. Zeker gezien ontwikkelaars .NET Core-toepassingen kunnen schrijven, die op Linux worden uitgevoerd.

De mogelijkheid om Windows-containers nu ook op AWS uit te kunnen voeren, lijkt vooral een niche-mogelijkheid te zijn voor de cloudmigratie van oudere legacy-toepassingen.

Lees ook: Google Kubernetes Engine krijgt Windows-ondersteuning en gerichte updatekanalen