Programöverväganden för Azure VMware Solution arbetsbelastningar

Den här artikeln beskriver designområdet för programplattformen i en Azure VMware Solution arbetsbelastning. Det här området beskriver de specifika uppgifter och ansvarsområden som är associerade med att distribuera, konfigurera och underhålla program som du är värd för i en Azure VMware Solution miljö. En programägare ansvarar för programmen i en Azure VMware Solution miljö. Den här personen eller teamet hanterar aspekter som är relaterade till distribution, konfiguration, övervakning och underhåll av programmen.

Viktiga mål för ett välkonstruerat program är:

  • Designa för skalning. Hantera högre användarkrav och samtidiga transaktioner utan försämring eller avbrott i tjänsten.
  • Prestanda. Leverera snabba svarstider med låg svarstid och effektivt hantera resursutnyttjande.
  • Tillförlitlighet och återhämtning. Utforma redundanta, feltoleranta mönster för att säkerställa att ditt program förblir responsivt och återställs snabbt från fel.

Den här artikeln syftar till att ge utvecklare, arkitekter och programägare bästa praxis som är specifika för Azure VMware Solution. Dessa metoder kan hjälpa dig att skapa program som förblir robusta, säkra, skalbara och underhållsbara under hela livscykeln.

Design för skalbarhet och effektiv resursdistribution

Effekt: Tillförlitlighet, prestandaeffektivitet, säkerhet

Det här avsnittet beskriver effektiv allokering och användning av beräkningsresurser mellan virtuella datorer och arbetsbelastningar i Azure VMware Solution privata molnet. De här resurserna kan innehålla PROCESSOR-, minnes-, lagrings- och nätverksresurser. I det här avsnittet går vi även igenom implementeringen av dynamiska skalningstekniker. Du kan använda dessa tekniker för att dynamiskt anpassa resursetablering för att hantera variationer i efterfrågan. Det primära målet är att uppnå optimal resursanvändning genom att minimera underutnyttjande och överetablering som kan leda till ineffektivitet och eskalerade utgifter.

Använda feldomäner

Feldomäner i Azure VMware Solution representerar logiska grupper av resurser i ett sträckt kluster. Dessa resurser delar en gemensam fysisk feldomän. Feldomäner hjälper till att förbättra tillgängligheten i olika felscenarier. Genom att organisera resurser i feldomäner ser du till att kritiska komponenter i ett program sprids över flera feldomäner.

Genom att placera virtuella datorer och andra resurser i separata feldomäner ser programteamet till att ett program förblir tillgängligt under ett datacenter eller ett infrastrukturfel. Du kan till exempel dela upp virtuella datorer i feldomäner som är spridda över geografiskt distribuerade datacenter. Sedan kan ditt program fortsätta att fungera om ett datacenter får ett fullständigt fel.

Programteam bör överväga att definiera tillhörighet mellan virtuella datorer och regler för tillhörighet mot tillhörighet som baseras på feldomäner. Tillhörighetsregler för virtuella datorer placerar kritiska virtuella datorer i samma feldomän för att säkerställa att de inte sprids över flera datacenter. Regler mot tillhörighet förhindrar att relaterade virtuella datorer placeras tillsammans i samma feldomän. Den här metoden hjälper till att säkerställa redundans.

Använda principer för skydd mot tillhörighet mellan virtuella datorer i program med tre nivåer

I Azure VMware Solution omfattar ett användningsfall för principer för skydd mot tillhörighet mellan virtuella datorer ett program med tre nivåer. Målet är att förbättra varje programnivås höga tillgänglighet, feltolerans och återhämtning. För att uppnå det här målet kan du använda principer mot tillhörighet för att sprida nivåerna mellan olika värdar i Azure VMware Solution privata molnet.

Om du vill implementera det här användningsfallet skapar du en distribuerad, feltolerant arkitektur med hjälp av principer för antitillhörighet mellan virtuella datorer på tre nivåer. Den här konfigurationen förbättrar tillgängligheten för hela programmet och säkerställer att felet för en enskild värd inte stör hela nivån eller hela programmet.

