Share via


Toepassingsoverwegingen voor Azure VMware Solution-workloads

In dit artikel wordt het ontwerpgebied van het toepassingsplatform van een Azure VMware Solution workload besproken. Dit gebied behandelt de specifieke taken en verantwoordelijkheden die zijn gekoppeld aan het implementeren, configureren en onderhouden van toepassingen die u in een Azure VMware Solution omgeving host. Een toepassingseigenaar is verantwoordelijk voor de toepassingen in een Azure VMware Solution omgeving. Deze persoon of dit team beheert aspecten die betrekking hebben op de implementatie, configuratie, bewaking en onderhoud van de toepassingen.

De belangrijkste doelstellingen van een goed ontworpen toepassing zijn:

  • Ontwerpen voor schaal. Ga probleemloos om met hogere gebruikersbehoeften en gelijktijdige transacties zonder verslechtering of serviceonderbreking.
  • Prestaties. Lever snelle reactietijden met lage latentie en beheer het resourcegebruik efficiënt.
  • Betrouwbaarheid en tolerantie. Ontwerp redundante, fouttolerante patronen om ervoor te zorgen dat uw toepassing responsief blijft en snel herstelt van fouten.

Dit artikel is bedoeld om ontwikkelaars, architecten en toepassingseigenaren best practices te bieden die specifiek zijn voor Azure VMware Solution. Deze procedures kunnen u helpen bij het bouwen van toepassingen die robuust, veilig, schaalbaar en onderhoudbaar blijven gedurende hun levenscyclus.

Ontwerpen voor schaalbaarheid en efficiënte resourcedistributie

Impact: betrouwbaarheid, prestatie-efficiëntie, beveiliging

