De term taakverdeling verwijst naar de distributie van workloads over meerdere rekenresources. Taakverdeling is gericht op het optimaliseren van resourcegebruik, het maximaliseren van doorvoer, het minimaliseren van de reactietijd en het voorkomen van overbelasting van één resource. Het kan ook de beschikbaarheid verbeteren door een workload te delen tussen redundante computingresources.
Azure biedt verschillende taakverdelingsservices die u kunt gebruiken om uw workloads over meerdere rekenresources te verdelen. Deze resources omvatten Azure-toepassing Gateway, Azure Front Door, Azure Load Balancer en Azure Traffic Manager.
In dit artikel worden enkele overwegingen beschreven om een geschikte taakverdelingsoplossing te bepalen voor de behoeften van uw workload.
Servicecategorisaties
Azure-taakverdelingsservices kunnen worden gecategoriseerd op twee dimensies: globaal versus regionaal en HTTP(S) versus niet-HTTP(S).
Globaal versus regionaal
- Globaal: deze taakverdelingsservices verdelen het verkeer over regionale back-ends, clouds of hybride on-premises services. Deze services ondersteunen het beheren van één besturingsvlak dat verantwoordelijk is voor het wereldwijd routeren van eindgebruikersverkeer naar een beschikbare back-end. Ze reageren vaak op wijzigingen in de betrouwbaarheid of prestaties van de service om de beschikbaarheid en prestaties te maximaliseren. U kunt ze beschouwen als systemen die taakverdeling tussen toepassingsstempels, eindpunten of schaaleenheden die worden gehost in verschillende regio's/geografische gebieden.
- Regionaal: Deze taakverdelingsservices verdelen verkeer binnen virtuele netwerken over virtuele machines (VM's) of zone-redundante service-eindpunten binnen een regio. U kunt ze beschouwen als systemen die de taakverdeling tussen VM's, containers of clusters binnen een regio in een virtueel netwerk verdelen.
HTTP(S) versus niet-HTTP(S)
- HTTP(S): deze taakverdelingsservices zijn laag 7 load balancers die alleen HTTP(S)-verkeer accepteren. Ze zijn bedoeld voor webtoepassingen of andere HTTP(S)-eindpunten. Ze kunnen functies hebben zoals SSL-offload, web application firewall, padgebaseerde taakverdeling en sessieaffiniteit.
- Niet-HTTP(S): deze taakverdelingsservices zijn laag 4 load balancers die niet-HTTP(S)-verkeer kunnen verwerken, voornamelijk TCP- of UDP-services.
De volgende tabel bevat een overzicht van de Azure-taakverdelingsservices.
Service | Globaal/regionaal | Aanbevolen verkeer |
---|---|---|
Azure Front Door | Globaal | HTTP(S) |
Azure Traffic Manager | Globaal | Niet-HTTP(S) |
Azure Application Gateway | Regionaal | HTTP(S) |
Azure-belastingsverdeling | Regionaal of globaal | Niet-HTTP(S) |
Notitie
Azure Traffic Manager en Azure Load Balancer beschikken over de mogelijkheden om HTTP(S)-verkeer te distribueren, maar hebben geen specifieke functies om te routeren op basis van informatie over protocolgegevenseenheden die hoger zijn dan Laag 4. Ze ondersteunen beide HTTP(S)-verkeer, maar alleen op laag 4-functionaliteitsniveaus.
Azure-taakverdelingsservices
Dit zijn de belangrijkste taakverdelingsservices die momenteel beschikbaar zijn in Azure:
Azure Front Door is een netwerk voor levering van toepassingen dat wereldwijde taakverdeling en siteversnellingservice biedt voor webtoepassingen. Het biedt laag 7-mogelijkheden voor uw toepassing, zoals SSL-offload, padgebaseerde routering, snelle failover en caching om de prestaties en hoge beschikbaarheid van uw toepassingen te verbeteren.
Traffic Manager is een load balancer op basis van DNS waarmee u verkeer optimaal kunt distribueren naar services in wereldwijde Azure-regio's, terwijl u hoge beschikbaarheid en reactiesnelheid biedt. Omdat Traffic Manager een op DNS gebaseerde taakverdelingsservice is, wordt de taakverdeling alleen verdeeld op domeinniveau. Daarom kan er geen failover worden uitgevoerd zo snel als Azure Front Door, vanwege veelvoorkomende uitdagingen met betrekking tot DNS-caching en -systemen die dns-TTLs niet respecteren.
Application Gateway biedt application delivery controller as a service, die verschillende laag 7-taakverdelingsmogelijkheden en web application firewall-functionaliteit biedt. Gebruik deze om over te stappen van openbare netwerkruimte naar uw webservers die worden gehost in een privénetwerkruimte binnen een regio.
Load Balancer is een high-performance laag-latentie Laag 4-taakverdelingsservice (inkomend en uitgaand) voor alle UDP- en TCP-protocollen. Het is gebouwd om miljoenen aanvragen per seconde af te handelen en ervoor te zorgen dat uw oplossing maximaal beschikbaar is. Load Balancer is zone-redundant en zorgt voor hoge beschikbaarheid in beschikbaarheidszones. Het ondersteunt zowel een regionale implementatietopologie als een topologie tussen regio's.
Notitie
Clusteringtechnologie, zoals Azure Container Apps of Azure Kubernetes Service, bevat taakverdelingsconstructies die voornamelijk binnen het bereik van hun eigen clustergrens werken, verkeer routeren naar beschikbare toepassingsexemplaren op basis van gereedheid en statustests. Deze taakverdelingsopties worden niet behandeld in dit artikel.
Beslissingsstructuur voor taakverdeling in Azure
Houd rekening met deze factoren, zoals deze wanneer u een taakverdelingsoplossing selecteert:
- Verkeerstype: Is het een WEB HTTP(S)-toepassing? Is het openbaar of een privétoepassing?
- Globaal versus regionaal: moet u taken verdelen over VM's of containers binnen één virtueel netwerk, of schaaleenheden/implementaties verdelen over regio's of beide?
- Beschikbaarheid: Wat is de service level agreement?
- Kosten: Zie De prijzen van Azure voor meer informatie. Naast de kosten van de service zelf, moet u rekening houden met de bewerkingskosten voor het beheer van een oplossing die is gebouwd op de service.
- Functies en limieten: Welke mogelijkheden worden ondersteund voor elke service en wat zijn de servicelimieten van elke service?
! [TIP] Azure Portal biedt een handleiding op basis van vragenlijsten die vergelijkbaar is met het volgende stroomdiagram. Zoek in Azure Portal naar 'Taakverdeling - help me kiezen'. Door de vragen te beantwoorden, kunt u de opties voor taakverdeling verfijnen.
Het volgende stroomdiagram helpt u bij het kiezen van een taakverdelingsoplossing voor uw toepassing. Het stroomdiagram begeleidt u door een reeks belangrijke beslissingscriteria om een aanbeveling te bereiken.
Behandel dit stroomdiagram als uitgangspunt. Elke toepassing heeft unieke vereisten, dus gebruik de aanbeveling als uitgangspunt. Voer vervolgens een gedetailleerdere evaluatie uit.
Wanneer uw workload verschillende services omvat waarvoor taakverdeling is vereist, is het belangrijk dat u elke service afzonderlijk beoordeelt. In veel gevallen maakt een effectieve installatie gebruik van meer dan één type taakverdelingsoplossing. U kunt deze oplossingen opnemen op verschillende plaatsen in de architectuur van uw workload, die elk een unieke functie of rol leveren.
Definities
Webtoepassing (HTTP/HTTPS): dit verwijst naar de mogelijkheid om een routeringsbeslissing te nemen voor laag 7-gegevens, zoals HET URL-pad, ondersteuning voor de inspectie van de nettolading van de communicatie (zoals een HTTP-aanvraagbody) of het verwerken van TLS-functionaliteit.
Internetgerichte toepassing: toepassingen die openbaar toegankelijk zijn vanaf internet. Als best practice passen toepassingseigenaren restrictief toegangsbeleid toe of beschermen ze de toepassing door aanbiedingen zoals Web Application Firewall en DDoS-beveiliging in te stellen.
Globaal/geïmplementeerd in meerdere regio's: als deze load balancer één maximaal beschikbaar besturingsvlak moet hebben dat verantwoordelijk is voor het routeren van verkeer naar openbare eindpunten in uw wereldwijd gedistribueerde toepassing. Dit kan zijn om actief-actief- of actief-passieve topologieën tussen regio's te ondersteunen.
Notitie
Het is mogelijk om een regionale service, zoals Application Gateway, te gebruiken om taken te verdelen over back-ends die meerdere regio's omvatten en routering via één besturingsvlak te beheren. Deze architectuur wordt mogelijk gemaakt met private link in meerdere regio's, wereldwijde peering van virtuele netwerken of zelfs openbare IP-adressen van services in andere regio's.
Dit scenario is echter niet het primaire punt van deze beslissing.
Het gebruik van een regionale resource als router voor wereldwijd gedistribueerde back-ends introduceert een regionaal single point of failure en leidt tot extra latentie omdat verkeer wordt gedwongen via één regio voordat het naar een andere gaat en vervolgens weer terug.
Platform as a Service (PaaS):biedt een beheerde hostingomgeving, waar u uw toepassing kunt implementeren zonder vm's of netwerkresources te hoeven beheren. In dit geval verwijst PaaS naar services die geïntegreerde taakverdeling binnen een regio bieden. Zie Een rekenservice kiezen : schaalbaarheid voor meer informatie.
Azure Kubernetes Service (AKS): hiermee kunt u toepassingen in containers implementeren en beheren. AKS biedt serverloze Kubernetes, een geïntegreerde continue integratie en continue levering, en beveiliging en governance op bedrijfsniveau. Zie het ontwerp van azure Kubernetes Service-architectuur voor meer informatie over AKS-architectuurresources.
Infrastructure as a Service (IaaS): een computingoptie waarin u de virtuele machines inricht die u nodig hebt, samen met gekoppelde netwerk- en opslagonderdelen. IaaS-toepassingen vereisen interne taakverdeling binnen een virtueel netwerk met behulp van Load Balancer.
Verwerking van toepassingslaag: verwijst naar speciale routering binnen een virtueel netwerk. Bijvoorbeeld padgebaseerde routering binnen het virtuele netwerk tussen VM's of virtuele-machineschaalsets. Zie Wanneer moeten we een Toepassingsgateway implementeren achter Azure Front Door?voor meer informatie.
Prestatieversnelling: verwijst naar functies die webtoegang versnellen. Prestatieversnelling kan worden bereikt met behulp van CDN's (Content Delivery Networks) of geoptimaliseerd aanwezigheidspunt voor versnelde onboarding van clients in het doelnetwerk. Azure Front Door ondersteunt zowel CDN's als Anycast-verkeersversnelling. De voordelen van beide functies kunnen worden verkregen met of zonder Application Gateway in de architectuur.
Aanvullende overwegingen
Elke taakverdelingsservice heeft ook ondersteunings- of implementatiedetails die ook moeten worden overwogen. Hier volgen enkele voorbeelden die relevant kunnen zijn voor uw taakverdelingsscenario.
- Ondersteuning voor Web Sockets
- HTTP/2-ondersteuning (zowel ontvangen als doorgaan naar back-endknooppunten)
- Ondersteuning voor plaksessies
- Statuscontrolemechanisme voor back-endknooppunten
- Clientervaring of vertraging tussen detectie van beschadigde knooppunten en verwijdering van routeringslogica.
Voorbeelden
De volgende tabel bevat verschillende artikelen op basis van de taakverdelingsservices die als oplossing worden gebruikt.
Services | Artikel | Beschrijving |
---|---|---|
Load Balancer | Taken verdelen over virtuele machines (VM's) in beschikbaarheidszones | Taken verdelen over VM's in beschikbaarheidszones om uw apps en gegevens te beschermen tegen een onwaarschijnlijke fout of verlies van een volledig datacenter. Met zoneredundantie kunnen een of meer beschikbaarheidszones mislukken en blijft het gegevenspad behouden zolang één zone in de regio in orde blijft. |
Azure Front Door | Locatie in realtime delen met goedkope serverloze Azure-services | Gebruik Azure Front Door om uw toepassingen een hogere beschikbaarheid te bieden dan implementeren in één regio. Als een regionale storing van invloed is op de primaire regio, kunt u Azure Front Door gebruiken om een failover uit te voeren naar de secundaire regio. |
Traffic Manager | Webtoepassing met meerdere lagen gebouwd voor hoge beschikbaarheid en herstel na noodgevallen | Implementeer flexibele toepassingen met meerdere lagen die zijn gebouwd voor hoge beschikbaarheid en herstel na noodgevallen. Als de primaire regio niet beschikbaar is, voert Traffic Manager een failover uit naar de secundaire regio. |
Azure Front Door + Application Gateway | Multitenant SaaS in Azure | Gebruik een multitenant-oplossing met een combinatie van Azure Front Door en Application Gateway. Azure Front Door helpt bij het verdelen van verkeer tussen regio's. Application Gateway routeert en verdeelt verkeer intern in de toepassing naar de verschillende services die voldoen aan de behoeften van het clientbedrijf. |
Traffic Manager + Load Balancer | Toepassing met meerdere regio's N-laag | Een N-tier-toepassing met meerdere regio's die Traffic Manager gebruikt om binnenkomende aanvragen naar een primaire regio te routeren. Als de primaire regio niet beschikbaar is, wordt in Traffic Manager een Failover-schakeling naar de secundaire regio uitgevoerd. |
Traffic Manager + Application Gateway | Taakverdeling voor meerdere regio's met Traffic Manager en Application Gateway | Meer informatie over het leveren van webworkloads en het implementeren van flexibele toepassingen met meerdere lagen in meerdere Azure-regio's om hoge beschikbaarheid en een robuuste infrastructuur voor herstel na noodgevallen te realiseren. |