På den klientdelswebbnivå som hanterar användarbegäranden kan du till exempel använda principer för tillhörighet mellan virtuella datorer för virtuella datorer för att sprida webbservrarna över olika fysiska värdar. Den här metoden hjälper till att förbättra hög tillgänglighet och feltolerans. På samma sätt kan du använda åtgärder mot tillhörighet för att skydda programservrarna i affärsskiktet och för att stärka dataåterhämtningen i databaslagret.

Arkitekturdiagram som visar en app med tre nivåer som segmenteras med hjälp av tillhörighetsprinciper för virtuella datorer.

Rekommendationer
  • Skapa kartor som visar beroenden mellan virtuella datorer, kommunikation och användningsmönster för att säkerställa att närhet är ett krav.
  • Avgöra om tillhörighet mellan virtuella datorer och virtuella datorer hjälper dig att uppfylla prestandamått eller serviceavtal (SLA).
  • Utforma för hög tillgänglighet genom att implementera vm-VM-principer för skydd mot tillhörighet för virtuella datorer för att skydda mot värdfel och distribuera ditt program över flera värdar.
  • För att undvika överetablering distribuerar du arbetsbelastningen över små virtuella datorer i stället för några stora virtuella datorer.
  • Övervaka, granska och finjustera tillhörighetsprinciper regelbundet för att identifiera potentiell resurskonkurration. Anpassa dessa principer över tid efter behov.

Använda tillhörighetsprinciper för virtuella datorer för prestandaisolering

Vissa arbetsbelastningar som kör virtuella datorer på olika programnivåer fungerar bättre när de samallokeras. Det här användningsfallet inträffar ofta när program kräver:

  • Prestandaisolering för resursintensiva beräkningsarbetsbelastningar med höga prestanda.
  • Efterlevnad av licensavtal. Systemspecifikationer kan till exempel kräva en mappning som associerar en virtuell dator med en specifik uppsättning kärnor för att upprätthålla kompatibilitet med Windows eller SQL Server licensiering.
  • Regelefterlevnad och dataintegritet för att säkerställa att virtuella datorer som tillhör specifika säkerhetsdomäner eller dataklassificeringar är begränsade till specifika värdar eller en delmängd av värdar i klustret.
  • En förenklad nätverkskonfiguration som placerar virtuella datorer på samma värd. I det här fallet förenklas nätverkskonfigurationen mellan nivåerna. Nivåerna delar samma nätverksanslutning och kräver inte extra nätverkshopp.

Om det är viktigt att upprätthålla samlokaliseringen av programnivåer kan du välja principer för tillhörighet mellan virtuella datorer och värdar för att säkerställa att nivåerna distribueras på samma värd och i samma tillgänglighetszon.

Arkitekturdiagram som visar en app med tre nivåer som segmenteras med hjälp av principer för tillhörighet mellan virtuella datorer och värdar.

Anteckning

Plattformsteamet ansvarar för att konfigurera vm-placering, regler för värdtillhörighet och resurspooler. Men programteamet bör förstå varje programs prestandakrav för att säkerställa att programbehoven uppfylls.

Programteamen måste utvärdera vm-placering på ett omfattande sätt och ägna sig åt noggrann planering. Placering av virtuella datorer kan innebära potentiella utmaningar som resursobalanser och ojämn arbetsbelastningsfördelning. Dessa situationer kan leda till negativa effekter på prestanda och resursoptimering. Om du placerar alla arbetsbelastningar i en tillgänglighetszon kan du också skapa en enskild felpunkt i en katastrof. Överväg att replikera din konfiguration över flera tillgänglighetszoner för att förbättra datacentrets motståndskraft vid ett fel.

Rekommendationer
  • Planera noggrant hur du använder tillhörighetsprinciper för vm-värdar för placeringsprinciper. Överväg alternativa lösningar när det är möjligt, till exempel belastningsutjämning, resurspooler i VMware vSphere, distribuerade databaser, containerisering och tillgänglighetszoner.
  • Övervaka regelbundet resursutnyttjande och prestanda för att identifiera eventuella obalanser eller problem.
  • Välj en strategi för vm-placering som är balanserad och flexibel. Den här metoden hjälper dig att maximera resursutnyttjandet samtidigt som du bibehåller hög tillgänglighet och säkerställer efterlevnad av licenskraven.
  • Testa och verifiera konfigurationer för vm-värdtillhörighet för placeringsprincipen så att de överensstämmer med programmets specifika krav och att de inte påverkar övergripande prestanda och motståndskraft negativt.

