Doporučení pro optimalizaci provozních úloh

Platí pro toto doporučení kontrolního seznamu efektivity výkonu rozhraní Azure Well-Architected Framework:

PE:10 Optimalizujte provozní úlohy. Monitorujte a minimalizujte vliv životního cyklu vývoje softwaru a dalších rutinních operací na výkon úloh. Mezi tyto operace patří vyhledávání virů, obměně tajných kódů, zálohování, přeindexování databází a nasazení.

Tato příručka popisuje doporučení pro optimalizaci provozních úloh. Optimalizace provozních úloh je proces minimalizace účinků úloh, které provádíte v rámci operací směrování úloh. Provozní aktivity používají stejné výpočetní prostředky jako samotná úloha. Pokud se nezváží účinky provozních úloh, může dojít k tomu, že úloha nedosáhne výkonnostních cílů. Může to také negativně ovlivnit výkon úloh pro vaše zákazníky.

Definice

Období Definice
Modrozelené nasazení Strategie nasazení, která používá dvě stejná prostředí a řídí směr provozu do nových nasazení (zelená nasazení).
Opětovné sestavení indexu databáze Aktivita údržby, která zahodí a znovu vytvoří index.
Reorganizace indexu databáze Aktivita údržby, která optimalizuje aktuální index databáze.
Schéma databáze Obecná struktura databáze a její vztahy s jinými daty.
Slot nasazení Funkce Azure App Service, která umožňuje nasazovat živé aplikace s vlastními názvy hostitelů.
Místní upgrady Proces upgradu komponenty nebo aplikace bez nahrazení nebo migrace do nového prostředí.
Infrastruktura jako kód (IaC) Popisný model pro definování a nasazení infrastruktury, včetně sítí, virtuálních počítačů, nástrojů pro vyrovnávání zatížení a topologií připojení.

Klíčové strategie návrhu

Potřebujete přijmout opatření ke snížení dopadu životního cyklu vývoje softwaru a dalších rutinních operací na výkon úloh. Cílem je zajistit, aby rutinní operace, jako jsou kontroly virů, obměně tajných kódů, zálohování, optimalizace indexu (reorganizace nebo opětovné sestavení) a nasazení, výrazně nezhoršily výkon úlohy.

Účet pro provozní úlohy

Při nastavování cílů výkonu je důležité zvážit provozní úlohy. Začleněním rutinních, pravidelných a ad hoc úloh do výkonnostních cílů můžete zajistit efektivní fungování úloh. Pokud chcete zohlednit provozní úlohy v cílech výkonu, tady je několik klíčových bodů, které je potřeba zvážit:

  • Identifikace provozních úloh Identifikujte a zahrňte relevantní provozní úlohy do cílů výkonu. Mezi příklady rutinních úloh patří vyhledávání virů, reorganizace indexu databáze, opětovné sestavení indexu databáze, zálohování disků nebo databází, obměna certifikátů, opravy operačního systému, rotace hesel, obměna klíčů rozhraní API, penetrační testování a kontroly auditu v produkčním prostředí.

  • Vyhodnoťte cíle výkonu. Vyhodnoťte aktuální cíle výkonu a upravte je tak, aby zohlednily provozní úlohy specifické pro danou úlohu. Tím se zajistí, že výkonnostní cíle budou v souladu s provozními požadavky úloh.

Optimalizace nasazení

Optimalizace nasazení znamená zpřesnění procesu uvolňování prostředků a kódu, aby se zajistil bezproblémový výkon a minimální přerušení. Zahrnuje plánování, efektivní distribuci prostředků a důkladné testování infrastruktury jako kódu (IaC) a kódu aplikace před jejich zavedením do živého prostředí. Nedostatky nasazení můžou vést ke snížení rychlosti a efektivity úlohy, potenciálním omezením prostředků a narušení uživatelského prostředí v provozním nastavení. Pokud chcete optimalizovat nasazení, zvažte tyto strategie:

