Share via


Rekommendationer för att optimera operativa uppgifter

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

PE:10 Optimera operativa uppgifter. Övervaka och minimera effekterna av livscykeln för programvaruutveckling och andra rutinåtgärder på arbetsbelastningens prestanda. Dessa åtgärder omfattar virusgenomsökningar, hemliga rotationer, säkerhetskopior, omindexering av databaser och distributioner.

Den här guiden beskriver rekommendationerna för att optimera operativa uppgifter. Optimera operativa uppgifter är en process för att minimera effekterna av uppgifter som du utför som en del av routning av arbetsbelastningsåtgärder. Åtgärdsaktiviteter använder samma beräkningsresurser som själva arbetsbelastningen. Om du inte beaktar effekterna av åtgärder kan arbetsbelastningen missa sina prestandamål. Det kan också påverka arbetsbelastningens prestanda negativt för dina kunder.

Definitioner

Period Definition
Blågrön distribution En distributionsstrategi som använder två identiska miljöer och styr trafikens riktning till nya distributioner (gröna distributioner).
Återskapa databasindex En underhållsaktivitet som släpper och återskapar ett index.
Omorganisering av databasindex En underhållsaktivitet som optimerar det aktuella databasindexet.
Databasschema Den allmänna strukturen för en databas och dess relationer till andra data.
Distributionsplats En funktion i Azure App Service som gör att du kan distribuera liveappar med egna värdnamn.
Uppgraderingar på plats Processen att uppgradera en komponent eller ett program utan att ersätta den eller migrera den till en ny miljö.
Infrastruktur som kod (IaC) En beskrivande modell för att definiera och distribuera infrastruktur, inklusive nätverk, virtuella datorer, lastbalanserare och anslutningstopologier.

Viktiga designstrategier

Du måste vidta åtgärder för att minska effekterna av livscykeln för programvaruutveckling och andra rutinåtgärder på arbetsbelastningens prestanda. Målet är att säkerställa att rutinåtgärder, till exempel virusgenomsökningar, hemliga rotationer, säkerhetskopior, indexoptimering (omorganisering eller återskapande) och distributioner, inte avsevärt försämrar arbetsbelastningens prestanda.

Konto för operativa uppgifter

Det är viktigt att tänka på operativa uppgifter när du anger prestandamål. Genom att införliva rutinmässiga, regelbundna och ad hoc-uppgifter i prestandamål kan du se till att arbetsbelastningen fungerar effektivt. Här är några viktiga saker att tänka på för att ta hänsyn till operativa uppgifter i prestandamål:

  • Identifiera operativa uppgifter. Identifiera och inkludera relevanta operativa uppgifter i prestandamål. Exempel på rutinuppgifter kan vara virusgenomsökning, omorganisering av databasindex, återskapande av databasindex, säkerhetskopiering av diskar eller databaser, certifikatrotationer, korrigering av ett operativsystem, roterande lösenord, roterande API-nycklar, intrångstestning och granskningsgranskningar i produktion.

  • Utvärdera prestandamål. Utvärdera aktuella prestandamål och justera dem för att ta hänsyn till operativa uppgifter som är specifika för arbetsbelastningen. Detta säkerställer att prestandamålen överensstämmer med arbetsbelastningens driftskrav.

Optimera distributioner

Optimering av distributioner syftar på att förfina processen med att frigöra resurser och kod för att garantera sömlös prestanda och minimala avbrott. Det omfattar planering, effektiv resursdistribution och noggrann testning av både IaC (infrastructure-as-code) och programkoden innan de introduceras i en livemiljö. Distributionsbrister kan leda till minskad hastighet och effektivitet för en arbetsbelastning, potentiella resursbegränsningar och en komprometterad användarupplevelse i driftsinställningen. Tänk på följande strategier för att optimera distributioner:

Utvärdera acceptabel stilleståndstid. Om stilleståndstid är acceptabelt kan du implementera distributionsstrategier som prioriterar hastighet och effektivitet. Det är dock viktigt att noggrant utvärdera effekten av stilleståndstid på affärskraven innan du fattar det beslutet. Om driftstopp å andra sidan inte är godtagbara måste du implementera distributionsstrategier som säkerställer kontinuerlig tillgänglighet för arbetsbelastningen. Överväg att använda tekniker som blågröna distributioner eller kanariedistributioner, där du gradvis distribuerar nya versioner av arbetsbelastningen medan du övervakar problem. Dessa strategier hjälper till att minimera effekten av stilleståndstid och säkerställa en sömlös användarupplevelse.

