Vytváření řešení nativních pro cloud

Po plánování sestavte a nakonfigurujte řešení ve vývojovém prostředí. Dodržujte osvědčené postupy a zajistěte kvalitu testováním. Cloudové nativní řešení využívá škálovatelné, odolné a pozorovatelné vzory architektury k maximalizaci výhod Azure služeb. Vytváření v neprodukčním prostředí se silnými testovacími a automatizačními postupy zajišťuje kvalitu a připravenost pro produkční nasazení.

Vývoj nových řešení nativních pro cloud

Vývoj nativní pro cloud vyžaduje strukturovaný přístup, který od začátku integruje postupy kvality. Tyto pokyny vám pomůžou vytvářet spolehlivá, zabezpečená a škálovatelná řešení prostřednictvím osvědčených vývojových postupů.

Použití principů architektury Well-Architected během vývoje

Cloudově nativní řešení přináší výhody použití principů Well-Architected Frameworku (WAF). Architektura Well-Architected poskytuje principy efektivního vývoje nativního pro cloud. Integrujte tyto pět pilířů a vytvářejte robustní aplikace, které dobře fungují v produkčním prostředí.

Vývoj řešení v neprodukčním prostředí

  1. Vytvořte vývojová prostředí, která zrcadlí produkční konfigurace. Nastavte neprodukční prostředí (vývoj, testování, kontrolu kvality), která úzce zrcadlí produkční prostředí. Čím blíže se testovací prostředí nacházejí v produkčním prostředí, tím větší je jistota, že při vydání všechno funguje. Tento přístup je zvlášť důležitý při přidávání nových funkcí do existující úlohy.

  2. Používejte realistické datové sady, které představují objemy produkčních dat. Otestujte data, která odpovídají velikosti a složitosti produkčních úloh. Velké datové sady odhalují kritické body výkonu a problémy se škálováním, které malé testovací datové sady nezaznamenají. Anonymizujte produkční data nebo vygenerujte syntetická data, která zachovávají statistické vlastnosti skutečných dat.

  3. Implementujte řízení nákladů pro neprodukční prostředí. Pomocí Azure DevTest Labs nebo plánování zdrojů můžete automaticky spouštět a zastavovat prostředky, pokud se nepoužívají. Použijte vhodné úrovně služby pro vývojové úlohy a implementujte limity útraty, abyste zabránili neočekávaným nákladům při zachování efektivity testování.

Další informace najdete v tématu Konfigurace testovacího prostředí v WAF.

Implementace změn pomocí správy zdrojového kódu a CI/CD

  1. Uložte veškerý kód a konfiguraci v úložišti Git. Sledujte kód aplikace, šablony infrastruktury, skripty nasazení a konfigurační soubory ve správě verzí. Tento postup poskytuje kompletní historii změn a umožňuje spolupráci mezi členy týmu.

  2. Rozdělte vývojovou práci na malé a časté commity. Dokončete vývoj funkcí v malých krocích, které mohou být sloučeny a testovány nezávisle. Tento přístup snižuje konflikty integrace a usnadňuje identifikaci příčin problémů při jejich výskytu.

  3. Automatizujte sestavení a testy pro každou změnu kódu. Nakonfigurujte kanály CI/CD, které při potvrzení změn automaticky kompilují kód, spouští testy a nasazují je do neprodukčních prostředí. Rychlé smyčky zpětné vazby pomáhají vývojářům rychle zachytit a opravit problémy.

  4. K řízení vydávání nových funkcí použijte funkční přepínače. Implementujte přepínače funkcí, které umožňují nasadit kód do produkčního prostředí a zároveň zachovat nové funkce zakázané, dokud nebudou připravené pro uživatele. Tato strategie odděluje nasazení od uvolnění a umožňuje bezpečnější a lépe řízená nasazení.

