Delen via


Opties voor taakverdeling

De term taakverdeling verwijst naar de distributie van verwerking over meerdere rekenresources. U past load balancing toe om het gebruik van resources te optimaliseren, de doorvoer te maximaliseren, de responstijd te minimaliseren en overbelasting van een enkele resource te voorkomen. Loadbalancing kan ook de beschikbaarheid verbeteren door een workload te verdelen over redundante computingbronnen.

Azure biedt verschillende taakverdelingsservices die u kunt gebruiken om uw workloads over meerdere rekenresources te distribueren. Deze services omvatten Azure API Management, Azure Application Gateway, Azure Front Door, Azure Load Balancer en Azure Traffic Manager.

In dit artikel worden overwegingen beschreven om u te helpen bij het bepalen van een geschikte taakverdelingsoplossing voor de behoeften van uw workload.

Azure-taakverdelingsservices

De volgende belangrijkste taakverdelingsservices en -services met taakverdelingsmogelijkheden zijn beschikbaar in Azure:

  • API Management is een beheerde service die u kunt gebruiken om HTTP(S)-API's te publiceren, beveiligen, transformeren, onderhouden en bewaken. Het biedt een gateway voor uw API's en kan worden geconfigureerd om verkeer te verdelen over knooppunten in een aangewezen back-endpool met gelijke taakverdeling. U kunt kiezen uit drie verschillende taakverdelingsmethoden: round robin, gewogen en op basis van prioriteit.

    Belangrijk

    API Management is geen traditionele load balancer voor algemeen gebruik. Het is speciaal ontworpen voor HTTP-API's en de mogelijkheden voor taakverdeling zijn optioneel binnen de bredere API Management-functionaliteit. API Management is opgenomen in dit artikel voor volledigheid omdat het taakverdelingsmogelijkheden biedt voor specifieke API-hostingtopologieën. Het primaire doel is echter api-gatewayfunctionaliteit in plaats van taakverdeling.

  • Application Gateway is een proxy-loadbalancer. Het biedt application delivery controller-functionaliteit als een beheerde service. Het biedt verschillende layer-7 taakverdeling, routering, TLS-offloading en web application firewall-functionaliteiten. Als afsluittaakverdeling biedt het ook Laag-4-taakverdeling voor TCP- en TLS-protocollen . Gebruik Application Gateway om verkeer van openbare netwerkruimte over te zetten naar uw webservers die worden gehost in een privénetwerkruimte binnen een regio.

  • Azure Front Door is een netwerk voor toepassingslevering dat wereldwijde taakverdeling en siteversnelling biedt voor webtoepassingen. Het biedt laag-7-mogelijkheden voor uw toepassing, zoals SSL-offload (Secure Sockets Layer), padgebaseerde routering, snelle failover en caching om de prestaties en hoge beschikbaarheid te verbeteren.

  • Load Balancer is een Laag-4-service die binnenkomend en uitgaand verkeer verwerkt in alle UDP-protocollen (User Datagram Protocol) en Transmission Control Protocol (TCP). Het is ontworpen voor hoge prestaties en ultra lage latentie. 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, wat zorgt voor hoge beschikbaarheid in beschikbaarheidszones. Het ondersteunt zowel een regionale implementatietopologie als een topologie tussen regio's.

  • Traffic Manager is een load balancer op basis van Domain Name System (DNS) waarmee u verkeer optimaal kunt distribueren naar services in wereldwijde Azure-regio's, terwijl hoge beschikbaarheid en reactiesnelheid worden geboden. Omdat Traffic Manager een op DNS gebaseerde taakverdelingsservice is, wordt de taakverdeling alleen verdeeld op domeinniveau. Daarom kan de failover niet zo snel worden uitgevoerd als bij Azure Front Door. DNS-caching en systemen die TTL-waarden (TIME-to-Live) van DNS negeren, veroorzaken deze vertraging vaak.

Opmerking

