Rekommendationer för att välja rätt tjänster

Gäller för denna checklista för Prestandaeffektivitet för Azure Well-Architected Framework:

PE:03 Välj rätt tjänster. Alternativen för tjänster, infrastruktur och nivå måste stödja din förmåga att nå arbetsbelastningens prestandamål och hantera förväntade kapacitetsändringar. Valen bör också väga fördelarna med att använda plattformsfunktioner eller skapa en anpassad implementering.

Den här guiden beskriver rekommendationerna för att välja lämpliga tjänster för din arbetsbelastning. Följande rekommendationer hjälper dig att välja tjänster som bäst uppfyller kraven och kraven för din arbetsbelastning. När du använder tjänster som är utformade för att hantera arbetsbelastningens krav kan du se till att din arbetsbelastning uppfyller dina prestandamål. Om du väljer olämpliga tjänster för din arbetsbelastning kanske tjänsterna inte kan hantera arbetsbelastningens krav. Otillräckliga tjänster kan leda till långsamma svarstider, flaskhalsar eller arbetsbelastningsfel.

Definitioner

Period Definition
Tillgänglighetszon En avgränsad grupp datacenter i en region. Varje tillgänglighetszon är oberoende av de andra, med sin egen infrastruktur för ström, kylning och nätverk. Många regioner stöder tillgänglighetszoner.
Processortjänst En tjänst som tillhandahåller den infrastruktur som du behöver för att köra ett program.
Databastjänst En tjänst som tillhandahåller relationsdatabaser och icke-relationella databaser för ditt program.
Infrastruktur De fysiska komponenterna i molnbaserad databehandling och komponenternas geografiska plats.
Infrastruktur som en tjänst (IaaS) En tjänst där kunden ansvarar för operativsystemet, identiteten, programmen och nätverken.
Plattform som en tjänst (PaaS) En tjänst där molntjänstleverantören ansvarar för operativsystemet. Molntjänstleverantören delar ansvaret med kunden för att hantera identiteter, program och nätverk.
Region En geografisk perimeter som innehåller en uppsättning datacenter.
Resurs En enda entitet eller komponent som du kan skapa, konfigurera och använda inom en molntjänstleverantör.
Tjänst En produkt eller ett erbjudande från en molntjänstleverantör.
Lagerhållningsenhet (SKU) En tjänstnivå för en Azure-tjänst.
Lagringstjänst En tjänst som tillhandahåller lagring för objekt, block och filer.

Viktiga designstrategier

De tjänster du väljer bör anpassas till arbetsbelastningens prestandamål och vara anpassningsbara till framtida kapacitetsbehov. När arbetsbelastningen expanderar eller utvecklas bör de tjänster som du använder matcha dina prestandastandarder utan att kräva större justeringar. Överväg balansen mellan plattformsfunktioner och anpassade implementeringar. Plattformsfunktioner ger omedelbara lösningar, men anpassade alternativ erbjuder exakt anpassning. Dina tjänstval bör vara både framåtblickande och skräddarsydda för dina specifika behov, med hänsyn till kompromisserna mellan bekvämlighet och anpassning.

Förstå arbetsbelastningskrav

Att förstå arbetsbelastningskrav syftar på att förstå de tekniska och funktionella kraven för en arbetsbelastning. Den här analysen hjälper dig att fastställa vilka resurser, lagring, beräkning, nätverk och andra specifikationer som behövs för att köra arbetsbelastningen. Genom att justera tjänster efter de specifika behoven för en arbetsbelastning kan du förhindra överetablering eller underutnyttjande av resurser.

Utvärdera arbetsbelastningens behov och egenskaper för att fastställa kraven och anpassa dina arbetsbelastningskrav till dina prestandamål på varje nivå. Du måste ta hänsyn till begränsningar eller beroenden. När du förstår dina arbetsbelastningskrav kan du fatta välgrundade beslut. Du kan fastställa rätt infrastruktur och implementera strategier för att hantera belastningstoppar eller variationer i efterfrågan.

  • Uppfylla prestandamål. Välj tjänster som gör att du kan uppfylla prestandamålen för din arbetsbelastning. Se till att en tjänst kan stödja prestandabehoven och att du kan övervaka dess prestanda. Samla in prestandadata för kritiska komponenter.

  • Överväg organisationsbegränsningar. Var bekant med begränsningar som din organisation kan ha för tjänster som du distribuerar. Tänk på dessa begränsningar när du utformar din lösning.

  • Överväg efterlevnads- och säkerhetskrav. Efterlevnads- och säkerhetskrav kan påverka tjänster och konfigurationer som du väljer. Se till att en tjänst som du väljer uppfyller de krav som gäller lagring, kryptering, åtkomstkontroller, granskningsloggar och dataplatser.

  • Överväg teamkunskaper. Ditt team skapar och underhåller arbetsbelastningar. Olika tjänster kräver olika färdigheter. Välj tjänster som ditt team vet hur de ska använda eller genomför utbildning innan du väljer en tjänst. Se till att teammedlemmarna har den expertis och kunskap som behövs för att effektivt använda tjänster och optimera deras prestanda.