Distribuera vid aktuellt instansantal. Du bör också undvika distributioner som orsakar omedelbara skalningsåtgärder. Du bör inte distribuera resurser till ett live-system med ett instansantal så lågt att det tvingar systemet att omedelbart utföra en skalningsåtgärd. Din IaC-mall (infrastructure-as-code) kanske till exempel inte matchar antalet instanser som du behöver vid tidpunkten för distributionen. Det kan ha ett instansantal på två, även om den aktuella distribuerade miljön kör åtta instanser. Distributionen skulle ta bort sex instanser och påverka prestanda negativt.

Använd en blågrön distributionsstrategi. Distributioner kan orsaka avbrott i tjänsten och stilleståndstid. Du kan åtgärda dessa problem genom att välja en distributionsstrategi som minimerar prestandapåverkan, till exempel en blågrön distribution. Dessa metoder möjliggör sömlösa övergångar mellan miljöer och minskar risken för avbrott i tjänsten. När du använder den blågröna distributionsmetoden har du två separata miljöer: de blå och gröna miljöerna. Om några problem eller prestandaförsämring identifieras i den gröna miljön kan du enkelt återställa till den stabila blå miljön. Den här strategin hjälper dig att säkerställa minimal stilleståndstid och gör att du kan upprätthålla en hög prestandanivå för din arbetsbelastning. Om du vill distribuera med hjälp av den blågröna metoden följer du dessa allmänna steg:

  • Distribuera den nya miljön. Konfigurera den nya miljön (grön) tillsammans med den befintliga miljön (blå) med den uppdaterade versionen av ditt program.

  • Verifiera den nya miljön. Distributioner kan ge svarstider och öka svarstiderna. Överväg att förvärma instanser före snabb användning. Förvarning innebär att förbereda den nya miljön genom att simulera produktionsliknande trafik och arbetsbelastning för att säkerställa att miljön är redo att hantera den förväntade belastningen. Det hjälper till att minimera effekterna på svarstider och svarstider. Testa och verifiera den nya miljön noggrant för att säkerställa att den fungerar korrekt och uppfyller prestandaförväntningarna. Testning hjälper till att värma upp cacheminnen, upprätta Databasanslutningar och se till att miljön är redo att hantera den förväntade belastningen.

  • Flytta trafiken gradvis. När den nya miljön har förvärmts och verifierats flyttar du gradvis produktionstrafiken från den gamla miljön (blå) till den nya miljön (grön). Först dirigerar du en liten procentandel av trafiken till den gröna miljön och ökar den gradvis efter att ha kontrollerat dess stabilitet och förväntade programhälsa. Du kan använda en global lastbalanserare eller trafikhanteringsmekanism. Med den kontrollerade trafikväxlingen kan du identifiera eventuella prestandaproblem tidigt och vidta korrigerande åtgärder innan du helt överför arbetsbelastningen till den nya miljön.

  • Övervaka och optimera. Distributioner kan använda resurser för delad databehandling. Övervaka kontinuerligt prestanda och hälsa för den nya miljön när du har flyttat trafik. Gör nödvändiga optimeringar eller justeringar för att säkerställa önskad prestanda och användarupplevelse.

  • Ta bort den gamla miljön. När du har överfört all trafik till den gröna miljön tar du bort den blå miljön från befintliga anslutningar. Det här steget hjälper till att optimera kostnaden för att underhålla den gamla miljön och ser till att nya miljöer är fria från konfigurationsavvikelser.

  • Upprepa processen. För framtida distributioner ändrar du rollerna för de blå och gröna miljöerna. Distribuera ändringar i den nya blå miljön, validera dem, samordna trafikövergången och inaktivera den gamla gröna miljön.

