Delen via


Een Azure-containerservice kiezen

Azure biedt een scala aan containerhostingservices die zijn ontworpen om tegemoet te komen aan verschillende workloads, architecturen en zakelijke vereisten. Deze selectiehandleiding voor containerservices kan uw workloadteam helpen begrijpen welke Azure-containerservice het meest geschikt is voor uw workloadscenario's en -vereisten.

Notitie

In deze handleiding verwijst de workload naar een verzameling toepassingsresources die ondersteuning bieden voor een bedrijfsdoel of de implementatie van een bedrijfsproces. Een workload maakt gebruik van meerdere services, zoals API's en gegevensarchieven, die samenwerken om specifieke end-to-end-functionaliteit te leveren.

Overzicht

Deze handleiding bevat dit inleidingsartikel en een ander artikel over overwegingen die worden gedeeld in alle typen werkbelastingen.

Notitie

Als u zich niet wilt inzetten voor containerisatie, kiest u een andere rekenoptie om uw workload te hosten.

Dit inleidende artikel bevat een overzicht van de Azure-containerservices die in deze handleiding worden behandeld en vergelijkt hun servicemodellen op basis van configureerbaarheid en vooraf gedefinieerde oplossingen, zoals door de klant beheerde versus door Microsoft beheerde benaderingen. Nadat u kandidaatservices hebt geïdentificeerd op basis van uw voorkeuren voor het servicemodel, is de volgende stap het beoordelen van de opties voor uw workloadvereisten door het artikel te bekijken over gedeelde overwegingen voor netwerken, beveiliging, bewerkingen en betrouwbaarheid.

Deze handleiding helpt u bij het evalueren van afwegingen op basis van de technische vereisten, grootte en complexiteit van uw workload. Het beschouwt ook de expertise van uw team om geïnformeerde besluitvorming te garanderen.

Azure Container Services vallen binnen de reikwijdte van deze handleiding

Deze handleiding is gericht op een subset van de containerservices die Azure biedt. Deze subset biedt een volwassen functieset voor webtoepassingen en API's, netwerken, waarneembaarheid, ontwikkelhulpprogramma's en bewerkingen. De volgende containerservices worden vergeleken:

Azure Container Apps-logo

Azure Container Apps is een volledig beheerd platform waarmee u containertoepassingen kunt uitvoeren zonder dat u zich zorgen hoeft te maken over indeling of infrastructuur. Zie de documentatie voor Container Apps voor meer informatie.

AKS-logo

Azure Kubernetes Service (AKS) is een beheerde Kubernetes-service voor het uitvoeren van containertoepassingen. Met AKS kunt u profiteren van beheerde invoegtoepassingen en extensies voor extra mogelijkheden, terwijl u het breedste configuratieniveau behoudt. Zie AKS-documentatievoor meer informatie.

App Service-logo

Web App for Containers is een functie van Azure App Service. App Service is een volledig beheerde service voor het hosten van op HTTP gebaseerde web-apps met ingebouwde infrastructuuronderhoud, beveiligingspatching, schalen en diagnostische hulpprogramma's. Zie App Service-documentatievoor meer informatie.

Zie Containers in Azure voor een volledige lijst met Azure-containerservices.

Overwegingen voor servicemodellen

Een servicemodel helpt u te begrijpen hoeveel flexibiliteit en controle elke Azure-containerservice biedt. Complexe services bieden meer controle, terwijl eenvoudigere services het beheer eenvoudiger maken, maar aanpassingen beperken.

Zie Gedeelde verantwoordelijkheid in de cloud voor meer informatie over terminologie en concepten van servicemodellen, waaronder IaaS (Infrastructure as a Service) en Platform as a Service (PaaS).

De servicemodellen van Azure-containeroplossingen vergelijken

Azure Kubernetes Service (AKS)