In deze sectie worden de effectieve toewijzing en het gebruik van computerresources voor virtuele machines (VM's) en workloads binnen de Azure VMware Solution privécloud behandeld. Deze resources kunnen CPU-, geheugen-, opslag- en netwerkresources zijn. In deze sectie wordt ook de implementatie van responsieve schaaltechnieken besproken. U kunt deze technieken gebruiken om de inrichting van resources dynamisch aan te passen aan schommelingen in de vraag. Het primaire doel is om optimaal resourcegebruik te bereiken door ondergebruik en overprovisioning te beperken die kunnen leiden tot inefficiëntie en geëscaleerde uitgaven.

Foutdomeinen gebruiken

Foutdomeinen in Azure VMware Solution vertegenwoordigen logische groeperingen van resources binnen een stretched cluster. Deze resources delen een gemeenschappelijk domein voor fysieke fouten. Foutdomeinen helpen bij het verbeteren van de beschikbaarheid in verschillende foutscenario's. Het ordenen van resources in foutdomeinen helpt ervoor te zorgen dat kritieke onderdelen van een toepassing worden verdeeld over meerdere foutdomeinen.

Door VM's en andere resources in afzonderlijke foutdomeinen te plaatsen, helpt het toepassingsteam ervoor te zorgen dat een toepassing beschikbaar blijft tijdens een storing in een datacenter of infrastructuur. U kunt vm's bijvoorbeeld opsplitsen in foutdomeinen die zijn verspreid over geografisch gedistribueerde datacenters. Uw toepassing kan dan operationeel blijven als één datacenter een volledige fout ondervindt.

Toepassingsteams moeten overwegen om VM-VM-affiniteits- en antiaffiniteitsregels te definiëren die zijn gebaseerd op foutdomeinen. Vm-VM-affiniteitsregels plaatsen kritieke VM's in hetzelfde foutdomein om ervoor te zorgen dat ze niet worden verspreid over meerdere datacenters. Antiaffiniteitsregels voorkomen dat gerelateerde VM's samen in hetzelfde foutdomein worden geplaatst. Deze procedure helpt redundantie te garanderen.

Antiaffiniteitsbeleid voor VM-VM's gebruiken in toepassingen met drie lagen

In Azure VMware Solution omvat een gebruiksvoorbeeld voor VM-VM-antiaffiniteitsbeleid een toepassing met drie lagen. Het doel is om de hoge beschikbaarheid, fouttolerantie en tolerantie van elke toepassingslaag te verbeteren. Om dit doel te bereiken, kunt u anti-affiniteitsbeleid gebruiken om de lagen te spreiden over verschillende hosts binnen de Azure VMware Solution privécloud.

Als u deze use-case wilt implementeren, maakt u een gedistribueerde, fouttolerante architectuur met behulp van VM-VM-antiaffiniteitsbeleid in drie lagen. Deze installatie verbetert de beschikbaarheid van de hele toepassing en helpt ervoor te zorgen dat het mislukken van één host de hele laag of de hele toepassing niet verstoort.

In de front-endweblaag die gebruikersaanvragen verwerkt, kunt u bijvoorbeeld antiaffiniteitsbeleid voor VM-VM's toepassen om de webservers over verschillende fysieke hosts te spreiden. Deze aanpak helpt bij het verbeteren van hoge beschikbaarheid en fouttolerantie. Op dezelfde manier kunt u anti-affiniteitsmaatregelen gebruiken om de toepassingsservers in de bedrijfslaag te beschermen en de gegevenstolerantie binnen de databaselaag te verbeteren.

Architectuurdiagram met een app met drie lagen die is gesegmenteerd met behulp van VM-VM-affiniteitsbeleid.

Aanbevelingen
  • Maak kaarten met vm-afhankelijkheden, communicatie en gebruikspatronen om ervoor te zorgen dat nabijheid een vereiste is.
  • Bepaal of het plaatsingsbeleid VM-VM-affiniteit helpt om te voldoen aan metrische prestatiegegevens of serviceovereenkomsten (SLA's).
  • Ontwerp voor hoge beschikbaarheid door anti-affiniteitsbeleid voor VM-VM's te implementeren om bescherming te bieden tegen hostfouten en uw toepassing over meerdere hosts te distribueren.
  • Als u te veel inrichting wilt voorkomen, distribueert u uw workload over kleine VM's in plaats van een paar grote VM's.
  • Controleer, controleer en verfijn het affiniteitsbeleid regelmatig om mogelijke resourceconflicten te identificeren. Pas deze beleidsregels zo nodig aan in de loop van de tijd.

Affiniteitsbeleid voor VM-host gebruiken voor prestatie-isolatie

Sommige workloads waarop VM's in verschillende toepassingslagen worden uitgevoerd, presteren beter wanneer ze in een colocatie zijn geplaatst. Dit gebruiksvoorbeeld treedt vaak op wanneer toepassingen het volgende vereisen:

  • Prestatie-isolatie voor resource-intensieve rekenworkloads met hoge prestaties.
  • Naleving van licentieovereenkomsten. Systeemspecificaties kunnen bijvoorbeeld een toewijzing vereisen die een VM koppelt aan een specifieke set kernen om naleving van Windows of SQL Server-licenties te behouden.
  • Naleving van regelgeving en gegevensintegriteit om ervoor te zorgen dat VM's die deel uitmaken van specifieke beveiligingsdomeinen of gegevensclassificaties, beperkt blijven tot specifieke hosts of een subset van hosts binnen het cluster.
  • Een vereenvoudigde netwerkconfiguratie die VM's op dezelfde host plaatst. In dit geval wordt de netwerkconfiguratie tussen lagen vereenvoudigd. De lagen delen dezelfde netwerkverbinding en vereisen geen extra netwerkhops.

Als het essentieel is om de colocatie van toepassingslagen te behouden, kunt u kiezen voor vm-hostaffiniteitsbeleid om ervoor te zorgen dat de lagen op dezelfde host en binnen dezelfde beschikbaarheidszone worden geïmplementeerd.

Architectuurdiagram met een app met drie lagen die is gesegmenteerd met behulp van vm-hostaffiniteitsbeleid.

Notitie

Het platformteam is verantwoordelijk voor het instellen van VM-plaatsing, hostaffiniteitsregels en resourcegroepering. Maar het toepassingsteam moet de prestatievereisten van elke toepassing begrijpen om ervoor te zorgen dat aan de behoeften van de toepassing wordt voldaan.

Toepassingsteams moeten de plaatsing van vm's uitgebreid evalueren en zorgvuldig plannen. Plaatsing van vm's kan potentiële uitdagingen met zich brengen, zoals onevenwichtigheden in resources en ongelijke verdeling van workloads. Deze situaties kunnen leiden tot nadelige gevolgen voor prestaties en resourceoptimalisatie. Het plaatsen van alle workloads in één beschikbaarheidszone kan ook een Single Point of Failure in een noodgeval creëren. Overweeg om uw configuratie te repliceren in meerdere beschikbaarheidszones om de tolerantie van het datacenter te verbeteren tijdens een fout.

Aanbevelingen
  • Plan zorgvuldig hoe u het plaatsingsbeleid vm-hostaffiniteitsbeleid gebruikt. Overweeg indien mogelijk alternatieve oplossingen, zoals taakverdeling, resourcegroepen in VMware vSphere, gedistribueerde databases, containerisatie en beschikbaarheidszones.
  • Controleer regelmatig het resourcegebruik en de prestaties om eventuele onevenwichtigheden of problemen te identificeren.
  • Kies voor een strategie voor VM-plaatsing die evenwichtig en flexibel is. Met deze benadering kunt u het resourcegebruik maximaliseren terwijl hoge beschikbaarheid behouden blijft en ervoor wordt gezorgd dat aan de licentievereisten wordt voldaan.
  • Test en valideer de vm-hostaffiniteitsconfiguraties van uw plaatsingsbeleid om ervoor te zorgen dat deze overeenkomen met de specifieke vereisten van uw toepassing en dat ze geen negatieve invloed hebben op de algehele prestaties en tolerantie.

Verkeer distribueren met behulp van een toepassing of netwerk load balancer

Naast het gebruik van plaatsingsbeleid is taakverdeling ook een essentieel onderdeel van moderne toepassingen om het volgende te garanderen:

  • Efficiënte resourcedistributie.
  • Verbeterde beschikbaarheid van toepassingen.
  • Optimale toepassingsprestaties.

Taakverdeling voldoet aan deze criteria met behoud van flexibiliteit voor het schalen en beheren van workloads.

Nadat u toepassingen op VM's hebt geïmplementeerd, kunt u overwegen om een taakverdelingsprogramma zoals Azure Application Gateway te gebruiken om back-endpools te maken. Application Gateway is een load balancer en toepassingsleveringsservice voor beheerd webverkeer waarmee binnenkomend HTTP- en HTTPS-verkeer naar webtoepassingen kan worden beheerd en geoptimaliseerd. Als toegangspunt voor webverkeer biedt Application Gateway verschillende soorten functionaliteit. Voorbeelden zijn TLS/SSL-beëindiging, op URL gebaseerde routering, sessieaffiniteit en mogelijkheden van web application firewall.

Architectuurdiagram dat laat zien hoe verkeer van een browser via Application Gateway naar back-endpools stroomt.

Nadat de resources in uw back-endpools beschikbaar zijn, maakt u listeners om poorten en routeringsregels voor binnenkomende aanvragen op te geven. Vervolgens kunt u statustests maken om de status van uw VM's te controleren en aan te geven wanneer u beschadigde back-endresources uit de rotatie moet verwijderen.

TLS/SSL-beëindiging en certificaatbeheer implementeren

TLS/SSL-versleuteling moet worden afgedwongen voor alle communicatie tussen uw toepassing en de browsers van gebruikers. Deze versleuteling helpt sessiegegevens te beschermen tegen meeluisteren en man-in-the-middle-aanvallen. Als voor uw toepassing TLS/SSL-beëindiging is vereist, configureert u het benodigde TLS/SSL-certificaat in Application Gateway om TLS/SSL-verwerking van uw back-end-VM's te offloaden.

Nadat u TLS/SSL-certificaten hebt gegenereerd, plaatst u deze in een service zoals Azure Key Vault waarmee u ze veilig kunt opslaan en openen. Gebruik PowerShell, de Azure CLI of hulpprogramma's zoals Azure Automation om certificaten bij te werken en te vernieuwen.

API's beheren

Azure API Management helpt u bij het veilig publiceren van intern en extern geïmplementeerde API-eindpunten. Een voorbeeld van een eindpunt is een back-end-API die zich in een Azure VMware Solution privécloud achter een load balancer of Application Gateway bevindt. API Management helpt u bij het beheren van de methoden en het gedrag van uw API, bijvoorbeeld door beveiligingsbeleid toe te passen om verificatie en autorisatie af te dwingen. API Management kunt ook API-aanvragen naar uw back-endservices routeren via Application Gateway.

In het volgende diagram wordt het verkeer van consumenten naar een openbaar eindpunt API Management. Het verkeer wordt vervolgens doorgestuurd naar back-end-API's die worden uitgevoerd op Azure VMware Solution.

Architectuurdiagram van een Azure VMware Solution datacenter dat is verbonden met een centrale hub. De hub host Application Gateway en API Management.

Aanbevelingen
  • Als u de beveiliging en prestaties van uw Azure VMware Solution-toepassingen wilt verbeteren, gebruikt u Application Gateway met Azure VMware Solution back-ends om verkeer naar uw toepassingseindpunten te distribueren.
  • Zorg ervoor dat er verbinding is tussen de back-endsegmenten die als host fungeren voor Azure VMware Solution en het subnet met Application Gateway of de load balancer.
  • De status configureren blijkt de status van uw back-endexemplaren te bewaken.
  • Offload TLS/SSL-beëindiging naar Application Gateway om verwerkingsoverhead op de back-end-VM's te verminderen.
  • Sla TLS/SSL-sleutels veilig op in kluizen.
  • Stroomlijn processen door taken zoals certificaatupdates en verlengingen te automatiseren.

Stretched clusters optimaliseren om de bedrijfscontinuïteit en gereedheid voor herstel na noodgevallen te versterken

Impact: betrouwbaarheid

Stretched clusters bieden VMware-clusters hoge beschikbaarheid en mogelijkheden voor herstel na noodgevallen in meerdere geografisch gedistribueerde datacenters.

De volgende installatie ondersteunt actief-actief-architecturen. Het vSAN (Virtual Storage Area Network) omvat twee datacenters. Een derde beschikbaarheidszone wordt toegewezen aan een vSAN-witness om te fungeren als quorum voor split-brain-scenario's.

Architectuurdiagram met een uitgerekt vSAN-cluster in twee beschikbaarheidszones. Een derde zone bevat een vSAN-witness.

Het distribueren van de toepassing over meerdere beschikbaarheidszones en regio's helpt om continue beschikbaarheid te garanderen tijdens storingen in het datacenter. Implementeer de toepassingslagen en gegevenslagen in beide datacenters en schakel synchrone replicatie in.

Beleid voor fouttolerantie en niet tolereren (FTT) configureren

De totale bruikbare capaciteit van uw toepassing is afhankelijk van verschillende variabelen. Voorbeelden zijn de configuratie van uw redundante matrix van onafhankelijke schijven (RAID), de waarde van uw failures to tolerate kenmerk en het niet tolereren (FTT)-beleid dat het aantal fouten bepaalt dat uw opslagsysteem kan tolereren. Toepassingsteams moeten het redundantieniveau bepalen dat nodig is voor de toepassing. Het is ook belangrijk om te weten dat hogere FTT-waarden de gegevenstolerantie verbeteren, maar de opslagoverhead verhogen.

Aanbevelingen
  • Implementeer uw toepassing in gedeelde opslag, zodat de VM-gegevens consistent blijven in het stretched cluster. Schakel synchrone replicatie in.
  • Configureer foutdomeinen om te definiëren hoe stretched clusters moeten reageren in een foutscenario.
  • Implementeer automatische failover en failback om handmatige interventie tijdens failover- en herstelbewerkingen tot een minimum te beperken.

Beleid voor gegevenssynchronisatie en opslag configureren

Methoden voor gegevenssynchronisatie zijn belangrijk wanneer uw toepassing afhankelijk is van stateful gegevens en databases om consistentie en beschikbaarheid tijdens een noodgeval te garanderen. Gegevenssynchronisatie biedt hoge beschikbaarheid en fouttolerantie voor kritieke VM's waarop toepassingen worden uitgevoerd.

Een toepassingseigenaar kan een opslagbeleid definiëren om ervoor te zorgen dat:

  • Kritieke VM's waarop een toepassing wordt uitgevoerd, ontvangen het vereiste niveau van gegevensredundantie en -prestaties.
  • De VM's kunnen profiteren van de mogelijkheden voor hoge beschikbaarheid van het stretched cluster in Azure VMware Solution.

Voorbeeldbeleid kan betrekking hebben op de volgende factoren:

  • De vSAN-configuratie. Gebruik een VMware vSAN met een stretched cluster in beschikbaarheidszones.
  • Het aantal fouten dat moet worden getolereerd. Stel het beleid zo in dat ten minste een of meer fouten worden getolereerd. Gebruik bijvoorbeeld een RAID-1-indeling.
  • Prestaties. Configureer prestatiegerelateerde instellingen om IOPS en latentie voor kritieke VM's te optimaliseren.
  • Affiniteitsregels. Stel affiniteitsregels in om ervoor te zorgen dat VM's of groepen vm's in afzonderlijke hosts of foutdomeinen in het stretched cluster worden geplaatst om de beschikbaarheid tijdens datacentrumfouten te maximaliseren.
  • Back-up en replicatie. Geef integratie met back-up- en replicatieoplossingen op om ervoor te zorgen dat er regelmatig een back-up van VM-gegevens wordt gemaakt en gerepliceerd naar een secundaire locatie voor extra gegevensbeveiliging.
Aanbevelingen
  • Definieer beleid voor gegevensopslag in de vSAN om de redundantie en prestaties op te geven die vereist zijn voor verschillende VM-schijven.
  • Configureer toepassingen om te worden uitgevoerd in een configuratie actief-actief of actief-passief, zodat kritieke toepassingsonderdelen kunnen mislukken tijdens storingen in het datacenter.
  • Inzicht in de netwerkvereisten van elke toepassing. Toepassingen die in beschikbaarheidszones worden uitgevoerd, kunnen een hogere latentie hebben dan toepassingen met verkeer binnen een beschikbaarheidszone. Ontwerp uw toepassing om deze latentie te tolereren.
  • Voer prestatietests uit op uw plaatsingsbeleid om de impact ervan op uw toepassing te evalueren.

Volgende stappen

Nu u het toepassingsplatform hebt onderzocht, kunt u zien hoe u connectiviteit tot stand brengt, perimeters maakt voor uw workload en verkeer gelijkmatig distribueert naar uw toepassingsworkloads.

Gebruik het evaluatiehulpprogramma om uw ontwerpkeuzen te evalueren.