Clusteringtechnologieën, zoals Azure Container Apps of Azure Kubernetes Service (AKS), bevatten taakverdelingsconstructies. Deze constructies werken voornamelijk binnen het bereik van hun eigen clustergrens. Ze routeren verkeer naar beschikbare toepassingsexemplaren op basis van gereedheids- en statustests. In dit artikel worden deze opties voor taakverdeling niet behandeld.

Servicecategorisaties

Azure-taakverdelingsservices kunnen worden gecategoriseerd in twee dimensies: globaal versus regionaal en HTTP(S) versus niet-HTTP(S).

Globaal versus regionaal

  • Globaal: Deze load balancing services verdelen het verkeer over regionale back-ends, clouds of hybride lokale diensten. Ze bieden één besturingsvlak waarmee gebruikersverkeer wereldwijd naar beschikbare back-ends wordt gerouteerd. Deze services reageren op wijzigingen in de betrouwbaarheid of prestaties van de service om de beschikbaarheid en prestaties te maximaliseren. U kunt ze beschouwen als systemen die load balancing uitvoeren tussen application stamps, eindpunten of schaaleenheden die worden gehost in verschillende regio's of 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 ontworpen voor webtoepassingen of andere HTTP(S)-eindpunten. Functies zijn onder andere SSL-offload, webapplicatie-firewall, padgebaseerde load balancing en sessieaffiniteit.

  • Niet-HTTP(S): Deze taakverdelingsservices omvatten Laag-4 TCP- en UDP-services of op DNS gebaseerde taakverdelingsservices.

De volgende tabel bevat een overzicht van de Azure-taakverdelingsservices.

Dienst Globaal of regionaal Aanbevolen verkeer
API-beheer Regionaal of globaal Alleen HTTP(S)-API's
Application Gateway Regionaal HTTP(S), TCP, & TLS
Azure Front Door (een cloudgebaseerde dienst voor netwerkbeveiliging en contentlevering) Globaal HTTP(S)
Ladingsverdelaar Regionaal of globaal Non-HTTP(S)
Verkeersmanager Globaal Non-HTTP(S)

Opmerking

Traffic Manager en Load Balancer kunnen elk verkeerstype, inclusief HTTP(S), distribueren. Deze services bieden echter geen layer-7-mogelijkheden. In tegenstelling tot Load Balancer verwerkt Traffic Manager het verkeer niet rechtstreeks. Traffic Manager gebruikt DNS om clients naar de juiste eindpunten te leiden.

Een taakverdelingsoplossing kiezen voor uw scenario

Houd rekening met de volgende factoren wanneer u een taakverdelingsoplossing selecteert:

  • Verkeerstype: Bepaal of het een WEB-HTTP(S)-toepassing is en of deze openbaar is of een privétoepassing.

  • Globaal versus regionaal: Geef aan of u load-balancing wilt toepassen op VM's of containers binnen één virtueel netwerk, op schaaleenheden of implementaties over verschillende regio's, of beide.

  • Beschikbaarheid: Bekijk de SLA (Service Level Agreement).

  • Kosten: Houd rekening met de kosten van de dienst zelf, evenals de operationele kosten voor het beheren van een oplossing die op die dienst is gebouwd. Zie De prijzen van Azure voor meer informatie.

  • Functies en limieten: Identificeer de mogelijkheden die door elke service en de toepasselijke servicelimieten worden ondersteund.

Het volgende stroomdiagram helpt u bij het kiezen van een oplossing voor taakverdeling voor uw toepassing. Het stroomdiagram begeleidt u door een reeks belangrijke beslissingscriteria om een aanbeveling te bereiken.

Aanbeveling

U kunt Microsoft Copilot in Azure gebruiken om u te helpen bij deze beslissing, vergelijkbaar met het stroomdiagram dat hier wordt beschreven. Zie Werken met Azure Load Balancer met Behulp van Microsoft Copilot in Azure voor meer informatie.

Elke toepassing heeft unieke vereisten die niet worden vastgelegd in eenvoudige beslissingsstructuren. Gebruik dit stroomdiagram of de aanbeveling van Copilot als een startpunt. Voer vervolgens een gedetailleerdere evaluatie uit.