AKS is een combinatie van IaaS en PaaS die zich meer richt op controle dan eenvoud. Het maakt gebruik van Kubernetes, het standaardsysteem voor het organiseren van containers. AKS stroomlijnt het beheer van de onderliggende kerninfrastructuur. Dit platform op basis van virtuele machines (VM's) wordt echter blootgesteld aan uw toepassingen en vereist passende kaders en processen, zoals patching, om beveiliging en bedrijfscontinuïteit te garanderen. De rekeninfrastructuur wordt ondersteund door extra Azure-resources die rechtstreeks in uw abonnement worden gehost, zoals Azure Load Balancers, containerregisters of toepassingsgateways.

AKS biedt toegang tot de Kubernetes API-server, waarmee u containerindeling kunt aanpassen en hulptoepassingen kunt implementeren vanuit de Cloud Native Computing Foundation. Als gevolg hiervan hebben workloadteams die geen kennis hebben met Kubernetes, een aanzienlijke leercurve. Als u niet bekend bent met oplossingen in containers, moet u deze leercurve overwegen. De volgende PaaS-oplossingen bieden een lagere barrière voor toegang. U kunt overstappen naar Kubernetes wanneer uw vereisten dit eisen.

AKS Automatisch

Met AKS Automatic kunt u Eenvoudiger Kubernetes gebruiken door complexe clusterbeheertaken te automatiseren. Deze automatisering vermindert de behoefte aan geavanceerde Kubernetes-expertise. Het biedt een meer gestroomlijnde PaaS-achtige ervaring met behoud van de flexibiliteit en uitbreidbaarheid van Kubernetes. Azure beheert het instellen van clusters, knooppuntinrichting, schalen, beveiligingspatching en past standaard best practice-configuraties toe. Deze automatisering vermindert de operationele inspanning, maar beperkt de beschikbare topologieopties.

Notitie

In deze handleiding wordt onderscheid gemaakt tussen AKS Standard en AKS Automatic, indien van toepassing. Anders kunt u ervan uitgaan dat de beschreven functionaliteit consistent is voor beide aanbiedingen.

Container-toepassingen

Container Apps is een abstractielaag boven op Kubernetes waarmee uw apps kunnen worden uitgevoerd en geschaald zonder direct beheer van de onderliggende infrastructuur te vereisen. Container Apps biedt zowel serverloze als toegewezen rekenopties. Met deze opties hebt u volledige controle over het type en de hoeveelheid rekenresources die beschikbaar zijn voor uw toepassingen. Container Apps abstraheert api's voor containerindeling en biedt nog steeds ingebouwde toegang tot belangrijke functies zoals inkomend verkeer van laag 7, verkeer splitsen, A/B-testen en levenscyclusbeheer van toepassingen.

Webapp voor containers

Web App for Containers is een PaaS-aanbieding die prioriteit geeft aan eenvoud ten opzichte van Container Apps. Het abstraheert containerindeling terwijl het nog steeds ondersteuning biedt voor schalen, levenscyclusbeheer van toepassingen, verkeer splitsen, netwerkintegratie en waarneembaarheid.

Overwegingen voor hostingmodellen

U kunt Azure-resources, zoals AKS-clusters, gebruiken om meerdere workloads te hosten. Deze aanpak kan u helpen bij het stroomlijnen van bewerkingen, waardoor de totale kosten worden verminderd. Als u deze optie kiest, kunt u de volgende functies overwegen:

  • AKS- wordt vaak gebruikt voor het hosten van meerdere workloads of verschillende workloadonderdelen. U kunt deze workloads en onderdelen isoleren met behulp van de systeemeigen functionaliteit van Kubernetes, zoals naamruimten, toegangsbeheer en netwerkbesturingselementen, om te voldoen aan de beveiligingsvereisten.

    U kunt AKS ook gebruiken in scenario's met één workload als u de extra functionaliteit nodig hebt die de Kubernetes-API biedt en uw workloadteam voldoende ervaring heeft met het uitvoeren van een Kubernetes-cluster. Teams met minder Kubernetes-ervaring kunnen hun eigen clusters nog steeds effectief beheren met behulp van door Azure beheerde invoegtoepassingen en functies zoals automatische upgrade van clusters om operationele inspanningen te verminderen.

  • Container Apps moet worden gebruikt voor het hosten van één taak met een gedeeld beveiligingsniveau. Container Apps heeft één logische grens op het hoogste niveau, een Container Apps-omgeving genoemd, die ook fungeert als een verbeterde beveiligingsgrens. Er zijn geen mechanismen voor gedetailleerdere toegangsbeheer. Communicatie tussen omgevingen is bijvoorbeeld onbeperkt en alle toepassingen delen één Log Analytics-werkruimte.

    Als de workload meerdere onderdelen en beveiligingsgrenzen heeft, moet u meerdere Container Apps-omgevingen implementeren of in plaats daarvan AKS overwegen.

  • Web App for Containers is een functie van App Service. App Service groept toepassingen in een logische rekengrens die een App Service-plan wordt genoemd. Omdat u op rollen gebaseerd toegangsbeheer op toepassingsniveau kunt schalen, wilt u mogelijk meerdere workloads in één abonnement hosten. Het is echter het beste om één workload voor elk plan te hosten om het probleem met lawaaierige buren te voorkomen. Alle apps in één App Service-plan delen hetzelfde toegewezen reken-, geheugen- en opslagaccount.

    Wanneer u rekening houdt met hardware-isolatie, moet u er rekening mee houden dat App Service-plannen doorgaans worden uitgevoerd op infrastructuur die wordt gedeeld met andere Azure-klanten. U kunt toegewezen lagen kiezen voor toegewezen VM's of geïsoleerde lagen voor toegewezen VM's in een toegewezen virtueel netwerk.

Over het algemeen kunnen alle Azure-containerservices meerdere toepassingen hosten die meerdere onderdelen hebben. Container Apps en Web App for Containers werken echter het beste voor één workloadonderdeel of meerdere nauw gerelateerde workloadonderdelen die een vergelijkbare levenscyclus delen en één team eigenaar is en de toepassing uitvoert.

Als u verschillende, mogelijk niet-gerelateerde toepassingsonderdelen of workloads op één host wilt hosten, kunt u AKS overwegen.

De afweging tussen controle en gebruiksgemak

AKS biedt de meest configureerbaarheid, maar die configureerbaarheid vereist meer operationele inspanningen in vergelijking met de andere services. Container Apps en Web App for Containers zijn beide PaaS-services met vergelijkbare niveaus van door Microsoft beheerde functies. Web App for Containers richt zich op eenvoud om de doelgroep te bedienen. Dit zijn bestaande App Service-klanten die bekend zijn met de interface.

Beste praktijken

Services die meer eenvoud bieden, zijn meestal geschikt voor klanten die zich richten op functieontwikkeling in plaats van infrastructuurbeheer. Services die meer controle bieden, zijn meestal geschikt voor klanten die configureerbaarheid nodig hebben en de vaardigheden, resources en zakelijke redenen hebben om hun eigen infrastructuur te beheren.

Gedeelde overwegingen voor alle workloads

Een workloadteam geeft mogelijk de voorkeur aan een specifiek servicemodel, maar dat model voldoet mogelijk niet aan de algemene vereisten van de organisatie. Ontwikkelaars willen bijvoorbeeld minder operationele inspanningen, maar beveiligingsteams kunnen deze overhead overwegen die nodig is voor naleving. Teams moeten samenwerken om de juiste afwegingen te maken.

Gedeelde overwegingen hebben betrekking op een breed scala aan factoren. Er kan slechts een subset van overwegingen op u van toepassing zijn op basis van het workloadtype. Uw rol binnen de organisatie is ook van invloed op welke overwegingen relevant zijn.

De volgende tabel bevat een overzicht op hoog niveau van overwegingen, waaronder vergelijkingen van servicefuncties. Bekijk de overwegingen in elke categorie en vergelijk deze met de vereisten van uw workload.

Categorie Overzicht
Netwerkoverwegingen Netwerken in Azure-containerservices zijn afhankelijk van uw voorkeur voor eenvoud of configureerbaarheid. AKS biedt uitgebreide controle over de netwerkstroom, maar vereist meer operationele inspanningen. Container Apps heeft door Azure beheerde netwerkfuncties en bevindt zich tussen AKS en Web App for Containers, die klanten bedient die App Service al gebruiken.

Beslissingen over netwerkontwerp hebben gevolgen op de lange termijn, omdat het wijzigen ervan vaak vereist dat u workloads opnieuw implementeert. Verschillende factoren, zoals het plannen van IP-adressen, taakverdeling, servicedetectie en privénetwerken, variëren tussen deze services. U moet zorgvuldig controleren hoe elke service voldoet aan specifieke netwerkvereisten.
Beveiligingsoverwegingen Container Apps, AKS en Web App for Containers kunnen worden geïntegreerd met belangrijke Azure-beveiligingsaanbiedingen, zoals Azure Key Vault en beheerde identiteiten. AKS biedt extra functies zoals runtime-bedreigingsbeveiliging en netwerkbeleid. PaaS-services zoals Container Apps lijken misschien minder beveiligingsfuncties te hebben, maar dat komt deels doordat Azure meer onderliggende infrastructuuronderdelen beheert. Omdat deze onderdelen niet zichtbaar zijn voor klanten, is het risico lager.
Operationele overwegingen AKS biedt de meeste aanpassingen, maar vereist meer operationele invoer.

Met PaaS-oplossingen, zoals Container Apps en Web App for Containers, kunnen Azure taken, zoals updates van het besturingssysteem, afhandelen. Schaalbaarheid en flexibiliteit van hardware-SKU's zijn belangrijk. AKS biedt flexibele hardwareopties, maar Container Apps en Web App for Containers hebben minder opties. In AKS is de schaalbaarheid van toepassingen uw verantwoordelijkheid, zodat u elke Kubernetes-compatibele oplossing kunt toepassen. AKS Automatic, Container Apps en Web App for Containers richten zich op eenvoudigere benaderingen.
overwegingen voor betrouwbaarheid Web App for Containers en Container Apps hebben beperkte statustestconfiguraties vergeleken met AKS. Ze zijn echter eenvoudiger in te stellen omdat ze gebruikmaken van de vertrouwde Azure Resource Manager-API.

AKS vereist de Kubernetes-API en vereist ook dat u schaalbaarheid en beschikbaarheid van Kubernetes-knooppuntgroepen beheert om toepassingsexemplaren correct te plannen. Deze vereisten verhogen de operationele inspanning voor AKS. Service level agreements (SLA's) voor Container Apps en Web App for Containers zijn eenvoudiger te berekenen dan AKS SLA's. Het AKS-besturingsvlak en de knooppuntgroepen hebben elk hun eigen SLA's, die moeten worden samengevoegd. Alle services bieden zoneredundantie in datacenters die deze ondersteunen.

Nadat u de voorgaande overwegingen hebt bekeken, kunt u mogelijk nog steeds niet de perfecte pasvorm vinden, wat typisch is.

Afwegingen evalueren

Cloud computing is complex. Het omvat samenwerking in veel teams en moet rekening houden met beperkingen in mensen, budgetten en tijd. Deze factoren maken het selecteren van cloudservices moeilijk en vol van compromissen.

Voor elke workload zijn sommige vereisten mogelijk belangrijker dan andere. Een applicatieteam kan bijvoorbeeld de voorkeur geven aan een PaaS-oplossing, zoals Container Apps, maar kiezen voor AKS omdat hun beveiligingsteam deny-by-default netwerkcontroles tussen onderdelen van een gecoloceerde workload vereist. Deze functie die exclusief voor AKS is, maakt gebruik van Kubernetes-netwerkbeleid.

De voorgaande gedeelde overwegingen hebben betrekking op de meest voorkomende vereisten, maar zijn niet volledig. U moet elke vereiste evalueren op basis van de functieset van uw voorkeursservice voordat u een beslissing neemt.

Conclusie

In deze handleiding worden de meest voorkomende overwegingen behandeld wanneer u een Azure-containerservice kiest. Het is ontworpen om uw workloadteam te helpen weloverwogen beslissingen te nemen. Het proces begint met het selecteren van een cloudservicemodel, waarbij het gewenste controleniveau wordt bepaald. Meer controle gaat ten koste van eenvoud. Met andere woorden, het doel is om de juiste balans te vinden tussen een zelfbeheerde infrastructuur en een door Microsoft beheerde infrastructuur.

Veel workloadteams kiezen alleen een Azure-containerservice op basis van of ze de voorkeur geven aan PaaS of IaaS. Andere teams moeten verder onderzoeken om te bepalen hoe servicespecifieke functies voldoen aan workload- of organisatievereisten.

Gebruik deze handleiding om uw opties zorgvuldig te evalueren en te voorkomen dat u beslissingen neemt die moeilijk om te keren zijn. Er is echter geen beslissing definitief totdat ontwikkelaars de service proberen en evalueren op basis van praktische ervaring in plaats van theorie.

Bijdragers

Microsoft onderhoudt dit artikel. De volgende inzenders hebben dit artikel geschreven.

Hoofdauteurs:

Andere inzenders:

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.