Vyhodnoťte přijatelný výpadek. Pokud je výpadek přijatelný, můžete implementovat strategie nasazení, které upřednostní rychlost a efektivitu. Než se ale rozhodnete, je důležité pečlivě posoudit dopad výpadků na obchodní požadavky. Pokud ale výpadek není přijatelný, musíte implementovat strategie nasazení, které zajistí nepřetržitou dostupnost úlohy. Zvažte použití technik, jako jsou modrozelená nasazení nebo kanárová nasazení, kdy postupně zaváděte nové verze úloh, zatímco monitorujete problémy. Tyto strategie pomáhají minimalizovat dopad výpadků a zajistit bezproblémové uživatelské prostředí.

Nasazení při aktuálním počtu instancí Měli byste se také vyhnout nasazením, která způsobují okamžité operace škálování. Neměli byste nasazovat prostředky do živého systému s tak nízkým počtem instancí, aby systém nutí okamžitě provést operaci škálování. Například šablona infrastruktury jako kódu (IaC) nemusí odpovídat počtu instancí, které potřebujete v době nasazení. Může mít počet instancí dvě, i když v aktuálně nasazeném prostředí běží osm instancí. Nasazení by odebralo šest instancí a negativně ovlivnilo výkon.

Použijte modrozelenou strategii nasazení. Nasazení můžou způsobit přerušení a výpadky služeb. Pokud chcete tyto problémy zmírnit, vyberte strategii nasazení, která minimalizuje dopad na výkon, například modrozelené nasazení. Tyto přístupy umožňují bezproblémové přechody mezi prostředími a snižují riziko přerušení služeb. Pokud používáte modrozelené nasazení, máte dvě samostatná prostředí: modré a zelené prostředí. Pokud se v zeleném prostředí zjistí nějaké problémy nebo snížení výkonu, můžete se snadno vrátit zpět do stabilního modrého prostředí. Tato strategie pomáhá zajistit minimální prostoje a umožňuje zachovat vysokou úroveň výkonu úloh. Pokud chcete nasazení provést pomocí modrozelené metody, postupujte podle těchto obecných kroků:

  • Nasaďte nové prostředí. Nastavte nové prostředí (zelené) společně s existujícím prostředím (modrý) s aktualizovanou verzí aplikace.

  • Ověřte nové prostředí. Nasazení můžou představovat latenci a prodloužit dobu odezvy. Před přímou migrací zvažte předběžné instance. Předběžné sestavení zahrnuje přípravu nového prostředí simulací provozu a úloh podobných produkčnímu prostředí, aby se zajistilo, že prostředí je připravené zvládnout očekávanou zátěž. Pomáhá minimalizovat vliv na latenci a dobu odezvy. Důkladně otestujte a ověřte nové prostředí, abyste měli jistotu, že funguje správně a splňuje očekávání z hlediska výkonu. Testování pomáhá zahřát mezipaměti, vytvořit databázová připojení a zajistit, aby prostředí bylo připravené zvládnout očekávanou zátěž.

  • Postupně se přesouvá provoz. Po předzbrojení a ověření nového prostředí postupně přesunete produkční provoz ze starého prostředí (modré) do nového prostředí (zelené). Zpočátku nasměrujte malé procento provozu do zeleného prostředí a postupně ho zvyšte po ověření jeho stability a očekávaného stavu aplikace. Můžete použít globální nástroj pro vyrovnávání zatížení nebo mechanismus správy provozu. Řízené přesouvání provozu umožňuje včas identifikovat případné problémy s výkonem a provést opravné akce před úplným převodem úlohy do nového prostředí.

  • Monitorování a optimalizace. Nasazení můžou používat sdílené výpočetní prostředky. Po přesunu provozu nepřetržitě monitorujte výkon a stav nového prostředí. Proveďte potřebné optimalizace nebo úpravy, abyste zajistili požadovaný výkon a uživatelské prostředí.

  • Odeberte staré prostředí. Po úspěšném převodu veškerého provozu do zeleného prostředí odeberte modré prostředí z existujících připojení. Tento krok pomáhá optimalizovat náklady na údržbu starého prostředí a zajišťuje, aby nová prostředí bez odchylek konfigurace.

  • Tento postup opakujte. U budoucích nasazení můžete obrátit role modrého a zeleného prostředí. Nasaďte změny do nového modrého prostředí, ověřte je, orchestrujte přechod provozu a vyřaďte staré zelené prostředí z provozu.