Distribuera trafik med hjälp av ett program eller en nätverkslastbalanserare

Förutom användning av placeringsprinciper är belastningsutjämning också en viktig komponent i moderna program för att säkerställa:

  • Effektiv resursdistribution.
  • Ökad programtillgänglighet.
  • Optimal programprestanda.

Belastningsutjämning uppfyller dessa kriterier samtidigt som flexibiliteten för skalning och hantering av arbetsbelastningar bibehålls.

När du har distribuerat program på virtuella datorer bör du överväga att använda ett verktyg för belastningsutjämning, till exempel Azure Application Gateway för att skapa serverdelspooler. Application Gateway är en hanterad lastbalanserare för webbtrafik och en tjänst för programleverans som kan hantera och optimera inkommande HTTP- och HTTPS-trafik till webbprogram. Som startpunkt för webbtrafik erbjuder Application Gateway olika typer av funktioner. Exempel är TLS/SSL-avslutning, URL-baserad routning, sessionstillhörighet och brandväggsfunktioner för webbprogram.

Arkitekturdiagram som visar hur trafik flödar från en webbläsare via Application Gateway till serverdelspooler.

När resurserna i serverdelspoolerna är tillgängliga skapar du lyssnare för att ange portar och routningsregler för inkommande begäranden. Sedan kan du skapa hälsoavsökningar för att övervaka hälsotillståndet för dina virtuella datorer och ange när du ska ta bort felaktiga serverdelsresurser från rotationen.

Implementera TLS/SSL-avslutning och certifikathantering

TLS/SSL-kryptering måste framtvingas för all kommunikation mellan ditt program och användarnas webbläsare. Den här krypteringen hjälper till att skydda sessionsdata från avlyssning och man-in-the-middle-attacker. Om ditt program kräver TLS/SSL-avslutning konfigurerar du det nödvändiga TLS/SSL-certifikatet i Application Gateway för att avlasta TLS/SSL-bearbetning från dina virtuella serverdelsdatorer.

När du har genererat TLS/SSL-certifikat placerar du dem i en tjänst som Azure Key Vault som hjälper dig att lagra och komma åt dem på ett säkert sätt. Använd PowerShell, Azure CLI eller verktyg som Azure Automation för att uppdatera och förnya certifikat.

Hantera API:er

Azure API Management hjälper dig att publicera internt och externt distribuerade API-slutpunkter på ett säkert sätt. Ett exempel på en slutpunkt är ett serverdels-API som finns i ett Azure VMware Solution privat moln bakom en lastbalanserare eller Application Gateway. API Management hjälper dig att hantera metoderna och beteendena för ditt API, till exempel genom att tillämpa säkerhetsprinciper för att framtvinga autentisering och auktorisering. API Management kan också dirigera API-begäranden till dina serverdelstjänster via Application Gateway.

I följande diagram överförs trafik från konsumenter till en API Management offentlig slutpunkt. Trafiken vidarebefordras sedan till serverdels-API:er som körs på Azure VMware Solution.

Arkitekturdiagram över ett Azure VMware Solution datacenter som är anslutet till en central hubb. Hubben är värd för Application Gateway och API Management.

Rekommendationer
  • Om du vill förbättra säkerheten och prestandan för dina Azure VMware Solution program använder du Application Gateway med Azure VMware Solution serverdelar för att distribuera trafik till programslutpunkterna.
  • Se till att det finns anslutning mellan serverdelssegmenten som är värdar för Azure VMware Solution och det undernät som innehåller Application Gateway eller lastbalanseraren.
  • Konfigurera hälsa visar sig övervaka hälsotillståndet för dina serverdelsinstanser.
  • Avlasta TLS/SSL-avslutning till Application Gateway för att minska bearbetningskostnaderna på de virtuella serverdelsdatorerna.
  • Lagra TLS/SSL-nycklar på ett säkert sätt i valv.
  • Effektivisera processer genom att automatisera uppgifter som certifikatuppdateringar och förnyelser.

Optimera stretchkluster för att stärka beredskapen för affärskontinuitet och haveriberedskap

Effekt: Tillförlitlighet

