Nasazujte bez obav

Dokončeno
Dosažení požadovaného stavu nasazení s předvídatelností

Vytvořte dodavatelský řetězec úloh, který umožňuje konzistentně dosáhnout cíle předvídatelnosti ve všech vašich prostředích, napříč hostitelskými platformami, aplikacemi, daty a konfiguračními prostředky úloh. Mechanismus nasazení musí být schopen automatizace, testování, monitorování a správy verzí. Měla by být modulární a připravená k provedení na vyžádání. Nemělo by být reprezentováno jako monolitický komplexní proces. Dodavatelský řetězec nemusí nutně zrychlit provádění, ale k dosažení konzistence a vlastní dokumentace pro více iterací.

Tým úloh zodpovídá za dodavatelský řetězec, protože souvisí s vlastní úlohou.

Ukázkový scénář

Společnost Contoso Manufacturing vyvinula aplikaci založenou na Javě, která se používá k monitorování a optimalizaci výrobních procesů. Úloha se nedávno migrovala do Azure a teď běží v Azure Spring Apps, Azure Database for MySQL a Azure IoT Hubu.

Nasazení infrastruktury prostřednictvím kódu

Použijte infrastrukturu jako kód (IaC) k definování opakovatelných aspektů dodavatelského řetězce, které jsou připravené na výrobu. Upřednostněte deklarativní přístupy před imperativními metodami.

Deklarativní technologie IaC jsou navrženy s ohledem na automatizaci a opakované použití. Nasazení infrastruktury můžete přesměrovat od jednotlivců do nástrojů a dosáhnout konzistentní kvality.

Z hlediska infrastruktury snižuje počet technologických možností rozptyl nástrojů a usnadňuje detekci odchylek konfigurace. Údržba bude také jednodušší. Pokud budete sladit volby se stávající sadou dovedností týmu, tým je může snadno přijmout.

Výzva společnosti Contoso

  • Místní verze úlohy používala kombinaci skriptů a ručních kroků k sestavení infrastruktury a nasazení aplikace napříč prostředími. V rané fázi procesu migrace Do Azure tým provedl změny stávajících imperativních skriptů, které cílí na novou platformu, aby mohly znovu použít co největší část stávajícího základu kódu automatizace. Tento přístup byl přijat také kvůli nedostatku odborných znalostí o technologiích Azure a IaC, jako je Bicep.
  • S tím, jak migrace pokročila a tým se seznámil s platformou, se přesvědčili, že použití přístupu IaC s Bicepem bude delším řešením.

Použití přístupu a výsledků

  • Nedostatek znalostí v interním prostředí uzavřel tým s prací na migraci a rozšíření skriptů automatizace nasazení pro úlohu zkušeným dodavatelům, kteří pracovali s vývojovým týmem během počátečních fází projektu a zároveň poskytli přenos znalostí zbývajícímu týmu.
  • Výsledná implementace založená na Bicep poskytuje spolehlivější, spravovatelný a efektivnější způsob zřizování infrastruktury v Azure. Kód je teď čitelnější a udržovatelný a má skvělou podporu nástrojů ve VSCode. Je to také plně idempotentní a zjednodušuje správu stavu, které nebyly nikdy schopny plně dosáhnout s předchozí/imperativní verzí.

Považovat váš IaC za stejný jako s kódem vaší aplikace

Postupujte podle doporučení softwaru pro vývoj a údržbu IaC: Modularizace v moderování, vyhněte se vlastním nebo nízkohodnotovým abstrakcí a postupujte podle vícevrstvého přístupu, který odráží různé životní cyklus. Form foundational layers where the lower layers stay constant and the upper layers change as needed.

Artefakty nasazení, jako jsou binární soubory aplikací, šablony IaC a parametry, jsou součástí prostoru útoku. Použijte záruky, jako je správa tajných kódů, řízení přístupu a další principy pilíře zabezpečení.

Artefakty mají stejnou úroveň technické rigorrie jako kód aplikace. Kontroly kvality prostřednictvím partnerských kontrol a testování vám dávají jistotu v nasazení.

Vícevrstvý přístup usnadňuje údržbu a vytváří hranice, které vytvářejí jasné čáry odpovědnosti.

