Definování problémového prostoru

Při definování interní vývojářské platformy je důležité nejprve definovat nejtenčí životaschopnou platformu (TVP). Jedná se o variaci myšlenky minimálního životaschopného produktu (MVP) v klasické správě produktů.

Další informace o definování (nebo vylepšení) TVP najdete v tématu Plánování a stanovení priority. Než se k tomu ale dostaneme, pomůže vám tento diagram zorientovat se v tom, jak se můžete v průběhu času vyvíjet. Mějte na paměti, že hlavní problém vaší organizace může způsobit, že se kvůli stávajícím investicím nebo potřebám organizace odchylujete od toho, co je zde popsáno. V kritickém případě nemusíte pokračovat do další fáze, pokud to vaše organizace nepotřebuje.

Diagram znázorňuje, jak se může vývoj platformy v průběhu času vyvíjet

Pokud začínáte úplně od začátku, představuje to běžný průběh. V počátečních fázích se zaměřte na zjišťování potřebných funkcí, analýzu fit-gap produktů zabalených na zmenšení a vytváření minimálního počtu nástrojů nebo možností platformy. V dalším kroku se při škálování pravděpodobně začnete soustředit na opakované použití a vedení lidí po předdefinovaných zpevněných cestách s opakovaně použitelnými prostředky. Nakonec přejdete k modelu "digitálního úložiště" podobného spotřebiteli, který usnadňuje sestavování 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 nejvíce podobají smršťovanému "produktu" v tradičním smyslu, ale toto je cíl, nikoli výchozí bod.

Vzhledem k rozsahu tohoto tématu doporučujeme rozdělit způsob, jakým se zabývá vytvářením platforem, do čtyř témat. Kategorizace myšlení tímto způsobem může zjednodušit způsob vytváření a komunikace plánu pro vaše investice v průběhu času. Jedná se o tyto oblasti:

  • Technické systémy: Kurátorovaná kombinace sad DevOps, jako jsou GitHub a Azure DevOps, a dalších vývojářských nástrojů a služeb. Kromě důležitých nástrojů a služeb DevOps, jako jsou CI/CD nebo správa balíčků, zahrnuje tato oblast také funkce používané přímo během procesu kódování, jako jsou cloudová programovací prostředí, skenery kódu a litery a asistenti AI, jako jsou 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 aplikací, model aplikace, jazyky), které chce organizace použít k zajiště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 systému. 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í síťová topologie.
  • Šablony aplikací: Sada dobře definovaných, organizací vytvořených šablon pro rychlý start, které zapouzdřují správný start a zůstávají správnými pokyny pro danou aplikační platformu, jazyk a sadu technických systémů. Mohou odkazovat na další centralizované šablony a poskytovat počáteční kód, odkazy na rozhraní API a sadu SDK, kanály CI/CD, konfiguraci nástrojů a další.
  • Možnosti samoobslužných služeb pro vývojáře: To je lepidlo pro vaše úsilí o vytváření platforem. Jedná se o kombinaci rozhraní API, orchestrátorů, katalogu, šablon a uživatelských prostředí navržených tak, aby snížila práci vývojářů a umožnila vývojovým týmům samoobslužné a samostatnější fungování, přičemž stále dodržuje výběry a pokyny a zásady správného řízení z předchozích tří oblastí.

Grafika základních oblastí přípravy platforem.