Dela via


Arkitekturstrategier för att optimera operativa uppgifter

Gäller för den här rekommendationen för checklista för prestandaeffektivitet i Azure Well-Architected Framework:

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

Den här guiden beskriver rekommendationerna för att optimera operativa uppgifter. Optimering av 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. Driftaktiviteter använder samma beräkningsresurser som själva arbetsbelastningen. Om du inte tar hänsyn till effekterna av driftuppgifter kan arbetsbelastningen missa sina prestandamål. Det kan också påverka arbetsbelastningens prestanda negativt för dina kunder.

Definitioner

Begrepp Definition
Blågrön driftsättning En distributionsstrategi som använder två identiska miljöer och styr trafikriktningen till nya distributioner (gröna distributioner).
Återskapande av 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 i en databas och dess relationer till andra data.
Distributionsplats En funktion i Служба приложений Azure som gör att du kan distribuera live-appar med sina 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.

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

Redogöra 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ålen kan du se till att arbetsbelastningen fungerar effektivt. Här är några viktiga punkter 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 resultatmålen. Exempel på rutinuppgifter kan vara virusskanning, omorganisering av databasindex, ombyggnad av databasindex, säkerhetskopiering av diskar eller databaser, certifikatrotationer, korrigering av ett operativsystem, roterande lösenord, roterande API-nycklar, penetrationstestning och granskningsgranskningar i produktionen.

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

Optimera distributioner

Optimering av distributioner syftar på att förfina processen för att frigöra resurser och kod för att garantera sömlös prestanda och minimala avbrott. Det handlar om planering, effektiv resursfördelning och grundlig testning av både infrastruktur-som-kod (IaC) och applikationskoden innan de introduceras i en skarp miljö. Distributionsbrister kan leda till minskad hastighet och effektivitet för en arbetsbelastning, potentiella resursbegränsningar och en komprometterad användarupplevelse i den operativa miljön. Överväg följande strategier för att optimera distributioner:

Utvärdera acceptabel stilleståndstid. Om stilleståndstiden är acceptabel kan du implementera distributionsstrategier som prioriterar hastighet och effektivitet. Det är dock viktigt att noggrant utvärdera effekten av driftstopp på affärskraven innan du fattar det beslutet. Å andra sidan, om stilleståndstid inte är acceptabel, 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 driftstopp och säkerställa en sömlös användarupplevelse.

Distribuera med det aktuella antalet instanser. 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 som är så lågt att det tvingar systemet att omedelbart utföra en skalningsåtgärd. Din IaC-mall (infrastruktur som kod) kanske till exempel inte matchar antalet instanser som du behöver vid tidpunkten för distributionen. Den 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 driftstopp. 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 upptäcks 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 medföra svarstider och öka svarstiderna. Överväg att förvärma instanser innan du växlar över. Förvärmning 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 validera 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 validerats flyttar du gradvis produktionstrafiken från den gamla miljön (blå) till den nya miljön (grön). Dirigera först en liten procentandel av trafiken till den gröna miljön och öka den gradvis efter att ha verifierat 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 övergår arbetsbelastningen till den nya miljön.

  • Övervaka och optimera. Distributioner kan använda delade beräkningsresurser. Ö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 övergått 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 säkerställer att nya miljöer är fria från konfigurationsavvikelser.

  • Upprepa processen. För framtida distributioner byter du roller för de blå och gröna miljöerna. Distribuera ändringar i den nya blå miljön, verifiera dem, orkestrera 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 CI-byggen (kontinuerlig integrering) 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 distribution hjälper till 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. Genom att använda funktionsflaggor kan utvecklare aktivera eller inaktivera specifika funktioner utan att behöva distribuera om programmet. Funktionsflaggor fungerar genom att introducera 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. Genom att använda funktionsflaggor kan utvecklare gradvis distribuera nya funktioner till en delmängd av användarna eller aktivera funktioner för specifika grupper för testning (kanarietestning).

Optimera uppgraderingar