Přidání ovládacích prvků zabezpečení do artefaktů pomáhá posílit systém během procesu nasazení.

Výzva společnosti Contoso

  • Projektový tým měl na začátku migračního úsilí velkorysý rozpočet, takže najal velmi zkušených dodavatelů, kteří se doručovali s vysokou kvalitou a za krátkou dobu. Dodavatelé použili pro vývoj samostatné úložiště a toto úložiště nebylo pravidelně auditováno z hlediska zabezpečení, zatímco hlavní úložiště kódu aplikace je.
  • Tým připravuje vydání hlavního návrhu řešení a kód nasazení potřebuje významné změny. Vzhledem k nedostatku vývojových prostředků jsou nejnovější dávky změn provedeny dvěma interny. Když je jeden z hlavních vývojářů v týmu volán, aby pomohl internům, všimne si více potvrzení v úložišti, které nejsou v souladu s vývojářskými standardy týmu, včetně tajných kódů aplikací, jako jsou klíče rozhraní API pevně zakódované v základu kódu.

Použití přístupu a výsledků

  • Tým se rozhodne přesunout základ kódu sestavení a nasazení do stejného úložiště, které se používá pro kód aplikace, a začít používat stejnou úroveň technického rigoru jako ostatní oblasti základu kódu. Kód se před prvním potvrzením přenese do týmových standardů, tajné kódy aplikací se odeberou a všechny ostatní standardy a nástroje pro kvalitu týmu se na něj použijí.
  • V důsledku toho tým tuto část základu kódu zabezpečil a zároveň zvýšil kvalitu kódu. V budoucnu se změny této oblasti základu kódu budou řídit stejnými standardy a využívat stejné nástroje používané pro základ kódu základní aplikace, včetně kontrol partnerských kódů a automatizované kontroly kódu pomocí nástrojů pro kvalitu a zabezpečení.

Standardizace nasazení v jednom manifestu

Vytvořte společný manifest nasazení, který se používá ve všech prostředích. Tento manifest použijte jako výchozí mechanismus pro projekty zeleného pole, přírůstkové aktualizace úloh nebo zotavení po havárii.

Použití tohoto přístupu vám umožní odebrat režii při údržbě více prostředků.

Pokud dojde k havárii, zotavení bude rychlé a spolehlivé, protože místo vytvoření improvizovaného prostředí můžete nasadit vyzkoušený a otestovaný manifest.

Výzva společnosti Contoso

  • Contoso Manufacturing používá plně automatizovaný kanál k nasazení infrastruktury, kódu aplikace a změn konfigurace do vývojového a produkčního prostředí. Aplikace je nakonfigurovaná tak, aby byla vysoce dostupná v jedné oblasti. Většina komponent aplikace je bezstavová, s výjimkou databáze MySQL. Databáze se zálohuje podle stanovené doby obnovení nebo bodu obnovení a zálohování se replikuje do sekundární oblasti.
  • Pokud dojde k závažnému nebo závažnému selhání v primární oblasti, tým plánuje vytvořit nové prostředí pro hostování aplikace v sekundární oblasti. Během plánovaného postupu testování postupů zotavení po havárii skripty nasazení selžou při pokusu o opětovné vytvoření prostředí v sekundární oblasti kvůli nedostatku dostupnosti několika prostředků a dalších omezení služby.

Použití přístupu a výsledků

  • Tým zmírní problémy, ke kterým došlo při pokusu o zřízení v sekundární oblasti, nahrazením použití některých prostředků ekvivalentními skladovými jednotkami, které jsou dostupné v obou oblastech, a provedením některých možností konfigurovatelných tak, aby byla jiná, ale platná, hodnota se dá použít v sekundární oblasti.
  • Cvičení zvýšilo důvěru týmu ve své schopnosti zotavit se z velkých selhání infrastruktury.

Prověřte si své znalosti

1.

Jak vám může nasazení infrastruktury jako kódu pomoct s nasazením s jistotou?

2.

Jak přesunutí kódu IaC do stejného úložiště jako kód aplikace pomohlo týmu Contoso nasadit s jistotou?

3.

Která z následujících možností může pomoct zajistit efektivní nasazení prostředí zotavení po havárii?