Kompromiss: Specialiserade tjänster erbjuder specifika funktioner men kan begränsa anpassningen. Flexibla resurser kräver mer hantering och konfiguration jämfört med specialiserade tjänster. Hanterade tjänster erbjuder enkel hantering, men du kan ha mindre kontroll över den underliggande infrastrukturen jämfört med självhanterade resurser.

Förstå tjänster

Att förstå tjänster handlar om att känna till funktionerna i en leverantörs verktyg och erbjudanden. En förståelse av tjänster hjälper dig att använda inbyggda funktioner, vilket minskar behovet av komplexa anpassade lösningar och förbättrar prestandaeffektiviteten.

Överväg olika faktorer och få en omfattande förståelse för en tjänst innan du väljer den. Undersöka och utvärdera tjänster och verktyg som leverantören erbjuder. Bestäm vilka tjänster och verktyg som bäst överensstämmer med dina arbetsbelastningskrav. Överväg faktorer som hanterade tjänster, serverlösa alternativ och specialiserade tjänster.

Förstå tjänstbegränsningar

Tjänstgränser är de fördefinierade tröskelvärden eller gränser som tjänstleverantörerna har angett. Tjänstbegränsningar definierar den maximala användningen av resurser eller funktioner inom den tjänsten. När du är bekant med tjänstbegränsningar kan du undvika problem som resurskonkurrering, prestandaförsämring eller oväntade tjänstavbrott. Du kan planera och skala infrastrukturen på rätt sätt. Din planering tar hänsyn till faktorer som datavolym, bearbetningskapacitet och krav på datahemvist.

Föredra plattformsfunktioner

Att föredra plattformsfunktioner handlar om att använda inbyggda funktioner som tillhandahålls av en leverantör för att hantera specifika uppgifter utan anpassad kod. Leverantörer utformar plattformsfunktioner för att hantera specifika uppgifter effektivt i stor skala, och de underhåller regelbundet dessa funktioner. Med plattformsfunktioner kan du bättre dra nytta av molninfrastrukturfunktioner. Välj tjänster som gör att du kan avlasta funktioner till plattformen i stället för att skriva och underhålla din egen anpassade kod. I många fall ger PaaS-lösningar (plattform som en tjänst) bättre prestandaeffektivitet än anpassad kod. Anpassad kod ökar komplexiteten och gör arbetsbelastningen utsatt för prestandaproblem. Utveckla endast anpassad kod när tjänstfunktionerna inte räcker till.

Kompromiss: Den bästa tjänsten för din arbetsbelastning kan vara en teknik som ditt team inte är skickligt på, inte har råd med eller som kan kräva extra säkerhetslager. En offentlig lastbalanserare kan till exempel passa dina prestandabehov. Men om du inte har någon brandvägg för webbprogram kan du behöva distribuera en brandvägg för att skydda arbetsbelastningen.

Utvärdera infrastrukturkrav