Použijte více sestavení. Různé typy sestavení vám můžou pomoct optimalizovat dobu sestavení a zajistit kvalitu nasazení. Můžete mít například sestavení kontinuální integrace (CI), která se aktivují při každém potvrzení kódu. Můžete mít noční buildy, které pravidelně spouštějí automatizované testy, a vydané buildy, které se používají k nasazení do produkčního prostředí. Každý typ sestavení by měl mít určitý účel, jako je kontinuální integrace, automatizované testování nebo produkční nasazení. Testování a ověření úlohy před nasazením pomáhá identifikovat a řešit problémy nebo chyby v rané fázi procesu vývoje.

Zvažte příznaky funkcí. Příznaky funkcí se používají při vývoji softwaru k řízení viditelnosti a chování určitých funkcí v aplikaci. Pomocí příznaků funkcí můžou vývojáři povolit nebo zakázat konkrétní funkce, aniž by museli aplikaci znovu nasadit. Příznaky funkcí fungují tak, že do kódu zavádějí podmíněnou logiku, která určuje, jestli má být funkce povolená nebo zakázaná. Tato logika může být založená na různých faktorech, jako jsou role uživatelů, uživatelské předvolby nebo konkrétní podmínky definované vývojovými týmy. Pomocí příznaků funkcí můžou vývojáři postupně zavádět nové funkce pro podmnožinu uživatelů nebo povolit funkce pro konkrétní skupiny pro účely testování (testování kanárů).

Optimalizace upgradů

Místní upgrade je upgrade existujícího prostředku nebo aplikace. Místní upgrady můžou dočasně zpomalit nebo přerušit úlohu. Je důležité zajistit, aby upgrady byly kompatibilní s úlohou. Než upgrade použijete, doporučujeme ho otestovat v samostatném prostředí, abyste identifikovali případné problémy. Poskytněte plán vrácení zpět pro případ, že během procesu upgradu dojde k nějakým problémům. Před použitím upgradu je velmi důležité provést úplnou zálohu důležitých dat a konfigurací. Po upgradu pečlivě monitorujte upgradovaný systém, abyste měli jistotu, že všechno funguje podle očekávání. Zálohování umožňuje obnovení do dobrého stavu, pokud potřebujete. Pokud chcete minimalizovat dopad na uživatele a výkon úloh, měli byste nastavit prioritu plánování upgradu mimo špičku. Informujte uživatele předem o plánovaném upgradu, včetně očekávaného výpadku a všech potřebných akcí, které potřebují provést.

Kompromis: Čekání na provádění provozních aktivit mimo špičku může ovlivnit provozní efektivitu. Může být méně výhodné nechat personál se správnou dovedností pracovat mimo špičku.

Optimalizace nástrojů

Výkon úloh můžou ovlivnit základní nástroje pro monitorování integrity souborů, vyhledávání virů, detekci vniknutí a další provozní úlohy. Využívají výpočetní prostředky a můžou přidávat latenci a režijní náklady na výkon. Potřebujete otestovat a pochopit vliv vašich nástrojů na výkon úloh. Na základě výsledků testu byste měli doladit konfigurace nástrojů, upravit frekvenci procházení a přerozdělit výpočetní prostředky. Pro kontrolu virů můžete vytvořit relevantní seznam vyloučení, který minimalizuje dobu trvání kontrol.

Optimalizace databázových operací

Optimalizace databázových operací se týká procesu zpřesnění a vyladění databázových úloh, aby se zajistila maximální efektivita a minimální využití prostředků. Tyto operace zahrnují úlohy, jako jsou zálohování, změny schématu, ladění výkonu a monitorování. Efektivní databázové operace vedou k rychlejším odpovědím na dotazy, snížení systémové režie a celkově plynulejšímu uživatelskému prostředí.

Změny schématu zahrnují úpravu struktury databáze, například přidání nebo změnu tabulek, sloupců nebo indexů. Tyto změny můžou vyžadovat další zpracování a využití prostředků během procesu nasazení, což může ovlivnit celkový výkon úlohy. Změny schématu můžou narušit výkon aktivních dotazů, indexů nebo transakcí nebo způsobit nedostupnost dat.