Diagram met een beslissingsstructuur voor taakverdeling in Azure.

In de afbeelding ziet u een vertakt stroomdiagram waarin elk pad leidt tot een oplossing voor taakverdeling. Het eerste pad begint bij webtoepassing (HTTP/HTTPs), wijst via de no arrow naar internetgerichte toepassing en vervolgens naar Load Balancer via een andere No arrow. Het tweede pad begint bij webtoepassing (HTTP/HTTPs), verwijst naar internetgerichte toepassing via de no arrow, verwijst naar Global/deployed in meerdere regio's via de Ja-pijl en vervolgens naar Load Balancer via de no arrow. Het derde pad begint bij webtoepassing (HTTP/HTTPS), wijst via de pijl Nee naar internetgerichte applicatie, wijst via de ja-pijl naar Globaal/geïmplementeerd in meerdere regio's, en vervolgens via de ja-pijl naar Traffic Manager en Load Balancer. Het vierde pad begint bij webtoepassing (HTTP/HTTPs), wijst via de ja-pijl naar internetgerichte toepassing, naar alleen API's hosten via de pijl Nee, naar API Management via de Ja-pijl. Het vijfde pad begint bij webtoepassing (HTTP/HTTPs), wijst via de pijl Ja naar internetgerichte toepassing, naar alleen API's hosten via de pijl Nee, naar Application Gateway via de pijl Nee. Het zesde pad begint bij webtoepassing (HTTP/HTTPs), wijst via de Ja-pijl naar een internetgerichte toepassing, naar globaal/geïmplementeerd in meerdere regio's via de Ja-pijl, waarbij SSL-offload of verwerking van toepassingslagen per aanvraag vereist is, naar Azure Front Door en Application Gateway via de Ja-pijl. Het zevende pad begint bij webtoepassing (HTTP/HTTPs), wijst via de Ja-pijl naar een internetgerichte toepassing, vervolgt via de Ja-pijl naar Globaal/geïmplementeerd in meerdere regio's, naar de vraag of er SSL-offload of verwerking op toepassingslaag per aanvraag nodig is, en eindigt bij Azure Front Door en API Management via de pijl voor alleen API's. Het achtste pad begint bij Webtoepassing (HTTP/HTTPs), wijst naar internetgerichte toepassing via de 'Ja'-pijl, naar wereldwijd/geïmplementeerd in meerdere regio's via de 'Ja'-pijl, vereist u SSL offload of verwerking op applicatielaag per verzoek, naar Hosting - PaaS, IaaS, AKS via de 'Nee'-pijl, naar Azure Front Door via de PaaS-pijl. Het negende pad begint bij webtoepassing (HTTP/HTTPS), verwijst naar internetgerichte toepassing via de pijl Ja, naar Globaal/Geïmplementeerd meerdere regio's via de Ja-pijl, naar Vereist u SSL offload of verwerking op applicatielaag per aanvraag, naar Hosting - PaaS, IaaS, AKS via de pijl Nee, naar Azure Front Door en Application Gateway-ingangscontroller via de AKS-pijl. Het tiende pad begint bij webtoepassing (HTTP/HTTPs), verwijst naar een internetgerichte toepassing via de Ja-pijl, naar Globaal/Geïmplementeerd in meerdere regio's via de Ja-pijl, naar Heb je SSL-offloading of verwerking van toepassingslagen per aanvraag nodig, naar Hosting - PaaS, IaaS, AKS via de Nee-pijl, naar Azure Front Door en Load Balancer via de IaaS-VM's-pijl. Het elfde pad begint bij webtoepassing (HTTP/HTTPs), wijst via de ja-pijl naar internetgerichte toepassing, naar Globaal/geïmplementeerd meerdere regio's via de ja-pijl, naar Heeft u prestatieversnelling nodig via de nee-pijl, naar Application Gateway via de nee-pijl. Het twaalfde pad begint bij de webtoepassing (HTTP/HTTPs), wijst via de Ja-pijl naar een internetgerichte toepassing, naar Globale/geïmplementeerde meerdere regio's via de Ja-pijl. Via de Nee-pijl gaat het verder naar: Vereist u prestatieversnelling? Naar: Vereist u SSL-offload of toepassingslaagverwerking per aanvraag? via de Ja-pijl, naar Azure Front Door en Application Gateway via de Ja-pijl. Het dertiende pad begint bij webtoepassing (HTTP/HTTPs), wijst via de Ja-pijl naar een internetgerichte toepassing, naar Globale/geïmplementeerde meerdere regio's via de Ja-pijl, verder naar Vereist u prestatieversnelling via de Nee-pijl, naar Vereist u SSL-offload of verwerking van toepassingslagen per aanvraag via de Ja-pijl, naar Azure Front Door en API Management via de Alleen API's-pijl. Het veertiende pad begint bij webtoepassing (HTTP/HTTPs), wijst via de Ja-pijl naar een internetgerichte toepassing, vervolgens naar Global/Gedeployed in meerdere regio's via de Ja-pijl, naar Hebt u prestatieversnelling nodig via de Nee-pijl, naar Application Gateway via de Nee-pijl. Het vijftiende pad begint bij webtoepassing (HTTP/HTTPS), wijst via de Ja-pijl naar internetgerichte toepassing, naar Globaal/geïmplementeerd in meerdere regio's via de Ja-pijl, naar Prestatieversnelling via de Nee-pijl, naar Application Gateway en API Management via de pijl Alleen API's.

