Vylepšení zjišťování a eliminace plýtvání prostřednictvím inventáře a sledování vztahů

S tím, jak se vaše organizace rozrůstá, roste i množství věcí, které musíte sledovat. Možná budete muset sledovat kód, rozhraní API, kontejnery, virtuální počítače, témata zasílání zpráv, členství v týmu, vlastnictví projektu a další. Při škálování není neobvyklé najít duplicitní úsilí často, protože jeden tým neví o druhém. Když se lidé přesunují mezi týmy, noví lidé se připojí ke společnosti a ostatní odejdou, můžou se projekty stát osamocenými. Pokud se to nezvládá, může to vést k technickému rozmachu a plýtvání jednoduše proto, že nemůžete snadno zjistit, co už existuje. To je běžný problém. Představte si například tuto citaci:

Máme spoustu spuštěných kontejnerů nebo instancí [virtuálních počítačů]. Můžeme odstranit staré virtuální počítače? Nikdo to neví. Musíme vymyslet způsob, jak vyčistit staré věci a používat správné značky, abychom věděli, kdo je vlastníkem nebo týmem, který nás může informovat o tom, co můžeme dělat a jaký je životní cyklus.... Nevíme, jestli můžeme konkrétní virtuální počítač vypnout, protože si nejsme jistí, co se stane. - Martin, inženýr DevOps, velká logistická společnost

Vylepšení sledování, zabezpečení a opakovaného používání prostřednictvím přizpůsobených inventářů

Součástí toho, co potřebujete, je inventář, který vám pomůže sledovat všechny "věci", které jste vytvořili nebo vytvořili ve svém ekosystému a které můžou interní zákazníci srozumitelně vizualizovat.

Inventář může zlepšit zabezpečení, podpořit opakované použití a obecně usnadnit zjišťování. Například prostředí pro nasazení Azure popisují a sledují složitou infrastrukturu vytvořenou prostřednictvím infrastruktury jako kódu (IaC) jako abstraktní prostředí , které je na úrovni, které rozumí vývoj i provoz. Podobně Centrum rozhraní API Azure poskytuje vývojářům způsob, jak zjišťovat a využívat rozhraní API. Registry balíčků, jako jsou GitHub Packages nebo Azure Artifacts (nebo jiné inventáře schválených balíčků a sad SDK), zlepšují zabezpečení dodavatelského řetězce. Každý z těchto nástrojů poskytuje inventář, který vám pomůže spravovat, sledovat a vyčistit odpad.

Při vyhodnocování toho, jak tyto inventáře vytvoříte nebo použijete, je jedním z důležitých rozhodnutí určit, jak široce bude jejich obsah viditelný. Mějte na paměti, že tady není žádná správná nebo špatná odpověď. Některé společnosti používají přístup k otevřené kuchyni, kde "každý vidí, že se připravuje jídlo, ale jen málo lidí ho může vařit". Díky otevřené kuchyni mají vývojáři úplný přehled o softwarových prostředcích, ale můžou upravovat jenom prostředky, za které zodpovídají. Naopak regulované společnosti můžou mít přísnější pravidla, kdy i viditelnost názvů projektů je považována za citlivá.

Vylepšení zjišťování a sledování prostřednictvím relací

Mít jeden nebo více systémů inventáře, které vám pomohou sledovat, co máte, je důležité pro postupy přípravy platformy a vyhnout se technickému rozmachu. Na začátku může stačit mít sadu plochých seznamů inventáře. I když to není nutné, můžete také zlepšit zjistitelnost přidáním vztahů mezi různými prostředky v rámci více inventářů. Centralizovaný agregační bod umožňuje týmům rychle vyhledávat a zjišťovat všechny prostředky, které mají k dispozici, bez ohledu na požadovanou úroveň viditelnosti. To podporuje opakované použití, snižuje redundanci a zavádí konzistentní přístup k zásadám správného řízení.

Zvažte vztah mezi definicí rozhraní API a kódem nasazené aplikace, která implementuje rozhraní. Tento kód je uložený v úložišti, spravuje ho tým a poskytuje dokumentaci k jeho použití. Vytvoří se vývojová, testovací, produkční a dokonce i dočasná sandboxová prostředí. Ve scénářích nativních pro cloud můžou být prostředí nasazená do sdíleného clusteru Kubernetes. Vývojový tým, který vytváří rozhraní API, a všichni jeho interní uživatelé musí mít možnost získat informace o každé z těchto věcí, ale není zřejmé, jak spolu prostředky souvisejí.

Pro začátek můžete použít něco tak jednoduchého, jako je stránka wikiwebu, která vám pomůže sledovat, jak spolu jednotlivé věci souvisí. Dokumentace ale rychle stárne a může být obtížné ji najít i analyzovat. V ideálním případě byste měli systém s grafem relací, který může uživatelským rozhraním povolit procházení těchto relací v inventáři. Pokud chcete skutečně zlepšit zjistitelnost, musíte mít možnost přidružit věci uložené v několika typech inventářů nebo grafů dohromady. Možná nebudete muset inventarizace využívat přímo, ale pravděpodobně je budete chtít přidružit k informacím v systému katalogu rozhraní API.

Chcete-li použít analogii digitálního obchodu, může být také užitečné přidružit položky (šablony) v katalogu k výslednému obsahu inventáře. Pokud například zjistíte, že jedna z vašich šablon vytvoří nezabezpečenou konfiguraci, budete muset rychle najít všechny prostředky, které byly vytvořeny v šabloně, abyste je mohli opravit. Dokonce i začít správné šablony aplikace jsou v podstatě úvodní sady v tomto katalogu, které se vztahují k jiným typům položek katalogu (jako šablony IaC). Sledování těchto přidružení vám umožní proaktivně najít jakoukoli aplikaci, která odkazuje na špatnou šablonu IaC, i když ještě nebyla zřízena žádná infrastruktura.

Zjednodušenou variantu tohoto konceptuálního grafu vývojářské platformy na vysoké úrovni najdete v několika sadě nástrojů a produktech dnes, i když se jeho název liší. Například opensourcová sada nástrojů portálu Backstage.io nazývá tento katalog softwaru, zatímco jiné produkty používají jiné termíny. Většina těchto produktů a sad nástrojů ale předpokládá, že používáte jejich širší sadu funkcí a vyžaduje, aby obsah inventářů byl v nich duplikován. Tato duplikace znamená, že obsah databáze katalogu není specifický pro uživatele, může se stát zastaralým a není řízen mechanismy autorizace uživatelů ve skutečném zdrojovém systému. Pokud ale používáte přístup otevřený v kuchyni, může to pro vaši organizaci fungovat dobře.

Přečtěte si další informace o konceptech, které vám můžou pomoct.