Definování rozsahu problému
Při definování interní vývojářské platformy musíte nejprve definovat nejtenčí realizovatelnou platformu (TVP). A TVP je varianta myšlenky minimálního realizovatelného produktu (MVP) v klasické správě produktů.
Dobrým způsobem, jak zjistit, které úlohy by měly být součástí vašeho TVP, je posoudit postupy přípravy platforem vaší organizace pomocí modelu schopností platformy. Model schopností platformy vám ukáže, jaké jsou aktuální síly přípravy platforem vaší organizace a jaké jsou cíle pro budoucnost.
Tento diagram vám pomůže orientovat vaše myšlení na to, jak se může vývojová platforma v průběhu času vyvíjet. Mějte na paměti, že hlavní problém vaší organizace může způsobit, že se odchýlíte od toho, co je zde popsáno kvůli vašim stávajícím investicím nebo potřebám organizace. Pokud ji vaše organizace nepotřebuje, nemusíte pokračovat k další fázi.
Pokud začínáte úplně od začátku, představuje tato sekvence společný průběh. V počátečních fázích se zaměřte na zjišťování potřebných schopností, analýzu mezery v případě zmenšených produktů a vytvoření minimálních číselných nástrojů nebo možností platformy. Při škálování se pravděpodobně začnete soustředit na opětovnou použitelnost a vést uživatele k předdefinovaným zpevněným cestám s opakovaně použitelnými prostředky. Nakonec přejdete k modelu digitálního obchodu podobnému spotřebiteli, abyste usnadnili vytváření a údržbu aplikací. Měli byste postupovat podle produktového myšlení, takže nedoporučujeme skočit na konec a vaše konkrétní cesta se liší. Tyto konečné fáze se podobají produktu zabalenému na zmenšení v tradičním smyslu, ale jedná se o cíl, nikoli výchozí bod.
Oblasti témat přípravy platformy
Vzhledem k velikosti tohoto tématu doporučujeme rozdělit si, jak interně hovořit o technice platformy, do čtyř témat:
Technické systémy: Kurátorovaná kombinace sad DevOps, jako jsou GitHub a Azure DevOps a další vývojářské nástroje a služby. Kromě důležitých nástrojů a služeb DevOps, jako je CI/CD nebo správa balíčků, tato oblast zahrnuje také funkce používané přímo během procesu psaní kódu, jako jsou cloudová programovací prostředí, skenery kódu a litery a asistenti AI, jako je GitHub Copilot.
Aplikační platforma: Kurátorovaný výběr služeb (například IaaS, PaaS a pozorovatelnost), které cílí na každý zásobník aplikací (třída aplikace, model aplikace, jazyky), které chce organizace použít k poskytování obchodní hodnoty. To zahrnuje kombinaci služeb specifických pro sadu aplikací spolu s běžnými službami používanými v celém prostředí. Příkladem aplikační platformy může být Azure Container Apps, Cosmos DB pro úložiště, Azure Key Vault pro tajné kódy, řízení přístupu na základě identity a role, Azure Policy pro dodržování předpisů a auditování, pozorovatelnost prostřednictvím Grafany a související topologie sítě.
Šablony aplikací: Sada dobře definovaných, vytvořených organizací, šablon rychlých startů, které zapouzdřují správné spuštění, a zůstávají správnými pokyny pro danou aplikační platformu, jazyk a sadu technických systémů. Mohou odkazovat na jiné centralizované šablony a poskytovat počáteční kód, reference k rozhraní API a sadě SDK, kanály CI/CD, konfiguraci nástrojů a další.
Možnosti samoobslužných služeb pro vývojáře: Toto je připevnění pro vaše technické úsilí platformy. Jedná se o kombinaci rozhraní API, orchestrátorů, katalogu, šablon a uživatelských prostředí, která jsou navržená tak, aby omezila práci vývojářů a umožnila vývojovým týmům samoobslužné a samostatnější, a přitom stále dodržuje výběry a pokyny a zásady správného řízení z předchozích tří oblastí.
Integrace technických systémů, aplikačních platforem, šablon aplikací a schopností vývojářů samoobslužných služeb tvoří základní kámen strategie přípravy platformy. Díky kombinaci nástrojů DevOps, cloudových služeb a samoobslužných funkcí můžou organizace výrazně snížit výkon vývojářů, zvýšit produktivitu a zajistit dodržování standardů zásad správného řízení.