Wanneer uw workload verschillende services bevat waarvoor taakverdeling is vereist, beoordeelt u elke service afzonderlijk. Een effectieve installatie maakt vaak gebruik van meer dan één type taakverdelingsoplossing. U kunt deze oplossingen op verschillende plaatsen in de architectuur van uw workload opnemen om unieke functies of rollen te leveren.

Definities

  • Webtoepassing (HTTP/HTTPS) verwijst naar een toepassing waarvoor ten minste een van de volgende mogelijkheden is vereist:

    • Hiermee wordt een routeringsbeslissing genomen voor laag-7-gegevens, zoals een URL-pad
    • Ondersteunt de inspectie van de payload van de communicatie, zoals een HTTP-aanvraaglichaam
    • Verwerkt de Transport Layer Security (TLS)-functionaliteit
  • Niet-HTTP(S)-toepassing verwijst naar een toepassing die laag 4 (TCP- of UDP-protocollen) of TLS-protocolondersteuning (Transport Layer Security) nodig heeft. Zowel Azure Load Balancer als Azure Application Gateway bieden mogelijkheden om dergelijk verkeer te verwerken. Hun functies en gedrag verschillen echter, zoals beschreven in dit vergelijkingsartikel.

  • Internetgerichte toepassing verwijst naar een toepassing die openbaar toegankelijk is vanaf internet. Als best practice passen toepassingseigenaren restrictief toegangsbeleid toe of beschermen ze de toepassing door aanbiedingen zoals web application firewall en gedistribueerde denial-of-service-beveiliging in te stellen.

  • Globaal of geïmplementeerd in meerdere regio's betekent dat de load balancer één maximaal beschikbaar besturingsvlak moet hebben waarmee verkeer naar openbare eindpunten op uw wereldwijd gedistribueerde toepassing wordt gerouteerd. Deze configuratie kan ondersteuning bieden voor actief-actief- of actief-passieve topologieën in verschillende regio's.

    Opmerking

    U kunt een regionale service, zoals Application Gateway, gebruiken om taken te verdelen over back-ends die meerdere regio's omvatten en routering beheren via één besturingsvlak. Het werkt met behulp van een privékoppeling tussen regio's, wereldwijde peering van virtuele netwerken of zelfs openbare IP-adressen van services in andere regio's.

    Dit scenario is niet het primaire punt van deze beslissing.

    Het gebruik van een regionale resource als router voor wereldwijd gedistribueerde back-ends introduceert een regionaal enkelvoudig storingspunt. Er wordt ook extra latentie toegevoegd omdat verkeer door één regio wordt gedwongen voordat het naar een andere regio gaat en vervolgens weer terugkeert.

  • 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 voor schaalbaarheid voor meer informatie.

  • Met AKS kunt u toepassingen in containers implementeren en beheren. AKS biedt serverloze Kubernetes, een geïntegreerde CI/CD-ervaring (continue integratie en continue levering) en beveiliging en governance op bedrijfsniveau. Zie het ontwerp van de AKS-architectuur voor meer informatie.

  • Infrastructure as a Service (IaaS) is een computingoptie waar u de VM's inricht die u nodig hebt, samen met de bijbehorende 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. Voorbeelden hiervan zijn routering op basis van paden tussen VM's of virtuele-machineschaalsets. Zie Een toepassingsgateway implementeren achter Azure Front Door voor meer informatie.

  • Alleen de API's duidt op de noodzaak om belasting te verdelen over HTTP(S)-API's die geen webtoepassingen zijn. In dit geval kunt u, als uw workload al gebruikmaakt van API Management voor de gatewaymogelijkheden, de optionele taakverdelingsfunctie overwegen om verkeer te leiden tussen API-achterkanten die nog niet zijn gebalanceerd door een ander mechanisme. Als uw workload geen API Management gebruikt, gebruikt u deze niet alleen voor taakverdeling.

  • Prestatieversnelling verwijst naar functies die webtoegang versnellen. Prestatieversnelling kan worden bereikt door gebruik te maken van netwerken voor contentlevering of geoptimaliseerd toegangsbeheerpunt voor versnelde onboarding van clients in het doelnetwerk. Azure Front Door ondersteunt zowel netwerken voor contentlevering als Anycast-verkeersversnelling. U kunt profiteren van de voordelen van beide functies met of zonder Application Gateway in de architectuur.

