Aspekty nasazení pro DevOps
Při zřizování a aktualizaci prostředků Azure, kódu aplikace a nastavení konfigurace vám opakovaný a předvídatelný proces pomůže vyhnout se chybám a výpadkům. Pro nasazení doporučujeme automatizované procesy, které můžete spustit na vyžádání a spustit znovu, pokud něco selže. Jakmile budou procesy nasazení bez problémů spuštěné, může je dokumentace k procesům tímto způsobem zachovat.
Automation
Pokud chcete aktivovat prostředky na vyžádání, nasazujte řešení rychle, minimalizujte lidské chyby a vytvářejte konzistentní a opakovatelné výsledky. Nezapomeňte automatizovat nasazení a aktualizace.
Automatizace co nejvíce procesů
Nejspolehlivější procesy nasazení jsou automatizované a idempotentní, opakovatelné pro — vytvoření stejných výsledků.
- K automatizaci zřizování prostředků Azure můžete použít Terraform, Ansible, Chef, Puppet, Azure PowerShell, Azure CLInebo Azure Resource Manager šablony.
- Ke konfiguraci virtuálních počítačů můžete použít cloud-init (pro virtuální počítače s Linuxem) nebo Azure Automation State Configuration (DSC).
- K automatizaci nasazení aplikací můžete použít Azure DevOps Services, Jenkinsenebo jiná řešení CI/CD.
Osvědčeným postupem je vytvořit úložiště kategorizovaných automatizačních skriptů pro rychlý přístup, které jsou zdokumentované s vysvětlením parametrů a příklady použití skriptů. Udržujte tuto dokumentaci synchronizované s nasazeními Azure a určete primární osobu pro správu úložiště.
Automatizační skripty mohou také aktivovat prostředky na vyžádání pro zotavení po havárii.
Automatizace a testování úloh nasazení a údržby
Distribuované aplikace se skládají z několika částí, které musí spolupracovat. Nasazení by mělo využívat osvědčené mechanismy, jako jsou skripty, které mohou aktualizovat a ověřovat konfiguraci a automatizovat proces nasazení. Otestujte všechny procesy plně, abyste zajistili, že chyby nezpůsobí další výpadky.
Implementace bezpečnostních opatření nasazení
Všechny nástroje nasazení musí obsahovat bezpečnostní omezení k ochraně nasazené aplikace. Pečlivě definujte a vynucujte zásady nasazení a minimalizujte potřebu lidského zásahu.
Proces vydání
Jednou z výzev automatizace nasazení je samotný přímý přenos softwaru z poslední fáze testování do živé produkčního prostředí. Obvykle to musíte udělat rychle, abyste minimalizovali prostoje. Přístup modrého a zeleného nasazení to dělá tak, že zajišťuje, že máte dvě produkční prostředí, která jsou co nejvíce identická.
Proces vydání dokumentu
Bez podrobné dokumentace k procesu vydání může operátor nasadit chybná aktualizace nebo může nesprávně nakonfigurovat nastavení pro vaši aplikaci. Jasně definujte a zdokumentujte proces vydávání verzí a zajistěte, že je k dispozici celému provoznímu týmu.
Fáze úloh
Nasazení do různých fází a spuštění testů/ověření v každé fázi před přechodem k další fázi zajišťuje bezproblémové produkční nasazení.
Díky dobrému využití pracovních a produkčních prostředí můžete nabízení aktualizací do produkčního prostředí vysoce řízeným způsobem a minimalizovat přerušení z neočekávaných problémů s nasazením.
- Modro-zelené nasazení zahrnuje nasazení aktualizace do produkčního prostředí, které je oddělené od živé aplikace. Jakmile nasazení prověříte, přepnete směrování provozu na aktualizovanou verzi. Jedním ze způsobů, jak to provést, je použít pracovní sloty dostupné v Azure App Service k fázování nasazení před jeho přesunem do produkčního prostředí.
- Kanárové verze se podobají modro-zeleným nasazením. Místo přepnutí veškerého provozu na aktualizovanou aplikaci budete do nového nasazení směrovat pouze malou část provozu. Pokud dojde k problému, v návratu ke starému nasazení. Pokud ne, postupně směrovat větší provoz na novou verzi. Pokud používáte testovací Azure App Service, můžete použít funkci Testování v produkčním prostředí ke správě testovací verze.
Testovací prostředí
Pokud vývojová a testovací prostředí neodpovídají produkčnímu prostředí, je obtížné testovat a diagnostikovat problémy. Proto udržujte vývojová a testovací prostředí co možná nejvíce v blízkosti produkčního prostředí. Zajistěte, aby testovací data byla konzistentní s daty použitými v produkčním prostředí, a to i v případě, že se jedná o ukázková data, a ne skutečná produkční data (z důvodu ochrany osobních údajů nebo dodržování předpisů). Naplánujte generování a anonymizaci ukázkových testovacích dat.
Protokolování a auditování
Pokud chcete zaznamenat co nejvíce informací specifických pro verzi, implementujte robustní strategii protokolování. Pokud použijete techniky staged deployment, bude v produkčním prostředí spuštěných více než jedna verze vaší aplikace. Pokud dojde k problému, určete, která verze ho způsobuje.
Důležité informace o vysoké dostupnosti
Aplikace, která závisí na jedné instanci služby, vytvoří jediný bod selhání. Pokud chcete zlepšit odolnost a škálovatelnost, zř vyjádřte více instancí.
- Jako Azure App Servicevyberte plán App Service, který nabízí více instancí.
- Pro Azure Cloud Servicesnakonfigurujte každou z vašich rolí tak, aby používejte více instancí.
- V případě azure Virtual Machineszkontrolujte, že vaše architektura zahrnuje více než jeden virtuální počítač a že každý virtuální počítač je součástí skupiny dostupnosti.
Zvažte nasazení napříč několika oblastmi.
Doporučujeme nasazovat všechny aplikace a aplikační služby napříč několika oblastmi, ale ne ty nejméně důležité. Pokud je vaše aplikace nasazená v jedné oblasti, ve výjimečných případech, kdy přestane být dostupná celá oblast, nebude aplikace dostupná. Pokud se rozhodnete nasazení do jedné oblasti, zvažte přípravu opětovného nasazení do sekundární oblasti jako reakci na neočekávané selhání.
Opětovné nasazení do sekundární oblasti
Pokud aplikace a databáze spustíte v jedné primární oblasti bez replikace, vaší strategií obnovení může být opětovné nasazení do jiné oblasti. Toto řešení je cenově dostupné, ale nejvhodnější pro nekritické aplikace, které mohou tolerovat delší dobu obnovení. Pokud zvolíte tuto strategii, zautomatizte proces opětovného nasazení v co možná nejvíce a do testování reakcí na havárii zahr9te scénáře opětovného nasazení.
Pokud chcete proces opětovného nasazení automatizovat, zvažte použití Azure Site Recovery.