Pokud chcete tyto účinky minimalizovat, měli byste plánovat a testovat změny schématu v neprodukčním prostředí. K implementaci aktualizací schématu můžete použít různé techniky nasazení. K optimalizaci procesu byste také měli použít dostupné nástroje pro změnu schématu. Archivace dat a dělení na oddíly můžou snížit dopady změn schématu.

Optimalizace záloh

Zálohy spotřebovávají prostředky úloh, jako je výpočetní výkon, šířka pásma sítě a vstupně-výstupní operace disku. Musíte otestovat a vybrat strategii zálohování, která tyto účinky minimalizuje. Pokud je to možné, měli byste zálohování provádět mimo špičku. Vaše strategie by měla pokaždé zahrnovat přírůstkové zálohování místo úplného zálohování. Snímky můžou být méně náročné na prostředky než zálohy. Místo vytváření vlastního řešení byste měli zvážit integrované funkce zálohování a obnovení platformy. Musíte tyto možnosti otestovat a použít kombinaci, která poskytuje nejlepší výkon pro vaši úlohu.

Optimalizace monitorování a ladění

Nadměrné nebo špatně implementované protokolování, telemetrie, instrumentace a shromažďování distribuovaného trasování můžou mít vliv na výkon. Stejně tak můžou mít vliv na výkon i funkce pro pohodlí, jako je vzdálené ladění. Potřebujete měřit a znát jejich vliv na výkon prostředí. Nechcete, aby tyto procesy snižovaly výkon. Měli byste nakonfigurovat nebo zakázat všechny procesy, jejichž účinky na výkon převáží jejich výhody.

Usnadnění Azure

Monitorování provozních úloh: Azure DevOps je sada vývojových nástrojů a služeb, které týmům umožňují efektivně plánovat, vyvíjet, testovat a dodávat software. Zahrnuje funkce, jako je správa verzí, kontinuální integrace a doručování, řízení projektů a další.

Azure poskytuje integraci mezi službami, která minimalizuje účinky mnoha provozních úloh. Například služby, které se integrují s Azure Key Vault, často podporují bezproblémovou obměnu certifikátů nebo obměny tajných kódů, které minimalizují vliv na výkon.

Optimalizace nasazení: App Service poskytuje sloty nasazení. Sloty nasazení můžete použít k nasazení kódu do neprodukčního prostředí. Obsah a konfigurační prvky aplikace můžete prohodit mezi dvěma sloty nasazení. Můžete například přepnout obsah aplikace z neprodukčního slotu do produkčního slotu.

Azure Front Door a Azure Traffic Manager umožňují implementovat modrozelenou strategii nasazení. Některé výpočetní služby Azure také podporují pokročilé strategie nasazení, jako jsou nasazení modrozelené. Tyto služby můžete zkombinovat se strategií přesunu provozu nebo oteplování instancí a zmírnit tak účinky nasazení na výkon.

Optimalizace databázových operací: Azure SQL Database automaticky provádí úplné zálohy, rozdílové zálohy a zálohy transakčních protokolů. Azure Cosmos DB automaticky zálohuje vaše data v pravidelných intervalech. Automatické zálohování se provádí, aniž by to mělo vliv na výkon nebo dostupnost databázových operací. Azure Cosmos DB ukládá zálohy do samostatné služby úložiště.

Optimalizace záloh: Některé datové služby Azure podporují nízký až žádný dopad na výkon pro obnovení k určitému bodu v čase a indexování. Azure Backup je spolehlivé a škálovatelné cloudové řešení zálohování, které umožňuje chránit vaše data a aplikace. Poskytuje funkce, jako jsou přírůstkové zálohování, komprese a šifrování, které minimalizují vliv na výkon během operací zálohování. Azure Site Recovery pomáhá chránit aplikace tím, že je replikuje do sekundárního umístění. Poskytuje kontinuální replikaci a funkce automatizovaného převzetí služeb při selhání, které minimalizují prostoje a dopad na výkon během operací zálohování a zotavení po havárii.

Kontrolní seznam efektivity výkonu

Projděte si kompletní sadu doporučení.