Podpora vývojářů prostřednictvím samoobslužných zábradlí
Samoobslužná služba s mantinely je principem, který umožňuje vývojovým týmům provádět vlastní rozhodnutí v rámci sady dobře definovaných parametrů nebo mantinely. Ochranné mantinely jsou vytvořeny a odsouhlaseny klíčovými zúčastněnými stranami. Mezi zúčastněné strany můžou patřit týmy zabezpečení, provozu, architektury v celé organizaci.
Díky samoobslužné službě s mantinely si vývojové týmy zachovávají autonomii, aby se nezávisle rozhodovali o vývoji. Automatizace a zásady pomáhají zúčastněným stranám zajistit správnou správu zabezpečení, dodržování předpisů, provozu, standardů a nákladů. Povolení této automatizace vyžaduje spolupráci napříč týmovými řádky, aby vývojáři, operátoři a specialisté mohli dělat více, aniž by museli obětovat potřebné zásady správného řízení. Vývojáři se pak můžou co nejrychleji zaměřit na poskytování obchodní hodnoty.
[Řekněme vývojářům,] nebojte se, jak to všechno funguje, stačí je zapnout nebo vypnout, vyplnit ho, vložit řetězec do toho, co potřebujete udělat, a je to v podstatě samoobslužné v tomto ohledu, kde mají soubor readme a mají vstupy, výstupy a můžou vložit cokoli, co se jim líbí. - Daniel, Cloud Engineer, Fortune 500 Media Company
Cílem poskytování samoobslužného prostředí pro vaše zpevněné cesty je omezit práci vývojářů a zároveň získat přehled o vývojových týmech, provozu a správě. Myšlenka spočívá v tom, že vytvoříte prostředí pro daný úkol, který má minimální křivku učení, a to díky jeho základním možnostem automatizace a agregace dat. Kromě aktivit, jako je zřizování infrastruktury, můžou tyto prostředí poskytovat přístup ke kritickým funkcím pro pozorovatelnost, zásady, správu incidentů a další. Tato myšlenka se rozšiřuje o zjišťování a sdílení interních rozhraní API, sad SDK spolu se sdílenými nástroji a službami. Tato prostředí snižují režii, aby se vývojové týmy mohly soustředit na práci.
Interní vývojářské platformy umožňují vývojářům pracovat jako zákazníci digitálních obchodů.
Interní vývojářské platformy poskytují podobné možnosti jako digitální výkladní skříně business-to-business. Digitální obchody jsou ze své podstaty navržené tak, aby pomohly svým zákazníkům samoobslužně. Můžou zpracovávat větší propustnost než tradiční fronty obchodů, protože poskytují způsoby, jak zjišťovat a plnit zajímavé položky, aniž by s někým museli mluvit. Pomocí této analogie jsou vývojáři zákazníkem a interní vývojářská platforma poskytuje podobné samoobslužné prostředí. Podobně jako prodejce, operátoři, technici platformy a další role pak nastaví katalog položek, které můžou vývojáři požádat, aby vyhovovaly mantinely organizace.
Můžete například uvažovat o vývojáři, který žádá o přístup k novému nástroji, jako by prováděl objednávku digitální výkladní skříně. Podobně jako u objednávky chce vývojář po odeslání žádosti sledovat průběh a zjistit, kdy je dokončený. Na pozadí by se požadavek měl automaticky směrovat na správného poskytovatele plnění, aby splnil potřeby. Jeden ze systémů kontinuální integrace a doručování (CI/CD) si můžete představit jako jednoho poskytovatele plnění, nástroj GitOps nebo preskriptivní aplikační platformu jako sekundu a nástroj pro automatizaci pracovních postupů pro ruční procesy jako třetí. Ve všech případech může vývojář samoobslužně obsluhovat položky z dobře definovaného katalogu stejným způsobem.
Použití všeho jako vzoru kódu
Použití infrastruktury jako kódu (IaC) prostřednictvím kanálů průběžného doručování (CD) a nástrojů GitOps je důležitou součástí povolení samoobslužné služby. IaC s CD umožňuje používat Bicep, Terraform, Helm charty a další nástroje k vytváření a zničení cloudových prostředků na vyžádání. Vzhledem k tomu, že konfigurace cloudové infrastruktury se spravuje stejně jako kód v úložišti zdrojového kódu, můžete použít všechny výhody úložiště Git, jako je zabezpečení a auditovatelnost.
Zřizování společné infrastruktury a nástrojů není jedinou výhodou přístupu IaC. Vzor kódu můžete přizpůsobit pro jiné scénáře, včetně zabezpečení jako kódu a zásad jako kódu (prostřednictvím nástrojů, jako jsou Azure Policy a Open Policy Agent). V tomto okamžiku se do úložiště vloží konfigurační soubor, obvykle YAML nebo JSON. V tomto okamžiku se aktivuje pracovní postup, který soubor zpracuje. Tyto soubory můžou být úložiště aplikací, jako je dependabot.yml nebo CODEOWNERS, nebo se můžou udržovat v samostatném centrálním úložišti. Můžete to dokonce rozšířit do vlastních scénářů, abyste skutečně udělali vše jako kód (EaC) realitu.
Vývojáři můžou na každou z těchto šablon EaC odkazovat s centrálním katalogem, který využívá vaše samoobslužné prostředí a ve výchozím nastavení podporuje osvědčené postupy.
Vytvoření správných šablon startu a vytvoření správného řízení
Při vývoji softwaru se snažíme při navrhování aplikací zapouzdřovat, modularitu a kompozititu. Tuto stejnou linii myšlení byste měli použít pro přípravu platforem prostřednictvím šablon. Můžete například vytvořit a použít sadu centrálně zabezpečených a opakovaně použitelných šablon IaC jako stavební bloky pro infrastrukturu.
Vytvoříme moduly pro naše [vývojáře]... takže místo toho, abyste museli psát nebo se starat o jakýkoli back-end samotný, stačí se starat o svůj kód aplikace. - Daniel, Cloud Engineer, Fortune 500 Media Company
Zkombinujte šablony IaC, EaC a aplikací do přizpůsobeného řešení jako kódu (EaC), které se rozšiřuje o další aktivity, jako je vytvoření úložiště zdrojového kódu, počáteční vzorový kód nebo poskytnutí konfigurace a vzorového kódu pro doporučené nástroje pozorovatelnosti. Tyto šablony IaC, EaC a aplikací se pak dají ukládat nebo odkazovat z centrálního zabezpečeného umístění, jako je úložiště, katalog v prostředích nasazení Azure (ADE) nebo Azure Container Registry (ACR) pro nativní cloud.
Když se šablony startu správně zkombinují s automatizovanými zásadami správného řízení, skenováním a konfigurací zásad, vývojáři zůstanou v pořádku od prvního dne.
Šablony zjednoduší vývoj pomocí automatizovaných a zabezpečených postupů.
Pomocí šablon aplikací můžete spustit definované zpevněné cesty pro několik klíčových rozhodnutí a akcí, které vývojáři v průběhu projektu přijmou. Začněte správnými šablonami vytvářet zabezpečené, řízené vývojové postupy a umožňují vývojářům rychle začít tím, že povolí automatizaci, která poskytuje přístup k potřebným nástrojům, nakonfiguruje kanály CI/CD, zřídí infrastrukturu a zásobník aplikací a nakonfiguruje úložiště kompletní se zdrojovým kódem kotle, který zahrnuje potřebné sady SDK nebo odkazy na rozhraní API.
Díky tomu, že tyto šablony aplikací odkazují na jiné centralizované šablony (například šablony IaC), každý z těchto jednotlivých stavebních bloků začíná mít vlastní šablony. Tyto šablony jsou centrální pro povolení samoobslužných prostředí, protože nejen definují výstupy, ale také dostupné možnosti, ze které si vývojáři vybírají.
Šablony zajišťují optimalizaci zásad správného řízení, zabezpečení a nákladů.
Šablony by ale měly provádět více než jen spouštění vývojového úsilí. Měly by také stanovit kontrolu a zásady správného řízení prostřednictvím zásad a kontroly zabezpečení nezbytné k tomu, aby zůstaly v průběhu životního cyklu projektu správné. V dalším příkladu můžou šablony nastavit pravidla ochrany větví, která brání neoprávněnému sloučení do produkčního prostředí. Vzhledem k tomu, že šablony zachycují osvědčené postupy a běžné konfigurace, představují jednu z klíčových technik pro optimalizaci nákladů napříč nástroji, dodavateli a týmy.
Spuštění správných kampaní pro vytvoření obousměrné komunikace
A konečně, jak se zvyšuje vaše důvěra v zpevněné cesty, můžete použít podkladové stavební bloky, které jste sestavili do šablon aplikací, a přesunout existující aplikace na zpevněnou cestu. Vzhledem k tomu, že vaši interní zákazníci už uvidí hodnotu pilotních zpevněných cest, můžete spustit interní kampaň získat správnou kampaň a vytvořit obousměrný dialog s jinými aplikačními týmy. Vývojáři můžou zjistit, jak migrovat aplikaci, zatímco technický tým platformy současně zjistí, jak pro ně vylepšit platformu.
Namapování vlastní cesty
Vzhledem k tomu, jaké možnosti samoobslužných služeb můžou pokrýt, je důležité zaměřit se na vaše investice a plánovat a určovat prioritu, aby vaše interní vývojářská platforma poskytovala hodnotu přírůstkově. Cesta každé organizace při vytváření interní vývojářské platformy je odlišná a sledování produktového myšlení vám pomůže zaměřit se na nejdůležitější místa, která potřebují samoobslužné prostředí.