Resursernas prestandaeffektivitet är kopplad till den infrastruktur som de finns på. Det gör valet av rätt infrastruktur kritiskt för tjänstens prestandaeffektivitet. Utvärdering av infrastrukturkrav innebär att identifiera den geografiska region och de tillgänglighetszoner som passar bäst för din arbetsbelastning. Viktiga överväganden i det här beslutsfattandet är:

  • Förstå regioner och tillgänglighetszoner. Varje region motsvarar en distinkt geografisk plats. Tillgänglighetszoner representerar enskilda fysiska datacenter inom en viss region.

  • Distributionsmodell för en region jämfört med flera regioner. En distributionsmodell för en region distribuerar alla resurser i en enda region. En distributionsmodell med flera regioner distribuerar resurser i flera regioner. En distribution med flera regioner kan minska svarstiden för slutanvändarna och minska kapacitetsbegränsningarna. Men det kan också öka kostnaden och komplexiteten för arbetsbelastningen. Välj den distributionsmodell som bäst passar dina arbetsbelastningsbehov.

  • Förstå tillgängliga funktioner. Olika regioner har olika tillgängliga funktioner, till exempel antalet tjänster och tillgänglighetszoner. Förstå vilka funktioner som är tillgängliga i en region innan du väljer den. Se till att en region uppfyller dina arbetsbelastningsprestandabehov.

  • Överväg svarstid. Svarstid, den tid data tar att resa från källa till mål, ökar de ytterligare tjänsterna från varandra. Tjänster som kommunicerar mellan regioner eller tillgänglighetszoner kan få ökad svarstid. Vi rekommenderar att du identifierar tjänster som ofta kommunicerar och placerar dem i samma region. Om du väljer en regionsprång till din primära användarbas kan du dessutom minimera svarstiden, vilket ger en bättre användarupplevelse.

  • Förstå datacentermappning. Tillgänglighetszoner kanske inte mappas konsekvent till samma datacenter i olika prenumerationer. "Zon 1" i "Prenumeration A" kan till exempel skilja sig från "Zon 1" i "Prenumeration B". När du arbetar med flera prenumerationer bör du känna till dessa mappningar för att välja zoner som ger optimal prestanda.

Utvärdera nätverkskrav

Utvärdera nätverkets behov av att fastställa lämpliga arbetsbelastningstjänster och konfigurationer. Se till att nätverket kan stödja din arbetsbelastning. Om du vill utvärdera nätverkskrav bör du överväga:

  • Förstå nätverkstrafik. Utvärdera den förväntade nätverkstrafiken för arbetsbelastningen. Förstå dataöverföringsbehoven och frekvensen för nätverksbegäranden.

  • Förstå bandbreddskrav. Fastställa bandbreddskraven för arbetsbelastningen. Överväg mängden data som överförs och tas emot via nätverket.

  • Förstå nätverksfördröjning. Utvärdera önskad svarstid för arbetsbelastningen. Använd privata virtuella nätverk och stamnätverk i stället för att gå över det offentliga Internet. Den här tekniken minskar svarstiden för arbetsbelastningen.

  • Förstå dataflöde. Överväg det dataflöde som krävs för arbetsbelastningen. Dataflöde refererar till mängden data som kan överföras över ett nätverk under en viss tid. Konfigurera alternativen för nätverksroutning för att dra nytta av fördelarna med nätverkets dataflöde.

Kompromiss: Privata virtuella nätverk begränsar offentlig åtkomst och gör det svårt att distribuera och hantera resurser.

Utvärdera beräkningskrav