Implementace monitorování během vývoje

  1. Integrujte Azure Monitor a Application Insights do kódu aplikace. Přidáním shromažďování dat monitorování můžete sledovat klíčové metriky výkonu, interakce uživatelů a indikátory stavu systému. Nakonfigurujte tyto nástroje během vývoje, abyste měli jistotu, že fungují správně před produkčním nasazením.

  2. Implementujte strukturované protokolování v celé aplikaci. Používejte konzistentní formáty protokolů a uveďte kontextové informace, jako jsou ID uživatelů, ID požadavků a identifikátory obchodních procesů. Strukturujte protokoly jako objekty JSON, abyste umožnili výkonné možnosti dotazování a analýzy.

  3. Nakonfigurujte výstrahy pro klíčové metriky a podmínky selhání. Nastavte proaktivní monitorování, které vás upozorní na zvýšení míry chyb, snížení doby odezvy nebo snížení obchodních metrik mimo očekávané rozsahy. Definujte prahové hodnoty upozornění na základě cílů na úrovni služeb a obchodních požadavků.

  4. Vytvořte řídicí panely, které poskytují přehled o výkonu systému. Vytvářejte řídicí panely monitorování, které zobrazují stav vaší aplikace, infrastruktury a obchodních procesů. Zahrňte metriky, které jsou důležité pro technické týmy i obchodní účastníky, aby bylo možné rozhodovat na základě dat.

Další informace naleznete v tématu Návrh monitorovacího systému a instrumentace aplikace v WAF.

Ověření řešení nativních pro cloud s využitím testování

Komplexní testování ověřuje, že vaše řešení splňuje obchodní požadavky a spolehlivě provádí za reálných podmínek. Každý typ testování slouží ke konkrétnímu účelu při zajišťování kvality řešení.

  1. Proveďte kompletní funkční testování a ověřte obchodní pracovní postupy. Otestujte kompletní uživatelské scénáře od autentizace až po dokončení transakcí za použití realistických dat a interakcí. Ověřte, že nové funkce fungují správně a že stávající funkce po změnách zůstanou nedotčené. Proveďte regresní testy, abyste zachytili nežádoucí vedlejší účinky.

  2. Testování přijetí uživatelů s obchodními účastníky. Zapojte skutečné uživatele nebo obchodní zástupce a ověřte, že řešení splňuje jejich potřeby a očekávání. Vyzkoušejte si klíčové scénáře v prostředí UAT a poskytněte nám zpětnou vazbu k použitelnosti a funkcím. Před pokračováním do produkčního nasazení získejte formální schválení od zúčastněných stran.

  3. Proveďte zátěžové testování za realistických podmínek a ověřte výkon. K simulaci očekávaných uživatelských svazků a propustnosti dat použijte Azure Load Testing. Otestujte na úrovních zatížení ve špičce a dále za účelem identifikace kritických bodů výkonu a limitů škálování. Změřte dobu odezvy, propustnost a využití prostředků, abyste zajistili, že vaše řešení splňuje požadavky na výkon.

  4. Spuštěním testování zabezpečení a dodržování předpisů identifikujte ohrožení zabezpečení. Spouštění automatizovaných kontrol zabezpečení v kódu aplikace, imagích kontejnerů a konfiguracích infrastruktury Pomocí Microsoft Defender for Cloud zkontrolujte chybné konfigurace zabezpečení a porušení dodržování předpisů. Řešení ohrožení zabezpečení před nasazením a implementace kompenzačních kontrolních mechanismů pro přijatá rizika

  5. Vyřešte kritické problémy před produkčním nasazením. Testovací fáze chápejte jako brány kvality, kterými musí být projito před pokračováním. Opravte problémy s výkonem, které brání splnění smluv o úrovni služeb, a vyřešte ohrožení zabezpečení, která představují významné riziko. Řešení funkčních vad, které ovlivňují základní obchodní procesy. Zdokumentujte známé problémy s nízkou prioritou s plány pro budoucí řešení.

  6. Udržujte automatizované sady testů jednotek a integrace. Vytvořte komplexní automatizované testy, které ověřují jednotlivé komponenty a jejich interakce s externími závislostmi. Tyto testy spusťte jako součást kanálu CI/CD a po každé opravě chyb, abyste zabránili regresím. Robustní automatizovaná testovací sada umožňuje spolehlivé průběžné doručování v prostředích nativních pro cloud.

Vytvoření opakovaně použitelné infrastruktury