Stretchkluster ger VMware-kluster med hög tillgänglighet och haveriberedskap i flera geografiskt distribuerade datacenter.

Följande konfiguration stöder aktiv-aktiv-arkitekturer. Det virtuella lagringsområdesnätverket (vSAN) omfattar två datacenter. En tredje tillgänglighetszon mappar till ett vSAN-vittne för att fungera som kvorum för scenarier med delad hjärna.

Arkitekturdiagram som visar ett vSAN-sträckt kluster över två tillgänglighetszoner. En tredje zon innehåller ett vSAN-vittne.

Genom att distribuera programmet mellan flera tillgänglighetszoner och regioner kan du säkerställa kontinuerlig tillgänglighet vid datacenterfel. Distribuera programnivåer och datanivåer i båda datacenter och aktivera synkron replikering.

Konfigurera principer för feltolerans och underlåtenhet att tolerera (FTT)

Programmets totala användbara kapacitet beror på flera variabler. Exempel är din redundanta matris med RAID-konfiguration (oberoende diskar), värdet för attributet failures to tolerate och de ftt-principer som styr antalet fel som ditt lagringssystem kan tolerera. Programteamen måste fastställa vilken redundansnivå som krävs för programmet. Det är också viktigt att observera att högre FTT-värden förbättrar dataåterhämtningen men ökar lagringskostnaderna.

Rekommendationer
  • Distribuera ditt program över delad lagring så att de virtuella datordata förblir konsekventa i det utsträckta klustret. Aktivera synkron replikering.
  • Konfigurera feldomäner för att definiera hur utsträckta kluster ska svara i ett felscenario.
  • Implementera automatisk redundans och återställning efter fel för att minimera manuella åtgärder under redundans- och återställningshändelser.

Konfigurera principer för datasynkronisering och lagring

Datasynkroniseringsmetoder är viktiga när ditt program förlitar sig på tillståndskänsliga data och databaser för att säkerställa konsekvens och tillgänglighet under en katastrof. Datasynkronisering ger hög tillgänglighet och feltolerans för kritiska virtuella datorer som kör program.

En programägare kan definiera en lagringsprincip för att säkerställa att:

  • Kritiska virtuella datorer som kör ett program får den nivå av dataredundans och prestanda som krävs.
  • De virtuella datorerna är placerade för att dra nytta av funktionerna för hög tillgänglighet i det utsträckta klustret i Azure VMware Solution.

Exempelprinciper kan omfatta följande faktorer:

  • vSAN-konfigurationen. Använd en VMware vSAN med ett sträckt kluster över tillgänglighetszoner.
  • Antalet fel som tolereras. Ange att principen ska tolerera minst ett eller flera fel. Använd till exempel en RAID-1-layout.
  • Prestanda. Konfigurera prestandarelaterade inställningar för att optimera IOPS och svarstid för kritiska virtuella datorer.
  • Tillhörighetsregler. Konfigurera tillhörighetsregler för att säkerställa att virtuella datorer eller grupper av virtuella datorer placeras i separata värdar eller feldomäner i det utsträckta klustret för att maximera tillgängligheten vid datacenterfel.
  • Säkerhetskopiering och replikering. Ange integrering med säkerhetskopierings- och replikeringslösningar för att säkerställa att VM-data regelbundet säkerhetskopieras och replikeras till en sekundär plats för extra dataskydd.
Rekommendationer
  • Definiera datalagringsprinciper i vSAN för att ange redundans och prestanda som krävs för olika VM-diskar.
  • Konfigurera program att köras i en aktiv-aktiv eller aktiv-passiv konfiguration så att kritiska programkomponenter kan misslyckas vid datacenterfel.
  • Förstå varje programs nätverkskrav. Program som körs mellan tillgänglighetszoner kan få högre svarstid än program med trafik inom en tillgänglighetszon. Utforma programmet så att det tolererar den här svarstiden.
  • Kör prestandatester på dina placeringsprinciper för att utvärdera deras inverkan på ditt program.

Nästa steg

Nu när du har granskat programplattformen kan du se hur du upprättar anslutningar, skapar perimeterer för din arbetsbelastning och distribuerar trafik jämnt till dina programarbetsbelastningar.

Använd utvärderingsverktyget för att utvärdera dina designval.