Utvärdering av beräkningskrav omfattar bedömning av specifika beräkningsbehov för en arbetsbelastning, inklusive faktorer som instanstyp, skalbarhet och containerisering. Olika beräkningstjänster har olika funktioner och egenskaper som kan påverka arbetsbelastningens prestanda. Välj den optimala beräkningstjänsten för att säkerställa att arbetsbelastningen körs effektivt. Tänk på följande strategier:

  • Förstå instanstyper. Olika instanstyper är optimerade för olika arbetsbelastningar, till exempel CPU-optimerade, minnesoptimerade och GPU-instanser. Välj den instanstyp som överensstämmer med dina behov.

  • Överväg automatisk skalning. Om din arbetsbelastning har varierande efterfrågan bör du överväga en beräkningstjänst med en autoskalningsfunktion som automatiskt kan justera beräkningskapaciteten baserat på efterfrågan. Automatisk skalning säkerställer att du har tillräckligt med resurser under hög belastning och förhindrar överetablering under perioder med låg efterfrågan.

  • Överväg containerisering. Containrar ger prestandafördelar jämfört med en icke-containeriserad arbetsbelastning. Överväg att använda containerinkapsning om det passar dina arkitekturbehov. Containrar förbättrar beräkningsprestanda genom isolering, resurseffektivitet, snabb starttid och portabilitet.

    När du använder containrar bör du överväga designfaktorer som att containerisera alla programkomponenter. Använd Linux-baserade containerkörningar för lätta avbildningar. Ge containrar korta livscykeler så att de blir oföränderliga och utbytbara. Samla in relevanta loggar och mått från containrar, containervärdar och det underliggande klustret. Använd dessa data för att övervaka och analysera prestanda. Containrar är bara en komponent i en övergripande arkitektur. Välj en lämplig containerorkestrerare, till exempel Kubernetes, för att ytterligare förbättra prestanda och skalbarhet.

    Containerförmån Description
    Isolering Containrar tillhandahåller isolerade miljöer för program. Containrar ser till att programresurser inte stör varandra. Den här isoleringen säkerställer att beräkningsresurser som tilldelats till en container är dedikerade till att köra ett visst program, vilket ger bättre prestanda.
    Resurseffektivitet Containrar är enkla och delar värdoperativsystemets kernel, vilket möjliggör effektiv resursanvändning. Flera containrar kan köras på samma virtualiserade infrastruktur, vilket maximerar användningen av beräkningsresurser.
    Snabb starttid Containeravbildningar är fördefinierade och startas snabbt när det behövs. Den här snabba starttiden möjliggör snabb skalbarhet. Det gör att program kan skalas upp eller ned baserat på efterfrågan och undvika flaskhalsar i prestanda.
    Portabilitet Containrar kapslar in alla nödvändiga beroenden och bibliotek i avbildningen. Med containrar är det enklare att flytta program mellan olika operativsystem eller miljöer. Den här portabiliteten möjliggör flexibilitet vid distribution av program och möjliggör enkel migrering mellan molnleverantörer eller lokala miljöer.
  • Välj lämplig nivå. I varje beräkningstjänst kan du ange beräkningskapaciteten, välja funktioner och aktivera funktioner. Baserat på dina prestandamål väljer du lämplig tjänstnivå för beräkningstjänsten.

  • Fastställ antalet instanser. Fastställ det minsta antal instanser som din arbetsbelastning kräver. Vissa arbetsbelastningar, även vid minimal belastning, kan kräva mer än en instans av en beräkningsresurs. Ange det minsta antalet instanser i enlighet med detta.

Utvärdera belastningsutjämningskrav

Belastningsutjämning säkerställer att nätverkstrafiken fördelas jämnt och förhindrar att en enskild server överbelastas med begäranden. Belastningsutjämning hjälper till att förhindra flaskhalsar och minska svarstiderna. Utvärdera de olika lastbalanseringstjänster som molnleverantören erbjuder. Granska molnleverantörens dokumentation och jämförelseverktyg för att förstå funktionerna. Välj den lämpligaste tjänsten för din arbetsbelastning. Överväg att välja en tjänst för belastningsutjämning:

  • Förstå trafiktyp: Avgör om tjänsten för belastningsutjämning behöver hantera webbtrafik, till exempel HTTP och HTTPS, eller andra protokoll, till exempel TCP (Transmission Control Protocol) eller UDP (User Datagram Protocol).

  • Känna till global eller regional routning: Avgör om din arbetsbelastning kräver belastningsutjämning inom en viss region eller i flera regioner.

  • Känna till servicenivåmål (SLO:er): Överväg serviceavtalet (SLA). Olika tjänster för belastningsutjämning erbjuder olika prestandanivåer.

  • Förstå funktioner: Överväg belastningsutjämningstjänster som ger platsacceleration, optimal trafikdistribution och skikt-4-belastningsutjämning med låg latens.

Utvärdera krav för datalager

Utvärdering av datalagerkrav handlar om att utvärdera specifika behov och villkor för lagring, hämtning och hantering av data. Den här utvärderingen tar hänsyn till faktorer som datavolym, åtkomsthastighet, konsekvens och hållbarhet. En arbetsbelastning kan kräva flera typer av datalager baserat på olika affärs- och tekniska krav. Genom att identifiera rätt datalagertjänster och korrekt implementering kan du förhindra flaskhalsar och säkerställa snabb dataåtkomst.

Utvärdera databaskrav