En uppgradering på plats är en uppgradering av en befintlig resurs eller ett befintligt program. Uppgraderingar på plats kan tillfälligt göra en arbetsbelastning långsammare eller avbryta. Det är viktigt att se till att uppgraderingar är kompatibla med arbetsbelastningen. Innan du installerar en uppgradering rekommenderar vi att du testar den i en separat miljö för att identifiera eventuella problem. Tillhandahåll 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 installerar 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. Du bör prioritera schemaläggning av uppgraderingen under tider med låg belastning för att minimera effekten på användare och arbetsbelastningens prestanda. Meddela användarna i förväg om den planerade uppgraderingen, inklusive den förväntade stilleståndstiden och eventuella nödvändiga åtgärder som de behöver vidta.

Kompromiss: Att vänta med att utföra driftaktiviteter under tider med låg belastning kan påverka driftseffektiviteten. Det kan vara mindre bekvämt att låta personal med rätt kompetens arbeta under lågtrafik.

Optimera verktyg

Viktiga verktyg för övervakning av filintegritet, virusskanning, intrångsdetektering och andra operativa uppgifter kan påverka arbetsbelastningens prestanda. De förbrukar beräkningsresurser och kan lägga till svarstider och prestandakostnader. 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 virusskanning 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 att förfina och finjustera databasuppgifter för att säkerställa maximal effektivitet och minimalt resursutnyttjande. Dessa åtgärder omfattar uppgifter som säkerhetskopieringar, schemaändringar, prestandajustering och övervakning. Effektiva databasåtgärder leder till snabbare frågesvar, minskade systemkostnader och en övergripande smidigare användarupplevelse.

Schemaändringar innebär att ändra strukturen för en databas, till exempel att lägga till eller ändra tabeller, kolumner eller index. Dessa ändringar kan kräva extra bearbetning och resursanvändning 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. Arkivering av data och partitionering kan bidra till att minska effekterna av schemaändringar.

Optimera säkerhetskopior

Säkerhetskopior förbrukar arbetsbelastningsresurser som processorkraft, 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äkerhetskopieringar under tider med låg belastning när du kan. Din strategi bör innehålla inkrementella säkerhetskopieringar i stället för fullständiga säkerhetskopieringar varje gång. Ögonblicksbilder kan vara mindre resurskrävande än säkerhetskopieringar. Du bör överväga inbyggda funktioner för säkerhetskopiering och återställning av plattformen i stället för att skapa en anpassad lösning. Du måste testa dessa alternativ 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 och insamling kan påverka prestandan. På samma sätt kan bekvämlighetsfunktioner som fjärrfelsökning också påverka prestandan. 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 alla processer vars prestandaeffekter är större än deras fördelar.

Azure-stöd

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 integration och leverans, projektledning och mer.

Azure tillhandahåller tjänst-till-tjänst-integrering som minimerar effekterna av många operativa uppgifter. Tjänster som integreras med Azure 密钥保管库 stöder till exempel ofta sömlös certifikatrotation eller hemlig rotation som minimerar effekterna på prestanda.

Optimera distributioner: Serviço de Aplicativo tillhandahåller distributionsfack. Du kan använda distributionsfack för att distribuera kod till en icke-produktionsmiljö. Du kan växla appinnehåll och konfigurationselement mellan två distributionsfack. 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 stöder också avancerade distributionsstrategier som blågröna distributioner. Du kan kombinera dessa tjänster med din strategi för trafikväxling 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äkerhetskopieringarna gö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äkerhetskopieringar: Vissa Azure-datatjänster har stöd för lågto-no prestandapåverkan för återställning och indexering till tidpunkt. Azure Backup är en tillförlitlig och skalbar molnbaserad säkerhetskopieringslösning som gör att du kan skydda dina data och program. Den tillhandahåller funktioner som inkrementella säkerhetskopieringar, 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. Det ger kontinuerlig replikering och automatiserade redundansfunktioner för att minimera driftstopp och prestandapåverkan under säkerhetskopiering och haveriberedskap.

Hantera affärskontinuitet och haveriberedskap: Du kan också använda Azure Business Continuity Center för att effektivisera hanteringen av säkerhetskopiering och haveriberedskap med ett enhetligt webbgränssnitt för att konfigurera säkerhetskopior, ställa in skyddsprinciper, övervaka åtgärder och granska konfigurationer i olika miljöer.

Checklista för prestandaeffektivitet

Se den fullständiga uppsättningen rekommendationer.