Använd flera versioner. Olika typer av byggen kan hjälpa dig att optimera byggtiderna och säkerställa kvaliteten på distributionerna. Du kan till exempel ha genereringar för kontinuerlig integrering (CI) som utlöses med varje kodincheckning. Du kan ha nattliga versioner som kör automatiserade tester regelbundet och versionsversioner som används för distribution till produktion. Varje typ av bygge bör ha ett specifikt syfte, till exempel kontinuerlig integrering, automatiserad testning eller produktionsdistribution. Testning och validering av arbetsbelastningen före distributionen hjälper dig att identifiera och åtgärda problem eller buggar tidigt i utvecklingsprocessen.

Överväg funktionsflaggor. Funktionsflaggor används i programvaruutveckling för att styra synligheten och beteendet för vissa funktioner i ett program. Med hjälp av funktionsflaggor kan utvecklare aktivera eller inaktivera specifika funktioner utan att behöva distribuera om programmet. Funktionsflaggor fungerar genom att införa villkorsstyrd logik i koden som avgör om en funktion ska aktiveras eller inaktiveras. Den här logiken kan baseras på olika faktorer, till exempel användarroller, användarinställningar eller specifika villkor som definieras av utvecklingsteamet. Med hjälp av funktionsflaggor kan utvecklare gradvis distribuera nya funktioner till en delmängd användare eller aktivera funktioner för specifika grupper för testning (kanarietestning).

Optimera uppgraderingar

En uppgradering på plats är en uppgradering till en befintlig resurs eller ett befintligt program. Uppgraderingar på plats kan tillfälligt sakta ned eller avbryta en arbetsbelastning. Det är viktigt att se till att uppgraderingarna är kompatibla med arbetsbelastningen. Innan du tillämpar en uppgradering rekommenderar vi att du testar den i en separat miljö för att identifiera eventuella problem. Ange en återställningsplan om det skulle uppstå problem under uppgraderingsprocessen. Det är viktigt att ta en fullständig säkerhetskopia av kritiska data och konfigurationer innan du tillämpar uppgraderingen. Övervaka det uppgraderade systemet noga efter uppgraderingen för att säkerställa att allt fungerar som förväntat. Med säkerhetskopian kan du återställa till ett bra tillstånd om du behöver det. Du bör prioritera schemaläggning av uppgraderingen under låg belastning för att minimera effekten på användare och arbetsbelastningsprestanda. Meddela användarna i förväg om den planerade uppgraderingen, inklusive förväntad stilleståndstid och eventuella nödvändiga åtgärder som de behöver vidta.

Kompromiss: Om du väntar på att utföra driftaktiviteter under låg belastning kan drifteffektiviteten påverkas. Det kan vara mindre praktiskt att ha personal med rätt kompetensuppsättning arbete under låg belastning.

Optimera verktyg

Viktiga verktyg för övervakning av filintegritet, virusgenomsökning, intrångsidentifiering och andra operativa uppgifter kan påverka arbetsbelastningens prestanda. De förbrukar beräkningsresurser och kan lägga till svarstider och prestandaomkostnader. Du måste testa och förstå vilka effekter dina verktyg har på arbetsbelastningens prestanda. Baserat på testresultaten bör du finjustera verktygskonfigurationer, justera genomsökningsfrekvensen och omallokera beräkningsresurser. För virusgenomsökning kan du skapa en relevant undantagslista för att minimera genomsökningarnas varaktighet.

Optimera databasåtgärder

Optimering av databasåtgärder syftar på processen för att förfina och finjustera databasuppgifter för att säkerställa maximal effektivitet och minimal resursanvändning. Dessa åtgärder omfattar uppgifter som säkerhetskopieringar, schemaändringar, prestandajustering och övervakning. Effektiva databasåtgärder leder till snabbare frågesvar, lägre systemomkostnader och en övergripande smidigare användarupplevelse.

Schemaändringar innebär att ändra strukturen för en databas, till exempel lägga till eller ändra tabeller, kolumner eller index. Dessa ändringar kan kräva extra bearbetning och resursutnyttjande under distributionsprocessen, vilket kan påverka arbetsbelastningens övergripande prestanda. Schemaändringar kan störa prestanda för aktiva frågor, index eller transaktioner eller göra att data inte är tillgängliga.

