Návrh řešení automatizovaného nasazení aplikací

Dokončeno

S přechodem na cloud mnoho týmů přijímá agilní metody vývoje. Tyto týmy musí iterovat rychle a opakovaně nasazovat svá řešení do cloudu. Týmy musí mít jistotu, že jejich infrastruktura je ve spolehlivém stavu. Kód aplikace musí být spravován jednotným procesem.

Abyste splnili tyto výzvy ve svém návrhu pro Tailwind Traders, zkoumáte, jak automatizovat nasazení pomocí praxe infrastruktury jako kódu. Pojďme prozkoumat dvě řešení Azure pro nasazení a automatizaci vašich aplikací: šablony Azure Resource Manageru a Azure Automation.

Co je potřeba vědět o šablonách Azure Resource Manageru

Šablony Azure Resource Manageru (ARM) jsou soubory, které definují infrastrukturu a konfiguraci pro vaše nasazení. Při psaní šablony ARM použijete deklarativní přístup ke zřizování prostředků. Šablony ARM popisují jednotlivé prostředky v nasazení, ale nepopisují, jak prostředky nasadit.

Použití šablon ARM pro zřizování prostředků má mnoho výhod. Když si prohlédnete výhody, zamyslete se nad tím, jak se šablony ARM dají použít v řešení architektury tailwind Traders.

  • Šablony ARM jsou idempotentní, což znamená, že stejnou šablonu můžete opakovaně nasadit a získat stejný výsledek.

  • Při odeslání nasazení šablony ARM do Azure Resource Manageru se prostředky v šabloně ARM nasadí paralelně. Tento proces funkce orchestrace umožňuje rychlejší dokončení nasazení.

  • Parametr WhatIf dostupný v PowerShellu a Azure CLI umožňuje zobrazit náhled změn prostředí před nasazením šablony ARM. Tento parametr podrobně popisuje veškeré vytváření, úpravy a odstranění provedené šablonou.

  • Šablony ARM odeslané do Resource Manageru se ověřují před procesem nasazení. Toto ověření vás upozorní na případné chyby v šabloně před zřizováním prostředků.

  • Šablony ARM můžete rozdělit do menších komponent a propojit je při nasazení.

  • Šablony ARM je možné integrovat do několika nástrojů CI/CD, jako jsou Azure Pipelines a GitHub Actions.

  • Pomocí skriptů nasazení můžete spouštět skripty Bash nebo PowerShellu z šablon ARM. Prostřednictvím rozšiřitelnosti můžete k nasazení kompletního řešení použít jednu šablonu.

Formáty šablon ARM

Pro šablony ARM a nasazení prostředků Azure, JSON a Bicep jsou k dispozici dva formáty. JavaScript Object Notation (JSON) je open-standard formátu souboru, který může používat více jazyků. Bicep je jazyk specifický pro doménu, který byl nedávno vyvinut pro vytváření šablon pomocí jednodušší syntaxe. Pomocí rozhraní příkazového řádku Bicep můžete dekompilovat libovolnou šablonu JSON do šablony Bicep.

Co je potřeba vědět o šablonách Azure Bicep

Bicep je jazyk šablony ARM, který se používá k deklarativnímu nasazení prostředků Azure. Bicep je jazyk specifický pro doménu navržený pro konkrétní scénář nebo doménu. Bicep se používá k vytváření šablon ARM.

Obrázek znázorňující proces vytváření pomocí šablony ARM Bicep prostřednictvím šablony JSON ARM do Azure

Jako hlavní sadu nástrojů pro infrastrukturu jako nasazení kódu si můžete vybrat Bicep z mnoha důvodů.

  • Bicep je nativní pro ekosystém Azure. Když se uvolní nebo aktualizují nové prostředky Azure, Bicep tyto funkce podporuje každý den.

  • Šablony JSON a Bicep jsou plně integrované v rámci platformy Azure. S nasazeními založenými na Resource Manageru můžete sledovat průběh nasazení na webu Azure Portal.

  • Bicep je plně podporovaný produkt s podpora Microsoftu.

  • Veškerý stav je uložený v Azure. Uživatelé můžou spolupracovat a mít jistotu, že se jejich aktualizace zpracovávají podle očekávání.

  • Pokud už jako jazyk deklarativní šablony používáte šablony JSON, není obtížné přejít na Bicep. Pomocí rozhraní příkazového řádku Bicep můžete dekompilovat jakoukoli šablonu do šablony Bicep.

Co je potřeba vědět o službě Azure Automation

Azure Automation poskytuje cloudovou službu automatizace a konfigurace, která podporuje konzistentní správu v prostředích Azure a mimo Azure. Azure Automation poskytuje úplnou kontrolu ve třech oblastech služeb: automatizace procesů, správa konfigurací a správa aktualizací. Pojďme se podívat na podrobnosti této služby a zvážit její implementaci v architektuře aplikace Tailwind Traders.

Služba Popis
Automatizace procesů Automatizace procesů umožňuje automatizovat časté, časově náročné a náchylné úlohy správy cloudu k chybám. Tato služba vám pomůže soustředit se na práci, která přidává obchodní hodnotu. Díky menšímu množství chyb a vyšší efektivitě vám také pomůže snížit provozní náklady. Služba umožňuje vytvářet runbooky graficky v PowerShellu nebo pomocí Pythonu.
Správa konfigurace Správa konfigurace umožňuje přístup ke dvěma funkcím, Sledování změn a inventář a službě Azure Automation State Configuration. Služba podporuje sledování změn napříč službami, démony, softwarem, registrem a soubory ve vašem prostředí. Sledování změn pomáhá diagnostikovat nežádoucí změny a zvyšovat výstrahy.
Správa aktualizací Služba správy aktualizací zahrnuje funkci Update Management pro systémy Windows a Linux v hybridních prostředích. Tato funkce umožňuje vytvářet naplánovaná nasazení, která orchestrují instalaci aktualizací v rámci definovaného časového období údržby.