Databasen kan påverka faktorer som datalagring och hämtning, transaktionsbearbetning, konsekvensgarantier och hantering av stora eller snabbt föränderliga data. Utvärdera behoven och kriterierna för databasen. Välj ett databassystem som kan uppfylla dessa krav. Utvärdera databaskraven innan du väljer en databas. Följ dessa steg för att utvärdera databaskraven och välja lämplig databas:

  • Identifiera arbetsbelastningsbehoven. Förstå de specifika kraven för din arbetsbelastning, till exempel datavolym, förväntade transaktionshastigheter, samtidighet, datatyper och förväntad tillväxt. Utvärdera olika databassystem baserat på dina arbetsbelastningsbehov. Om din arbetsbelastning till exempel kräver databearbetning i realtid med höga prestanda kan du välja ett databassystem som är optimerat för snabb datainmatning och låg svarstid.

  • Överväg datamodellen. Fastställ den datamodell som passar din arbetsbelastning bäst. Utvärdera databaskraven för att säkerställa att den valda databasen stöder nödvändiga datastrukturer, relationer och integritetsbegränsningar. Om dina data till exempel har en mycket relationell struktur kan du välja ett hanteringssystem för relationsdatabaser (RDBMS) som ger robust stöd för transaktioner och referensintegritet. Datamodellen kan vara hierarkisk, nätverk, relationell, objektorienterad eller NoSQL. Utvärdera komplexiteten i din datamodell. Kontrollera att den valda databasen stöder de datastrukturer och relationer som krävs.

  • Utvärdera funktionerna. Överväg faktorer som läs-/skrivmönster, frågekomplexitet, svarstidskrav och skalbarhetsbehov. Utvärdera prestandafunktionerna i olika databassystem i enlighet med detta. Vissa databaser utmärker sig i läsintensiva arbetsbelastningar, medan andra är optimerade för skrivintensiva eller analytiska arbetsbelastningar.

  • Utvärdera belastningen. Överväg faktorer som datavolym, transaktionshastigheter, läs-/skrivkvoter och förväntad tillväxt. Välj en databas som kan hantera den förväntade arbetsbelastningen för att säkerställa en smidig drift och förhindra flaskhalsar i prestanda när arbetsbelastningen skalas. Överväg skalbarhetskraven för din arbetsbelastning. Dessa krav omfattar förväntad datatillväxt, samtidig användaråtkomst och behovet av horisontell eller vertikal skalning. Utvärdera de skalbarhetsalternativ och tillgänglighetsfunktioner som olika databassystem tillhandahåller.

Utvärdera lagringskrav

Välj lagringstjänster som överensstämmer med dina dataåtkomstmönster, hållbarhetskrav och prestandabehov. De flesta molnarbetsbelastningar använder en kombination av lagringstekniker. Den här tekniken kallas för metoden för flerspråkig beständighet. Fastställa lämplig kombination av lagringstjänster för din arbetsbelastning. Du kanske också vill separera data för att undvika kontaminering. Du kan till exempel ha separata lagringskonton för övervakning av data och affärsdata. Det är viktigt att välja rätt blandning och korrekt implementering för att optimera programmets prestanda.

Utvärdera cachekrav

En cache lagrar data som används ofta. Cachelagring minskar svarstiden för dataåtkomst och minskar belastningen på datalagringskomponenter. Det gör att arbetsbelastningen kan hantera fler begäranden utan skalning. Det är vanligt att cachelagrade arbetsbelastningsdata och statiskt innehåll. En Redis-cache kan lagra sessionsdata, databasresultat, API-svar och referensdata, till exempel konfigurationsinställningar. Ett nätverk för innehållsleverans eller en statisk webbapp kan cachelagrat och hantera statiskt innehåll. Överväg att cachelagra data för att förbättra arbetsbelastningens prestanda. Välj rätt cachelagringsalternativ för din arbetsbelastning, och föredra plattformscachelagringstjänster, till exempel Azure Redis Cache, framför anpassade eller lokalt installerade tjänster.

Azure-underlättande

Förstå krav: Använd Azure Monitor för att samla in och analysera data från din arbetsbelastning. Monitor ger insikter om prestanda och hälsa för dina arbetsbelastningar, så att du kan identifiera och felsöka problem.

Förstå och utvärdera tjänster: Granska Azure-tjänster och -produkter för att avgöra om de uppfyller dina prestandakrav. Azure erbjuder flera tjänster som uppnår samma resultat. Du har flexibiliteten att anpassa valet av tjänst efter dina prestandabehov, teamkunskaper och kostnadskrav.

En lista över de vanligaste Azure-gränserna finns i Azure-prenumerations- och tjänstgränser, kvoter och begränsningar.

Exemplet Frågegränser och kvoter visar hur du frågar efter gränser och kvoter för vanliga resurser.

Azure har många tjänster som kan hantera alla arbetsbelastningar. Läs urvalsvägledningen för varje tjänsttyp för att hjälpa dig att effektivisera ditt val baserat på dina behov. Se följande guider att välja:

Checklista för prestandaeffektivitet

Se den fullständiga uppsättningen rekommendationer.