Wanneer gebruik je best (geen) AKS?

10.06

Microsofts Azure Kubernetes Service (AKS) is een populaire service met een heel resem aan functies die organisaties helpen om “gecontaineriseerde” applicaties in de cloud op te zetten en te managen. Zoals bij elke technologie is het wel belangrijk om eerst zorgvuldig te overwegen of AKS wel voldoet aan de specifieke behoeften en vereisten van je organisatie vooraleer je er mee aan de slag gaat.  

In deze blogpost sommen we enkele use cases op die we bij CloudFuel zijn tegengekomen en waarin AKS (niet) uitblinkt vergeleken met enkele populaire alternatieven, zoals Azure Container Apps (ACA), Azure Container Instances, of Azure Web Apps for Containers. Lees zeker ook eens onze eerdere blog voor meer info over die alternatieven en hun mogelijkheden. 

Wanneer gebruik je AKS? 

Wanneer je beslist over het al dan niet gebruiken van AKS, overweeg dan altijd de specifieke noden en requirements van je organisatie. Hoewel de uiteindelijke beslissing neerkomt op een complexe afweging van verschillende requirements, kunnen de volgende factoren je helpen de doorslag te geven: 

  • Een algemene overweging: wanneer je als organisatie meer dan een dozijn microservices moet gebruiken, wordt de extra controle die AKS je kan bieden des te interessanter. 
  • Als je configuratie-opties nodig hebt voor applicaties die intensief gebruikmaken van de CPU en/of het geheugen, zal AKS je meer soorten hardware kunnen aanbieden in vergelijking met andere platformen. Hou er wel rekening mee dat de beschikbare opties na verloop van tijd kunnen veranderen. Zo heeft ACA onlangs extra hardwareopties aangekondigd in public preview.  
  • Datzelfde geldt voor GPU-intensieve workloads: ook hier biedt AKS een breder scala aan hardware in vergelijking met andere platformen zoals ACA. 
  • AKS is een goede optie voor organisaties die ondersteuning nodig hebben voor op Windows gebaseerde images, waardoor het ideaal is voor bedrijven met specifieke eisen voor Windows op vlak van applicaties. 
  • Overweeg zeker om AKS te gebruiken als je met GitOps werkt, want het biedt plug-in ondersteuning voor ArgoCD. Bovendien is Flux ingebouwd in AKS. 
  • Een ander voordeel van AKS is dat je de open service mesh kan gebruiken. Die meshes bieden een aantal capabilities zoals traffic management, resilience, policy, security, strong identity, en observability voor je workloads. Je applicaties zullen worden losgekoppeld van deze operationele capabilities, omdat de service mesh ze verplaatst van de applicatielaag naar de infrastructuurlaag. 
  • Wanneer je applicatiegateways voor je Kubernetes-clusters moet configureren en beheren, kan AKS je tijd en moeite besparen dankzij de ingebouwde Azure Application Gateway Ingress Controller (AGIC). AGIC kan de applicatiegateway automatisch configureren op basis van de requirements van je cluster. In sommige gevallen kan het wel interessant zijn om de gateway manueel te configureren en zo meer controle te hebben over de instellingen. 
  • Bepaalde applicaties zoals Drupal hebben POSIX rechten nodig om goed te kunnen werken. Oplossingen die iets abstracter zijn zoals ACA bieden dit soort toegang niet. 
  • Wanneer je in een zeer GDPR-/privacygevoelige omgeving werkt, ondersteunt AKS “confidential computing”. Dit betekent dat zelfs de processor enkel toegang heeft tot de versleutelde gegevens. 
  • Als je organisatie verschillende teams van ontwikkelaars heeft en je de toegang wil beperken met bijvoorbeeld Azure AD en RBAC, maakt AKS het beheren van die infrastructuur eenvoudiger. 

Wanneer gebruik je beter geen AKS? 

Bij CloudFuel vinden we het belangrijk om zowel de voordelen als de beperkingen van elke technologie te begrijpen. Hoewel AKS veel voordelen biedt, is het niet altijd de beste oplossing. Hier volgen enkele use cases waarbij het beter kan zijn om een alternatieve oplossing te overwegen. 

  • AKS biedt veel configuratieopties, maar ACA heeft een meer gestroomlijnde en vereenvoudigde benadering van containerorkestratie, waardoor ontwikkelaars er gemakkelijker mee kunnen werken en er minder infrastructuurondersteuning nodig is. Oplossingen zoals ACA leggen het infrastructuurbeheer in handen van Azure, in plaats van je ontwikkelaars. 
  • Als je revision tools nodig hebt voor zogenaamde blue-green en canary deployments, kan AKS je daar bij helpen, maar het vergt wel wat moeite om op te zetten. Met ACA (revisies) of Web App for Containers (slots) worden deze deploymentschema’s out of the box ondersteund. 
  • Als je organisatie uitsluitend op Linux gebaseerde container images gebruikt, kan het interessanter zijn om andere oplossingen te overwegen, omdat deze ook Linux images ondersteunen en een meer vereenvoudigde aanpak van containerorkestratie kunnen hebben dan AKS. 
  • Voor kleinere organisaties met beperkte IT-middelen kan AKS te complex zijn om te beheren. In dit geval zijn eenvoudigere oplossingen, zoals Azure Container Instances of Azure Web Apps for Containers, waarschijnlijk beter geschikt. 
  • Als je workloads minder complex zijn, heb je de extra functies en mogelijkheden van AKS misschien niet nodig. Ook hier zijn dezelfde eenvoudigere oplossingen minstens het overwegen waard. 
  • Als je Azure Defender for Containers (dat security monitoring en threat detection voor je containers biedt) niet nodig hebt, dan is AKS misschien niet de meest geschikte oplossing. Ook hier kies je beter voor een meer gestroomlijnd alternatief, zoals Azure Container Instances of Azure Web Apps for Containers. 
  • Als je op zoek bent naar de meest voordelige oplossing, is AKS waarschijnlijk niet de beste keuze. Omdat het veel krachtige functies biedt, kan AKS een stuk duurder uitvallen dan andere oplossingen voor containerorkestratie. 
  • Tot slot: als je serverless wil werken en liever betaalt volgens een pay-as-you-use model, dan is AKS misschien niet de beste keuze voor je. 

Zoals we eerder al aangaven zijn deze factoren slechts enkele specifieke voorbeelden van use cases waarin AKS al dan niet de beste keuze is. Uiteindelijk zal de beslissing afhangen van een complexe reeks vereisten, waaronder technische noden, doelstellingen van de business, en de beschikbare middelen. Het is belangrijk om de specifieke behoeften en requirements van je organisatie grondig te evalueren om te bepalen of AKS wel de juiste keuze is. Overleggen met experts zoals CloudFuel kan er eveneens voor zorgen dat je de beste beslissing voor je organisatie neemt. 

Smokescreen