För att minimera dessa effekter bör du planera och testa schemaändringar i en icke-produktionsmiljö. Du kan använda olika distributionstekniker för att implementera schemauppdateringar. Du bör också använda tillgängliga verktyg för schemaändring för att optimera processen. Genom att arkivera data och partitionera kan du minska effekterna av schemaändringar.

Optimera säkerhetskopior

Säkerhetskopieringar förbrukar arbetsbelastningsresurser som bearbetningskraft, nätverksbandbredd och disk-I/O. Du måste testa och välja en säkerhetskopieringsstrategi som minimerar dessa effekter. Du bör utföra säkerhetskopior under låg belastning när du kan. Din strategi bör innehålla inkrementella säkerhetskopior i stället för fullständiga säkerhetskopior varje gång. Ögonblicksbilder kan vara mindre resursintensiva än säkerhetskopieringar. Du bör överväga inbyggda funktioner för säkerhetskopiering och återställning av plattformar i stället för att skapa en anpassad lösning. Du måste testa de här alternativen och använda en kombination som ger bästa möjliga prestanda för din arbetsbelastning.

Optimera övervakning och felsökning

Överdriven eller dåligt implementerad loggning, telemetri, instrumentation och distribuerad spårningsinsamling kan påverka prestanda. På samma sätt kan bekvämlighetsfunktioner som fjärrfelsökning också påverka prestanda. Du måste mäta och känna till deras prestandaeffekter på miljön. Du vill inte att dessa processer ska försämra prestandan. Du bör konfigurera eller inaktivera processer vars prestandaeffekter väger tyngre än deras fördelar.

Azure-underlättande

Redovisning av operativa uppgifter: Azure DevOps är en uppsättning utvecklingsverktyg och tjänster som gör det möjligt för team att planera, utveckla, testa och leverera programvara effektivt. Den innehåller funktioner som versionskontroll, kontinuerlig integrering och leverans, projekthantering med mera.

Azure tillhandahåller tjänst-till-tjänst-integrering som minimerar effekterna av många operativa uppgifter. Till exempel stöder tjänster som integreras med Azure Key Vault ofta sömlös certifikatrotation eller hemlig rotation som minimerar prestandaeffekter.

Optimera distributioner: App Service tillhandahåller distributionsplatser. Du kan använda distributionsfack för att distribuera kod till en icke-produktionsmiljö. Du kan växla appinnehåll och konfigurationselement mellan två distributionsplatser. Du kan till exempel växla appinnehåll från en icke-produktionsplats till produktionsplatsen.

Med Azure Front Door och Azure Traffic Manager kan du implementera en blågrön distributionsstrategi. Vissa Azure-beräkningstjänster har också stöd för avancerade distributionsstrategier som blågröna distributioner. Du kan kombinera dessa tjänster med din strategi för trafikförskjutning eller instansuppvärmning för att minimera prestandaeffekterna av distributionen.

Optimera databasåtgärder: Azure SQL Database tar automatiskt fullständiga säkerhetskopior, differentiella säkerhetskopior och säkerhetskopior av transaktionsloggar. Azure Cosmos DB tar automatiskt säkerhetskopior av dina data med jämna mellanrum. De automatiska säkerhetskopiorna utförs utan att påverka prestanda eller tillgänglighet för databasåtgärder. Azure Cosmos DB lagrar säkerhetskopiorna i en separat lagringstjänst.

Optimera säkerhetskopior: Vissa Azure-datatjänster har stöd för låg eller ingen prestandapåverkan för återställning till tidpunkt och indexering. Azure Backup är en tillförlitlig och skalbar molnbaserad säkerhetskopieringslösning som gör att du kan skydda dina data och program. Den innehåller funktioner som inkrementella säkerhetskopior, komprimering och kryptering för att minimera effekterna på prestanda under säkerhetskopieringsåtgärder. Azure Site Recovery hjälper dig att skydda dina program genom att replikera dem till en sekundär plats. Den ger kontinuerlig replikering och automatiserade redundansfunktioner för att minimera driftstopp och prestandapåverkan under säkerhetskopierings- och haveriberedskapsåtgärder.

Checklista för prestandaeffektivitet

Se den fullständiga uppsättningen rekommendationer.