Sdílet prostřednictvím


Topologie týmů DevOps

Rozdělení rolí, zodpovědností a důvěry mezi IT týmy a aplikační týmy je pro provozní transformaci, která je součástí přechodu na cloud ve velkém měřítku, nejdůležitější.

IT týmy se snaží udržovat kontrolu. Vlastníci aplikací se snaží maximalizovat flexibilitu. Vyváženost, kterou mezi těmito dvěma cíli nakonec vytvoříte, výrazně ovlivňuje úspěch cloudového provozního modelu.

Podle zákona Společnosti Conway vytvářejí týmy architektury na základě své komunikační struktury. Pochopení tohoto principu je důležité, když pracujete na dosažení nezbytné rovnováhy mezi autonomií a kontrolou. Každá organizace, která navrhuje systém (definovaný široce), vytvoří strukturu návrhu, která je kopií komunikační struktury dané organizace.

Diagram znázorňující Conwayův zákon.

Z hlediska DevOps musí organizace optimalizovat rychlou reakci na potřeby zákazníků. Týmy, které vlastní, navrhují a implementují své aplikace a systémy, najdou nejvyšší úroveň samostatnosti v architekturách s následujícími vlastnostmi:

  • Vývojová architektura, která podporuje konstantní změny
  • Možnosti nasazení
  • Schopnost být testován

Conwayovo řešení je přelstít Conwayův zákon. Pokud se vaše organizace řídí konkrétní strukturou pro výrobu služeb a produktů a snaží se ji optimalizovat, musíte znovu promyslet organizační strukturu. Vyvíjet tým a organizační strukturu, abyste dosáhli požadované architektury.

Diagram zpětného manévru Conwaye.

Tento princip vede k úmyslnému navržení týmových topologií, ve kterých týmy zodpovídají za ucelené aplikace, systémy nebo platformy, které vlastní, aby bylo možné dosáhnout úplné disciplíny DevOps.

Následující tabulka obsahuje zjednodušenou kategorizaci těchto týmů.

Typ týmu Definice
Týmy pro zatížení aplikací Tyto týmy vytvářejí aplikace, které řídí přímé obchodní výsledky pro segment obchodní domény. V kontextu cílových zón Azure zodpovídají tyto týmy za kompletní životní cyklus aplikačních úloh.
Týmy platformy Tyto týmy vytvářejí působivé interní platformy, které urychlují doručování a snižují kognitivní zatížení týmů úloh aplikací. V kontextu cílových zón Azure zodpovídají tyto týmy za kompletní životní cyklus cílové zóny Azure.
Umožnění týmů Tyto týmy pomáhají překonat nedostatky dovedností tím, že ostatním týmům pomohou se specializovanými funkcemi, jako je DevOps.

Aspekty návrhu

  • Vytvořte tým napříč funkčními platformami, který bude navrhovat, sestavovat, zřizovat, spravovat a udržovat životní cyklus cílové zóny Azure. Tento tým může zahrnovat členy z centrálního IT týmu, zabezpečení, dodržování předpisů a obchodních jednotek, aby bylo zajištěno, že bude reprezentováno široké spektrum vašeho podniku. Ujistěte se, že se vyhnete antipatternům.

  • Zvažte vytvoření podpůrného týmu, který může poskytovat funkce DevOps pro podporu aplikací a platforem, které nemají stávající možnosti DevOps, nebo obchodní případ pro zřízení týmu (například zděděné aplikace s omezenými možnostmi vývoje).

  • Neomezovat týmy úloh aplikací na centrální artefakty, protože to může bránit jejich flexibilitě. Zásady správného řízení a řízení přístupu na základě role v Azure (Azure RBAC) můžete použít k vynucení konzistentních standardních konfigurací a zajištění toho, aby týmy aplikací (obchodních jednotek) byly dostatečně flexibilní, aby mohly inovovat, ale stále mohou využívat předdefinovanou sadu šablon.

  • Nevynucujte, aby týmy aplikací používaly centrální proces nebo zřizovací kanál pro instanciaci nebo správu prostředků aplikací. Stávající týmy, které už využívají kanál DevOps pro doručování aplikací, můžou stále používat své aktuální nástroje. Nezapomeňte, že můžete použít azure Policy pomáhá vynucovat standardy organizace a vyhodnocovat dodržování předpisů ve velkém měřítku a řešit aspekty zabezpečení pro procesy DevOps.

  • Plošná aplikace modelu DevOps nezaručuje okamžitě schopné týmy DevOps.

  • Investice do technických schopností a prostředků je důležitá.

  • Týmy aplikací pro některé starší aplikace nemusí mít technické prostředky potřebné k zajištění souladu se strategií DevOps.

