Sdílet prostřednictvím


Doporučení pro postupy bezpečného nasazení

Platí pro toto doporučení Power Platform Dobře architektonizovaného kontrolního seznamu provozní dokonalosti:

OE:10 Jasně definujte postupy bezpečného nasazení vaší úlohy. Zdůrazněte ideály malých, přírůstkových, kvalitativně řízených metod vydávání. Použijte moderní vzory nasazení ke kontrole rizik. Zohledněte rutinní a nouzové nasazení, nebo nasazení hotfix.

Tato příručka popisuje doporučení pro používání postupů bezpečného nasazení. Procesy a postupy bezpečného nasazení definují, jak bezpečně provádět a nasazovat změny v úloze. Jejich implementace vyžaduje, abyste o nasazení uvažovali optikou řízení rizik. Implementací těchto postupů můžete minimalizovat riziko lidské chyby ve vašich nasazeních a omezit dopady problematických nasazení na vaše uživatele.

Klíčové strategie návrhu

Při implementaci postupů bezpečného nasazení je třeba mít na paměti důležité pokyny:

  • Bezpečnost a konzistence: Všechny změny ve výrobní zátěži jsou ze své podstaty rizikové a musí být prováděny se zaměřením na bezpečnost a konzistenci.
  • Zdravotní modely: Nasazení musí projít zdravotními kontrolami, než může začít každá fáze postupné expozice.
  • Detekce problémů: Když jsou zjištěny problémy, nasazení by mělo být okamžitě zastaveno a zahájeno obnovení.

Následující části obsahují podrovná doporučení ohledně každého z těchto bodů.

Bezpečnost a konzistentnost

Ať už nasazujete aktualizaci kódu aplikace, infrastrukturu jako kód (IaC), příznak funkce nebo konfiguraci, představujete riziko pro pracovní zátěž. Neexistují žádná nízkoriziková nasazení do výroby. Každé nasazení se musí řídit standardním vzorem a mělo by být automatizované, aby byla zajištěna konzistence a minimalizováno riziko lidské chyby. Je důležité, aby váš dodavatelský řetězec a kanály nasazení úlohy byly spolehlivé, bezpečné a měly jasně definované standardy nasazení. S každým nasazením zacházejte jako s možným rizikem a každé nasazení podrobte stejné úrovni řízení rizik.

Navzdory rizikům byste měli pokračovat v zavádění pravidelných změn vaší úlohy. Neschopnost nasadit pravidelné aktualizace přináší další rizika, jako jsou chyby zabezpečení, které je třeba řešit nasazením. Další informace naleznete v Doporučení pro navrhování vývoje pracovní zátěže dodavatelský řetězec.

Častá malá nasazení jsou vhodnější než ojedinělá velká nasazení. Při malých změnách se snáze řeší nastalé problémy, a častá nasazení také pomáhají vybudovat důvěru vašeho týmu v proces nasazení. Je také důležité, abyste se poučili z provozu a kontrolovali procesy úlohy, když během nasazení narazíte na anomálii. Můžete najít slabiny v návrhu infrastruktury nebo zavádění. Když se během nasazení vyskytnou problémy, zajistěte, aby byly součástí vašeho procesu zachycení poučení o incidentu bezúhonné pitvy.

Modely stavu

Vypracujte robustní model stavu jako součást vaší platformy pro monitorování pozorovatelnosti a strategií spolehlivosti. Model stavu by měl poskytovat hloubkový přehled o komponentách a celkovém stavu úlohy. Po zavedení pečlivě sledujte metriky stavu. Pokud během zavádění obdržíte upozornění na změnu stavu, okamžitě problém prozkoumejte a určete další postup, například vrácení změny. Pokud uživatelé nehlásí problémy a všechny zdravotní indikátory zůstanou zelené, zavádění by mělo pokračovat. Nezapomeňte do svého zdravotního modelu zahrnout metriky používání, abyste zajistili, že nedostatek problémů hlášených uživateli a negativních zdravotních signálů neskrývá problém. Další informace naleznete v části Doporučení pro provádění analýzy režimu selhání.

Detekce problému

Když nasazení způsobí problém v jedné ze skupin zavádění, zavádění musí být okamžitě zastaveno. Prozkoumejte příčinu problému a závažnost následků ihned po obdržení výstrahy. Zotavení z problému může zahrnovat:

  • Návrat zpět zrušením změn provedených v nasazení a návratem zpět k poslední známé pracovní konfiguraci.
  • Vpřed řešením problému během zavádění. Problémy můžete vyřešit uprostřed zavádění pomocí opravy hotfix nebo jinou jeho minimalizací.
  • Nasazení nové infrastruktury pomocí poslední známé funkční konfigurace.