Andere overwegingen

Elke taakverdelingsservice heeft ook ondersteunings- of implementatiedetails die u moet overwegen. Hier volgen enkele voorbeelden die relevant kunnen zijn voor uw taakverdelingsscenario:

  • Ondersteuning voor WebSockets
  • Ondersteuning voor door de server verzonden gebeurtenissen
  • HTTP/2-ondersteuning (zowel ontvangen als doorgaan naar back-endknooppunten)
  • Ondersteuning voor plaksessies
  • Mechanisme voor statuscontrole van back-endknooppunten
  • Clientervaring of vertraging tussen detectie van beschadigde knooppunten en verwijdering van routeringslogica

Offloadmogelijkheden voor uw load balancer

Met sommige opties voor taakverdeling in Azure kunt u mogelijkheden van de back-endknooppunten naar de load balancer offloaden. Met deze opties wordt het Gateway Offloading cloudontwerppatroon geïmplementeerd. Application Gateway kan bijvoorbeeld TLS offloaden, zodat het openbare certificaat van uw workload op één locatie wordt beheerd in plaats van op back-endknooppunten. API Management kan worden geconfigureerd voor het offloaden van enkele basisautorisatieproblemen, zoals het valideren van claims in JSON Web Token (JWT)-toegangstokens. Het offloaden van kruislingse problemen kan helpen de complexiteit van de logica in uw back-ends te verminderen en hun prestaties te verbeteren.

Voorbeelden

De volgende tabel bevat verschillende artikelen op basis van de taakverdelingsservices die in de oplossing worden gebruikt.

Diensten Artikel Beschrijving
Ladingsverdelaar Taken over VM's in meerdere beschikbaarheidszones verdelen 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.
Verkeersmanager 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.
Application Gateway en API Management Architectuur van API Management-landingszone Gebruik Application Gateway om web application firewall en TLS te offloaden. Gebruik API Management om taken te verdelen over API-back-ends.
Traffic Manager en 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.

Volgende stappen