Doporučení k návrhu

Následující části obsahují doporučení k návrhu, která vás při návrhu týmových topologií provedou.

Sladění týmových topologií s cloudovým provozním modelem

Ujistěte se, že týmové topologie odpovídají požadovanému cloudovému provoznímu modelu.

Vytvořte základní proces pro revize provozní připravenosti, abyste plně porozuměli problémům, které mohou vyplývat ze struktur vašeho týmu.

Definování funkcí pro tým platformy

Následující seznam obsahuje doporučenou sadu funkcí pro tým platformy zodpovědný za vaše cílové zóny Azure:

  • Zásady správného řízení architektury
  • Implementace a delegování zásad požadovaných pro správu sítě, identity a přístupu k předplatnému
  • Správa a monitorování platforem (holistické)
  • Správa nákladů (holistická)
  • Platforma jako kód (správa šablon, skriptů a dalších prostředků)
  • Celkové operace na Microsoft Azure v kontextu vaší instance tenanta Microsoft Entra (správa instančních objektů, registrace API Microsoft Graph a definice rolí)
  • Azure RBAC (komplexní)
  • Správa klíčů pro centrální služby (jednoduchý protokol pro přenos pošty a řadiče domény)
  • Správa a vynucování zásad (holistické)
  • Monitorování a audity zabezpečení (holistické)
  • Správa sítě (holistická)

Definování funkcí pro týmy úloh aplikace

Následující seznam obsahuje doporučenou sadu funkcí pro vaše aplikační týmy zodpovědné za úlohy aplikací:

  • Vytváření a správa prostředků aplikací prostřednictvím modelu DevOps
  • Správa databází
  • Migrace nebo transformace aplikací
  • Správa a monitorování aplikací (prostředky aplikací)
  • Azure RBAC (prostředky aplikace)
  • Monitorování a audity zabezpečení (prostředky aplikací)
  • Správa tajných kódů a klíčů (klíče aplikací)
  • Správa nákladů (prostředky aplikací)
  • Správa sítě (prostředky aplikací)

Definujte funkce za účelem povolení týmů

Doporučená sada funkcí pro tým podpory, který je zodpovědný za pomoc ostatním týmům, je uvedena v následujícím seznamu:

  • Definice horizontálních pokynů a funkcí (napříč funkcemi), které vám pomůžou získat správné znalosti v rámci vaší organizace, což zajišťuje soulad s vaším celkovým cílovým provozním modelem cloudu (například DevOps).
  • Podpora, školení a koučování pro ostatní týmy za účelem dosažení nezbytné úrovně odborných znalostí
  • Vytvoření společné sady opakovaně použitelných šablon a knihoven pro týmy aplikací nebo platforem a podpora InnerSourcingu, například pomocí ověřených modulů Azure.

Definování režimů interakce mezi týmy

Cílem interakcí mezi týmy je:

  • Dosažení autonomie
  • Odblokování závislostí
  • Minimalizace času plýtvání
  • Vyhněte se kritickým bodům

týmové topologie popisuje tři režimy interakce týmu:

Režim interakce Popis
spolupráce Týmy úzce spolupracují.
X jako služba Týmy konzumují nebo poskytují něco jiným týmům při minimální spolupráci, podobně jako by šlo o interakce s třetími stranami.
usnadňování Týmy pomáhají jiným týmům nebo jim jiný tým pomáhá s odstraněním překážek.