Vrácení změn, zejména změn databáze, schématu nebo jiných stavových komponent, může být složité. Vaše pokyny pro bezpečné nasazení by měly obsahovat jasné pokyny, jak se vypořádat se změnami dat podle návrhu datového majetku pro vaši pracovní zátěž. Podobně je třeba postupovat opatrně, aby se zajistilo, že procesy bezpečného nasazení nebudou zanedbány a že oprava hotfix nebo jiné minimalizační úsilí budou provedeny bezpečně.

Obecná doporučení

  • Implementujte správu verzí napříč artefakty sestavení, abyste zajistili, že se v případě potřeby budete moci vrátit zpět a vpřed.

  • Použijte tok vydání nebo strukturu větvení na základě kmene, která vynucuje úzce synchronizovanou spolupráci napříč vývojovým týmem, namísto struktury větvení na základě Gitflow nebo prostředí.

  • Automatizujte co nejvíce ze svého bezpečného nasazení. Další informace naleznete v Doporučení pro implementaci automatizace.

  • Používejte postupy kontinuální integrace (CI) k pravidelné integraci změn kódu do úložišť. Postupy CI vám mohou pomoci identifikovat konflikty integrace a snížit pravděpodobnost velkých rizikových sloučení. Další informace naleznete v Doporučení pro nepřetržitou integraci.

  • Pomocí příznaků funkcí můžete selektivně povolit nebo zakázat nové funkce nebo změny v provozu. Příznaky funkcí vám mohou pomoci řídit vystavení nového kódu a v případě problémů rychle vrátit nasazení.

  • Nasaďte změny do přípravných prostředí, která zrcadlí vaše provozní prostředí. Cvičná prostředí vám umožňují otestovat změny v kontrolovaných podmínkách před nasazením do prostředí v ostrém provozu.

  • Zaveďte kontroly před nasazením, včetně kontroly kódu, prověřování zabezpečení a kontroly dodržování předpisů, abyste zajistili bezpečné nasazení změn.

  • Implementujte jističe, které automaticky zastaví provoz služby, která má problémy, a pomohou zabránit další degradaci systému.

Nouzové protokoly

Vytvořte normativní protokoly, které definují, jak lze vaše procesy bezpečného nasazení upravit pro opravu hotfix nebo pro nouzové problémy, jako je narušení zabezpečení nebo vystavení zranitelnosti. Vaše nouzové protokoly mohou například zahrnovat:

  • Zrychlení fáze propagace a schvalování
  • Smoke testing a akcelerace integračního testování
  • Snížení doby pečení

V některých případech může nouzová situace omezit brány kvality a testování, ale brány by měly být přesto co nejrychleji spuštěny jako cvičení mimo pásmo. Ujistěte se, že jste definovali, kdo může schválit zrychlení bezpečného nasazení v případě nouze, a kritéria, která musí být splněna, aby bylo zrychlení schváleno. Slaďte své nouzové protokoly s nouzovým odpověď plánem , abyste zajistili, že všechny nouzové situace budou řešeny podle stejných protokolů.

Důležité informace

Vytváření a udržování postupů bezpečného nasazení je složité. Úspěch plné implementace robustních standardů závisí na vyspělosti vašich postupů v mnoha oblastech vývoje softwaru. Použití automatizace, pouze IaC pro změny infrastruktury, konzistence ve strategiích větvení, příznaky funkcí a další postupy mohou pomoci zajistit bezpečné nasazení. Pomocí tohoto průvodce optimalizujete svou úlohu a zlepšíte své plány, jak se budou vaše postupy vyvíjet.

Usnadnění díky Power Platform

Pipelines in Power Platform si klade za cíl demokratizovat správu životního cyklu aplikací (ALM) pro zákazníky Power Platform a Dynamics 365 tím, že do služby přinášejí automatizaci ALM a průběžnou integraci a nepřetržité doručování (CI/CD).

Microsoft Power Platform Build Tools for Azure DevOps lze použít k automatizaci běžných úloh sestavování a nasazení souvisejících s aplikacemi postavenými na Power Platform.

Akce GitHub pro Power Platform umožňují vývojářům vytvářet automatizované pracovní postupy životního cyklu vývoje softwaru. Pomocí GitHub Actions pro Microsoft Power Platform můžete ve svém úložišti vytvářet pracovní toky pro sestavování, testování, balení, vydávání a nasazování aplikací, provádět automatizaci nebo spravovat roboty a další vestavěné komponenty na Power Platform.

ALM Accelerator je nástroj s otevřeným zdrojovým kódem, který se skládá ze sady aplikací, skriptů a kanálů navržených k automatizaci procesu nepřetržité integrace/průběžného doručování.

Automatizujte testy pomocí Azure Pipelines.

Proměnné prostředí v řešeních ukládají klíče a hodnoty parametrů, které pak slouží jako vstup pro další aplikační objekty. Oddělení parametrů od spotřebovávajících objektů umožňuje měnit hodnoty ve stejném prostředí nebo při migraci řešení do jiných prostředí.

Power Platform prostředí poskytují funkci obnovení v určitém okamžiku, která vám může pomoci vrátit se zpět.

Další kroky