Jakmile vaše modernizované řešení projde všemi testy v neprodukčním prostředí, měli byste zaznamenat nastavení a konfigurace infrastruktury jako kód, aby bylo možné ho snadno replikovat v produkčním a budoucím prostředí. Opakovaně použitelná infrastruktura znamená použití šablon infrastruktury jako kódu (IaC) a automatizace pro konzistenci a rychlost.

  1. Vytvořte šablony IaC pro prověřené konfigurace. Vezmi si konečnou architekturu testovacího prostředí (která odráží to, co chcete v prod) a kodifikujte ji. K definování infrastruktury použijte Bicep, Terraform nebo Azure Resource Manager šablony. Parametrizovat tyto šablony, aby je bylo možné znovu použít pro různé fáze, jako je vývoj, testování, produkce, s malými úpravami, jako jsou názvy nebo velikosti. Toto nastavení zajistí, že produkční prostředí, které vytvoříte, odpovídá tomu, co jste otestovali. Vyhne se lidské chybě při manuálním klikání v Azure portálu pro vytváření prostředků. To také znamená, že pokud budete někdy potřebovat znovu vytvořit prostředí, jako je zotavení po havárii nebo nasazení do nových oblastí, máte připravené nasazení infrastruktury. Další informace najdete v tématu Správa CAF – Správa nasazení na základě kódu.

  2. Ukládejte šablony ve správě verzí. Zkontrolujte kód infrastruktury do úložiště Git (společně s kódem aplikace nebo v samostatném úložišti). Ke správě prostředků IaC pomocí správné správy verzí použijte GitHub nebo Azure DevOps. Správa verzí umožňuje kontroly kódu, podporuje týmové spolupráce a podporuje opakované použití šablon napříč projekty. Tento přístup poskytuje úplnou sledovatelnost změn infrastruktury a podporuje možnosti vrácení zpět, když dojde k problémům.

  3. Automatizujte instalaci a konfiguraci závislostí Vytvořte skripty nebo úlohy pipeline pro nasazení těchto šablon a také vyřešte všechny požadované úlohy konfigurace nebo inicializace. Pomocí Azure Pipelines a GitHub Actions spouštět úlohy nasazení, které přebírají šablonu IaC a nasazují do cílového předplatného nebo skupiny prostředků. Automatizujte instalaci závislostí aplikací, konfiguraci nastavení a správu tajných kódů. Cílem je nastavení prostředí jedním kliknutím (nebo jedním příkazem): od nic po plně spuštěné prostředí, které odpovídá testovanému prostředí.

  4. Otestujte kompletní IaC a automatizaci. Jako sandbox použijte samostatné Azure předplatné nebo skupinu prostředků a procvičte si nasazení celého prostředí úplně od začátku pomocí šablon a skriptů. Otestujte, že vaše šablony, pipelines a skripty IaC mohou vytvořit kompletní vrstvu infrastruktury od nuly. Otestujte různé scénáře nasazení, včetně počátečního nasazení, aktualizací konfigurace a postupů vrácení zpět, abyste potvrdili, že automatizace funguje správně.

Další informace najdete v tématu Návrh dodavatelského řetězce úloh a infrastruktury jako kódu v WAF.

Vytvoření dokumentace k nasazení

I s automatizací je dobrá dokumentace týkající se nasazení zásadní pro audit, pro zprovoznění nových členů týmu a pro budoucí údržbu. Dokumentace k nasazení by měla zahrnovat konfigurace, postupy a kroky vrácení zpět ve formě čitelné pro člověka.

  1. Nastavení a kroky konfigurace dokumentu Zaznamenejte všechna nastavení specifická pro prostředí, připojovací řetězce, koncové body služby a konfigurace zabezpečení v dokumentaci s podporou přístupnosti. Uveďte podrobné pokyny k nasazení, požadavky na požadavky a kroky ověření po nasazení. Tato dokumentace umožňuje konzistentní nasazení a podporuje řešení potíží při výskytu problémů. Pokud by nový inženýr musel provést nasazení, mohl by si přečíst tento dokument a sledovat výstup potrubí nebo ho pochopit.

  2. Aktualizujte postupy pro rollback a zotavení. Po dokončení testů formulujte kroky pro návrat změn při problémech s nasazením. Zahrnují triggery vrácení změn, postupy zálohování a obnovení dat a kroky pro ověření obnovy. Pravidelně testujte postupy vrácení zpět a obnovení, abyste měli jistotu, že v případě potřeby správně fungují. Tato příprava snižuje výpadky.

  3. Shromážděte veškerou tuto dokumentaci v centrálním umístění. K uložení těchto informací použijte SharePoint, GitHub nebo wikiweb. Zajistěte, aby tým a pracovníci podpory věděli, kde ho najít. V případě vysoce stresujícího incidentu je mít dokumenty po ruce životně důležité.

Další krok