Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Is van toepassing op deze aanbeveling voor de controlelijst prestatie-efficiëntie van Azure Well-Architected Framework:
| PE:10 | Operationele taken optimaliseren. Bewaak en minimaliseer de effecten van de levenscyclus van softwareontwikkeling en andere routinebewerkingen op workloadprestaties. Deze bewerkingen omvatten virusscans, geheime rotaties, back-ups, het opnieuw indexeren van databases en implementaties. |
|---|
In deze handleiding worden de aanbevelingen voor het optimaliseren van operationele taken beschreven. Het optimaliseren van operationele taken is het proces waarbij de effecten van taken die u uitvoert als onderdeel van routinematige werkbelastingoperaties worden geminimaliseerd. Operationele activiteiten gebruiken dezelfde rekenresources als de workload zelf. Als u niet rekening houdt met de gevolgen van operationele taken, kan dit ertoe leiden dat de werkbelasting de prestatiedoelen mist. Het kan ook een negatieve invloed hebben op de prestaties van de workload voor uw klanten.
Definities
| Termijn | Definitie |
|---|---|
| Blauwgroene implementatie | Een implementatiestrategie die gebruikmaakt van twee identieke omgevingen en bepaalt de richting van verkeer naar nieuwe implementaties (groene implementaties). |
| Databaseindex herbouwen | Een onderhoudsactiviteit waarmee een index wordt verwijderd en opnieuw wordt gemaakt. |
| Database-indexreorganisatie | Een onderhoudsactiviteit waarmee de huidige databaseindex wordt geoptimaliseerd. |
| Databaseschema | De algemene structuur van een database en de bijbehorende relaties met andere gegevens. |
| Implementatiesite | Een functie van Azure App Service waarmee u live-apps met hun eigen hostnamen kunt implementeren. |
| Upgrade ter plaatse | Het proces van het upgraden van een onderdeel of een toepassing zonder het te vervangen of te migreren naar een nieuwe omgeving. |
| Infrastructuur als code (IaC) | Een beschrijvend model voor het definiëren en implementeren van infrastructuur, waaronder netwerken, virtuele machines, load balancers en verbindingstopologieën. |
U moet maatregelen nemen om de effecten van de levenscyclus van softwareontwikkeling en andere routinebewerkingen op workloadprestaties te verminderen. Het doel is om ervoor te zorgen dat routinebewerkingen, zoals virusscans, geheime rotaties, back-ups, indexoptimalisatie (reorganisatie of herbouwen) en implementaties, de prestaties van de workload niet aanzienlijk verminderen.
Rekening houden met operationele taken
Het is belangrijk om operationele taken te overwegen wanneer u prestatiedoelen instelt. Door routinetaken, reguliere en ad-hoctaken op te nemen in prestatiedoelen, kunt u ervoor zorgen dat de workload efficiënt werkt. Hier volgen enkele belangrijke aandachtspunten om rekening te houden met operationele taken in prestatiedoelen:
Operationele taken identificeren. Identificeer en neem relevante operationele taken op in prestatiedoelen. Voorbeelden van routinetaken zijn onder andere virusscans, herstructurering van databaseindexen, het herbouwen van databases, schijf- of databaseback-ups, certificaatrotaties, het patchen van een besturingssysteem, het roteren van wachtwoorden, het roteren van API-sleutels, penetratietests en controlebeoordelingen in productie.
Prestatiedoelen evalueren. Evalueer de huidige prestatiedoelen en pas deze aan om rekening te houden met operationele taken die specifiek zijn voor de workload. Dit zorgt ervoor dat prestatiedoelen overeenkomen met de operationele vereisten van de workload.
Implementaties optimaliseren
Het optimaliseren van implementaties verwijst naar het verfijnen van het proces van het vrijgeven van resources en code om naadloze prestaties en minimale onderbrekingen te garanderen. Het omvat het plannen, effectief distribueren van resources en het grondig testen van zowel de infrastructuur als code (IaC) en de toepassingscode voordat ze worden geïntroduceerd in een liveomgeving. Implementatieproblemen kunnen leiden tot verminderde snelheid en efficiëntie van een workload, mogelijke resourcebeperkingen en een aangetaste gebruikerservaring in de operationele instelling. Overweeg deze strategieën om implementaties te optimaliseren:
Evalueer acceptabele stilstandtijd. Als downtime acceptabel is, kunt u implementatiestrategieën implementeren die prioriteit geven aan snelheid en efficiëntie. Het is echter belangrijk om zorgvuldig te beoordelen wat de gevolgen zijn van downtime voor zakelijke vereisten voordat u die beslissing neemt. Als downtime echter niet acceptabel is, moet u implementatiestrategieën implementeren die zorgen voor continue beschikbaarheid van de workload. Overweeg technieken zoals blauwgroene implementaties of canary-implementaties te gebruiken, waarbij u geleidelijk nieuwe versies van de workload implementeert terwijl u bewaakt op problemen. Deze strategieën helpen het effect van downtime te minimaliseren en een naadloze gebruikerservaring te garanderen.
Implementeren op het huidige aantal exemplaren. U moet ook implementaties vermijden die directe schaalbewerkingen veroorzaken. Implementeer geen resources in een livesysteem met een exemplaaraantal dat zo laag is dat het systeem onmiddellijk een schaalbewerking uitvoert. Uw IaC-sjabloon (Infrastructure-as-Code) komt bijvoorbeeld mogelijk niet overeen met het aantal exemplaren dat u nodig hebt op het moment van implementatie. Het kan een aantal exemplaren van twee hebben, zelfs als in de huidige geïmplementeerde omgeving acht exemplaren worden uitgevoerd. De implementatie verwijdert zes exemplaren en heeft een negatieve invloed op de prestaties.
Gebruik een blauwgroene implementatiestrategie. Implementaties kunnen serviceonderbrekingen en downtime veroorzaken. Als u deze problemen wilt verhelpen, selecteert u een implementatiestrategie waarmee de impact op de prestaties wordt geminimaliseerd, zoals een blauwgroene implementatie. Deze benaderingen zorgen voor naadloze overgangen tussen omgevingen en verminderen het risico op serviceonderbrekingen. Wanneer u de blauwgroene implementatiebenadering gebruikt, hebt u twee afzonderlijke omgevingen: de blauwe en groene omgevingen. Als er problemen of prestatievermindering in de groene omgeving worden gedetecteerd, kunt u eenvoudig terugkeren naar de stabiele blauwe omgeving. Deze strategie helpt u minimale downtime te garanderen en stelt u in staat om een hoog prestatieniveau voor uw workload te behouden. Als u wilt implementeren met behulp van de blauwgroene benadering, volgt u deze algemene stappen:
Implementeer de nieuwe omgeving. Stel de nieuwe omgeving (groen) naast de bestaande omgeving (blauw) in met de bijgewerkte versie van uw toepassing.
Valideer de nieuwe omgeving. Implementaties kunnen latentie introduceren en reactietijden verhogen. Overweeg het vooraf verwarmen van instanties voordat de overstap plaatsvindt. Voorwarmen omvat het voorbereiden van de nieuwe omgeving door productie-achtig verkeer en workload te simuleren om ervoor te zorgen dat de omgeving gereed is om de verwachte belasting af te handelen. Het helpt de effecten op latentie en reactietijden te minimaliseren. Test en valideer de nieuwe omgeving grondig om ervoor te zorgen dat deze correct functioneert en voldoet aan de prestatieverwachtingen. Testen helpt caches op te warmen, databaseverbindingen tot stand te brengen en ervoor te zorgen dat de omgeving gereed is om de verwachte belasting af te handelen.
Het verkeer geleidelijk verschuiven. Nadat de nieuwe omgeving voorverwarmd en gevalideerd is, verschuift u geleidelijk aan het productieverkeer van de oude omgeving (blauw) naar de nieuwe omgeving (groen). Richt in eerste instantie een klein percentage verkeer naar de groene omgeving en verhoog het geleidelijk na het verifiëren van de stabiliteit en de verwachte toepassingsstatus. U kunt een globaal load balancer- of verkeersbeheermechanisme gebruiken. Met de gecontroleerde verkeersverschuiving kunt u eventuele prestatieproblemen vroegtijdig identificeren en corrigerende acties ondernemen voordat u de workload volledig overgaat naar de nieuwe omgeving.
Bewaken en optimaliseren. Implementaties kunnen gebruikmaken van gedeelde computingresources. Controleer continu de prestaties en status van de nieuwe omgeving nadat u verkeer hebt verplaatst. Breng alle benodigde optimalisaties of aanpassingen aan om de gewenste prestaties en gebruikerservaring te garanderen.
Verwijder de oude omgeving. Nadat u al het verkeer naar de groene omgeving hebt overgestapt, verwijdert u de blauwe omgeving uit bestaande verbindingen. Met deze stap kunt u de kosten voor het onderhouden van de oude omgeving optimaliseren en ervoor zorgen dat nieuwe omgevingen vrij zijn van configuratiedrift.
Herhaal het proces. Voor toekomstige implementaties moet u de rollen van de blauwe en groene omgevingen omkeren. Implementeer wijzigingen in de nieuwe blauwe omgeving, valideer ze, orkestreer de verkeersovergang en ontmantel de oude groene omgeving.
Gebruik meerdere builds. Verschillende soorten builds kunnen u helpen bij het optimaliseren van buildtijden en het garanderen van de kwaliteit van implementaties. U kunt bijvoorbeeld continue integratie (CI) builds hebben die worden geactiveerd bij elke codewijziging. U kunt nachtversies hebben die regelmatig geautomatiseerde tests uitvoeren en builds vrijgeven die worden gebruikt voor implementatie in productie. Elk type build moet een specifiek doel hebben, zoals continue integratie, geautomatiseerde tests of productie-implementatie. Testen en valideren van de workload voordat de implementatie helpt bij het identificeren en oplossen van problemen of bugs vroeg in het ontwikkelingsproces.
Overweeg functievlagmen. Functievlagmen worden gebruikt in softwareontwikkeling om de zichtbaarheid en het gedrag van bepaalde functies in een toepassing te beheren. Door functievlagmen te gebruiken, kunnen ontwikkelaars specifieke functies in- of uitschakelen zonder de toepassing opnieuw te hoeven implementeren. Functievlagmen werken door voorwaardelijke logica in de code te introduceren die bepaalt of een functie moet worden ingeschakeld of uitgeschakeld. Deze logica kan worden gebaseerd op verschillende factoren, zoals gebruikersrollen, gebruikersvoorkeuren of specifieke voorwaarden die zijn gedefinieerd door het ontwikkelteam. Door functievlagmen te gebruiken, kunnen ontwikkelaars geleidelijk nieuwe functies implementeren voor een subset van gebruikers of functies inschakelen voor specifieke groepen voor testen (canary testing).
Upgrades optimaliseren
Een in-place upgrade is een upgrade naar een bestaande resource of toepassing. In-place upgrades kunnen een workload tijdelijk vertragen of onderbreken. Het is belangrijk om ervoor te zorgen dat upgrades compatibel zijn met de workload. Voordat u een upgrade toepast, raden we u aan deze in een afzonderlijke omgeving te testen om mogelijke problemen te identificeren. Geef een terugdraaiplan op voor het geval er problemen optreden tijdens het upgradeproces. Het is van cruciaal belang om een volledige back-up te maken van kritieke gegevens en configuraties voordat u de upgrade toepast. Bewaak het bijgewerkte systeem nauw na de upgrade om ervoor te zorgen dat alles naar verwachting functioneert. Met de back-up kunt u desgewenst herstellen naar een goede status. U moet prioriteit geven aan het plannen van de upgrade tijdens daluren om het effect op gebruikers en workloadprestaties te minimaliseren. Informeer gebruikers vooraf over de geplande upgrade, inclusief de verwachte downtime en eventuele benodigde acties die ze moeten uitvoeren.
Compromis: Wachten op het uitvoeren van bewerkingsactiviteiten tijdens daluren kan van invloed zijn op de operationele efficiëntie. Het kan minder handig zijn om het personeel met de juiste vaardigheden te laten werken tijdens daluren.
Gereedschap optimaliseren
Essentiële hulpprogramma's voor bewaking van bestandsintegriteit, virusscans, inbraakdetectie en andere operationele taken kunnen de prestaties van de werkbelasting beïnvloeden. Ze verbruiken rekenresources en kunnen latentie- en prestatieoverhead toevoegen. U moet de effecten die uw hulpprogramma's hebben op de prestaties van de werkbelasting testen en begrijpen. Op basis van de testresultaten moet u de configuratie van hulpprogramma's verfijnen, de scanfrequentie aanpassen en rekenresources opnieuw toewijzen. Voor virusscans kunt u een relevante uitsluitingslijst maken om de duur van scans te minimaliseren.
Databasebewerkingen optimaliseren
Het optimaliseren van databasebewerkingen verwijst naar het proces van het verfijnen en verfijnen van databasetaken om maximale efficiëntie en minimaal resourcegebruik te garanderen. Deze bewerkingen omvatten taken zoals back-ups, schemawijzigingen, het afstemmen van prestaties en bewaking. Efficiënte databasebewerkingen leiden tot snellere queryreacties, verminderde systeemoverhead en een algehele soepelere gebruikerservaring.
Schemawijzigingen omvatten het wijzigen van de structuur van een database, zoals het toevoegen of wijzigen van tabellen, kolommen of indexen. Deze wijzigingen vereisen mogelijk extra verwerking en resourcegebruik tijdens het implementatieproces, wat mogelijk van invloed is op de algehele prestaties van de workload. Schemawijzigingen kunnen de prestaties van actieve query's, indexen of transacties verstoren of ertoe leiden dat gegevens niet beschikbaar zijn.
Als u deze effecten wilt minimaliseren, moet u schemawijzigingen plannen en testen in een niet-productieomgeving. U kunt verschillende implementatietechnieken gebruiken om schema-updates te implementeren. U moet ook de beschikbare hulpprogramma's voor het wijzigen van schema's gebruiken om het proces te optimaliseren. Het archiveren van gegevens en partitionering kan helpen de effecten van schemawijzigingen te verminderen.
Back-ups optimaliseren
Back-ups verbruiken workloadresources zoals verwerkingskracht, netwerkbandbreedte en schijf-I/O. U moet een back-upstrategie testen en selecteren waarmee deze effecten worden geminimaliseerd. Wanneer u dat kunt, moet u back-ups uitvoeren tijdens daluren. Uw strategie moet incrementele back-ups bevatten in plaats van elke keer volledige back-ups. Momentopnamen kunnen minder resource-intensief zijn dan back-ups. Overweeg ingebouwde functies voor back-up en herstel van platforms in plaats van een aangepaste oplossing te bouwen. U moet deze opties testen en een combinatie gebruiken die de beste prestaties biedt voor uw workload.
Bewaking en foutopsporing optimaliseren
Overmatige of slecht geïmplementeerde logboekregistratie, telemetrie, instrumentatie en gedistribueerde tracering vastleggen en verzamelen kunnen van invloed zijn op de prestaties. Op dezelfde manier kunnen handige functies, zoals foutopsporing op afstand, ook van invloed zijn op de prestaties. U moet de prestatie-effecten op het milieu meten en kennen. U wilt niet dat deze processen de prestaties verminderen. U moet processen configureren of uitschakelen waarvan de prestatie-effecten opwegen tegen hun voordelen.
Azure-ondersteuning
Verantwoording voor operationele taken: Azure DevOps is een set ontwikkeltools en services waarmee teams software efficiënt kunnen plannen, ontwikkelen, testen en leveren. Het bevat functies zoals versiebeheer, continue integratie en levering, projectbeheer en meer.
Azure biedt service-naar-service-integratie waarmee de gevolgen van veel operationele taken worden geminimaliseerd. Services die zijn geïntegreerd met Azure Key Vault ondersteunen bijvoorbeeld vaak naadloze certificaatrotatie of geheimrotatie waarmee de prestaties worden geminimaliseerd.
Implementaties optimaliseren: App Service biedt implementatiesites. U kunt implementatiesites gebruiken om code te implementeren in een niet-productieomgeving. U kunt app-inhoud en configuratie-elementen wisselen tussen twee implementatiesites. U kunt bijvoorbeeld app-inhoud wijzigen van een niet-productiesite naar de productiesite.
Met Azure Front Door en Azure Traffic Manager kunt u een blauwgroene implementatiestrategie implementeren. Sommige Azure Compute-services ondersteunen ook geavanceerde implementatiestrategieën, zoals blauwgroene implementaties. U kunt deze services combineren met uw strategie voor het verschuiven van verkeer of het opwarmen van instanties om de prestatie-effecten van de implementatie te beperken.
Databasebewerkingen optimaliseren: Azure SQL Database maakt automatisch volledige back-ups, differentiële back-ups en back-ups van transactielogboeken. Azure Cosmos DB maakt automatisch back-ups van uw gegevens met regelmatige tussenpozen. De automatische back-ups worden gemaakt zonder dat dit van invloed is op de prestaties of beschikbaarheid van databasebewerkingen. Azure Cosmos DB slaat de back-ups op in een afzonderlijke opslagservice.
Back-ups optimaliseren: sommige Azure-gegevensservices bieden ondersteuning voor lageto-no invloed op de prestaties voor herstel naar een bepaald tijdstip en indexering. Azure Backup is een betrouwbare en schaalbare cloudgebaseerde back-upoplossing waarmee u uw gegevens en toepassingen kunt beveiligen. Het biedt functies zoals incrementele back-ups, compressie en versleuteling om de gevolgen voor prestaties tijdens back-upbewerkingen te minimaliseren. Met Azure Site Recovery kunt u uw toepassingen beveiligen door ze te repliceren naar een secundaire locatie. Het biedt continue replicatie en geautomatiseerde failovermogelijkheden om de downtime en prestatie-effecten tijdens back-up- en herstelbewerkingen na noodgevallen te minimaliseren.
Bedrijfscontinuïteit en herstel na noodgevallen beheren: u kunt azure Business Continuity Center ook gebruiken om back-up- en herstel na noodgevallen te stroomlijnen met een geïntegreerde webinterface voor het configureren van back-ups, het instellen van beveiligingsbeleid, bewakingsbewerkingen en het controleren van configuraties in verschillende omgevingen.
Verwante koppelingen
Controlelijst voor prestatie-efficiëntie
Raadpleeg de volledige set aanbevelingen.