Megosztás a következőn keresztül:


DevOps-csapatok topológiái

A szerepkörök, a felelősségek és a bizalom elosztása az informatikai csapatok és az alkalmazások csapatai között a felhőbevezetésben nagy léptékben történő operatív átalakítás szempontjából kiemelkedő fontosságú.

Az informatikai csapatok az irányítás fenntartására törekszenek. Az alkalmazástulajdonosok igyekeznek maximalizálni az agilitást. A két cél közötti egyensúly nagyban befolyásolja a felhőbeli üzemeltetési modell sikerességét.

A Conway törvénye szerint a csapatok kommunikációs struktúrájuk alapján készítenek architektúrákat. Ennek az elvnek a megértése kritikus fontosságú az autonómia és az ellenőrzés közötti szükséges egyensúly elérése érdekében. Minden olyan szervezet, amely egy (széles körben definiált) rendszert tervez, olyan tervezési struktúrát fog létrehozni, amely a szervezet kommunikációs struktúrájának másolata.

Conway törvényét szemléltető ábra.

A DevOps szempontjából a szervezeteknek optimalizálni kell az ügyfelek igényeire való gyors reagálást. Azok a csapatok, amelyek saját alkalmazásaikat és rendszereiket birtokolják, tervezik és implementálják, az architektúrákban a legmagasabb szintű önállóságot találják az alábbi jellemzőkkel:

  • Az állandó változásokat támogató evolúciós architektúra
  • Üzembe helyezés
  • Tesztelhetőség

Conway megoldása az, hogy túllép a Conway törvényén. Ha a szervezet egy adott struktúrát követ a szolgáltatások és termékek előállításához, és optimalizálni szeretne, újra kell gondolnia a szervezeti struktúrát. A csapat és a szervezeti struktúra fejlesztése a kívánt architektúra elérése érdekében.

A Fordított Conway-manőver diagramja.

Ez az elv olyan szándékosan megtervezett csapattopológiákhoz vezet, amelyekben a csapatok felelősek a tulajdonában lévő alkalmazások, rendszerek vagy platformok teljes körű kialakításáért a DevOps teljes szemléletének elérése érdekében.

Az alábbi táblázat ezen csapatok egyszerűsített kategorizálását tartalmazza.

Csoport típusa Definíció
Alkalmazás-számítási feladatok csapatai Ezek a csapatok olyan alkalmazásokat fejlesztenek, amelyek közvetlen üzleti eredményeket eredményeznek az üzleti tartomány egy szegmensében. Az Azure Landing Zones kontextusában ezek a csapatok felelősek az alkalmazás-számítási feladatok teljes életciklusáért.
Platformcsapatok Ezek a csapatok lenyűgöző belső platformokat építenek ki a teljesítés felgyorsítása és az alkalmazásterhelési csapatok kognitív terhelésének csökkentése érdekében. Az Azure-beli célzónák kontextusában ezek a csapatok felelősek az Azure-beli célzóna teljes életciklusáért.
Csapatok engedélyezése Ezek a csapatok segítenek leküzdeni a képességbeli hiányosságokat azáltal, hogy segítséget nyújtanak más, speciális képességekkel rendelkező csapatoknak, például a DevOpsnak.

Kialakítási szempontok

  • Többfunkcionális platformcsapat létrehozása az Azure Landing Zone életciklusának megtervezéséhez, létrehozásához, kiépítéséhez, felügyeletéhez és karbantartásához. Ez a csapat a központi informatikai csapat tagjait, a biztonságot, a megfelelőséget és az üzleti egységeket is bevonhatja, hogy a vállalat széles spektrumát képviselje. Ügyeljen arra, hogy kerülje az antipatterneket.

  • Fontolja meg egy olyan engedélyező csapat létrehozását, amely képes DevOps-függvényeket biztosítani az olyan alkalmazások és platformok támogatásához, amelyek nem rendelkeznek meglévő DevOps-képességekkel, vagy üzleti esetként létrehozhat egyet (például az örökölt, minimális fejlesztési képességekkel rendelkező alkalmazásokat).

  • Ne korlátozza az alkalmazás számítási feladatainak csapatait a központi összetevőkre, mivel ez akadályozhatja a rugalmasságukat. A szabályzatalapú irányítás és az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) használatával konzisztens alapkonfigurációkat kényszeríthet ki, és biztosíthatja, hogy az alkalmazás (üzleti egység) csapatai elég rugalmasak legyenek ahhoz, hogy újítsanak, de továbbra is képesek legyenek előre definiált sablonokból kiindulni.

  • Ne kényszerítse az alkalmazáscsapatokat arra, hogy központi folyamatot vagy kiépítési folyamatot használjanak az alkalmazáserőforrás-példányosításhoz vagy -kezeléshez. A meglévő csapatok, amelyek már egy DevOps-folyamatra támaszkodnak az alkalmazáskézbesítéshez, továbbra is használhatják a jelenlegi eszközeiket. Ne feledje, hogy az Azure Policy használatával érvényesítheti a szervezeti szabványokat, és felmérheti a megfelelőséget, és kezelheti a DevOps-folyamatok biztonsági szempontjait.

  • A DevOps-modellek általános alkalmazása nem hoz létre azonnal alkalmas DevOps-csapatokat.

  • A mérnöki képességekbe és erőforrásokba való befektetés kritikus fontosságú.

  • Előfordulhat, hogy egyes régi alkalmazások alkalmazáscsapatai nem rendelkeznek a DevOps-stratégiához való igazodáshoz szükséges mérnöki erőforrásokkal.

Tervezési javaslatok

A következő szakaszok tervezési javaslatokat tartalmaznak a csapattopológiák tervezése során.

Csapattopológiák igazítása a felhőbeli üzemeltetési modellhez

Győződjön meg arról, hogy csapattopológiáit a kívánt felhőbeli üzemeltetési modellhez igazítja.

Hozzon létre egy alapvető folyamatot a működési alkalmassági felülvizsgálatokhoz , hogy teljes mértékben megértse a csapatstruktúrákból eredő problémákat.

Függvények definiálása a platformcsapat számára

Az alábbi lista az Azure-beli kezdőzónákért felelős platformcsapat számára ajánlott függvényeket tartalmaz:

  • Architektúraszabályozás
  • Előfizetések kiépítése és delegálása szükséges hálózati, identitás- és hozzáférés-kezelési szabályzatok
  • Platformkezelés és monitorozás (holisztikus)
  • Költségkezelés (holisztikus)
  • Kódként nyújtott platform (sablonok, szkriptek és egyéb eszközök kezelése)
  • A Microsoft Azure általános műveletei a Microsoft Entra-bérlőn belül (szolgáltatásnevek kezelése, Microsoft Graph API-regisztráció és szerepkördefiníciók)
  • Azure RBAC (holisztikus)
  • Központi szolgáltatások (egyszerű levelezési protokoll és tartományvezérlők) kulcskezelése
  • Szabályzatkezelés és -végrehajtás (holisztikus)
  • Biztonsági monitorozás és naplózás (holisztikus)
  • Hálózatkezelés (holisztikus)

Függvények definiálása az alkalmazás számítási feladatainak csapatához

Az alábbi lista az alkalmazás-számítási feladatokért felelős alkalmazáscsapatok számára ajánlott függvénykészletet tartalmaz:

  • Alkalmazáserőforrások létrehozása és kezelése DevOps-modellen keresztül
  • Adatbázis-kezelés
  • Alkalmazás áttelepítése vagy átalakítása
  • Alkalmazáskezelés és -figyelés (alkalmazáserőforrások)
  • Azure RBAC (alkalmazáserőforrások)
  • Biztonsági monitorozás és naplózás (alkalmazáserőforrások)
  • Titkos kódok és kulcsok kezelése (alkalmazáskulcsok)
  • Költségkezelés (alkalmazáserőforrások)
  • Hálózatkezelés (alkalmazáserőforrások)

Függvények definiálása a csapatok engedélyezéséhez

Az alábbi lista egy ajánlott függvénykészletet biztosít egy olyan engedélyező csapat számára, amely felelős a többi csapat segítségére:

  • Horizontális (többfunkciós) útmutatók és képességek meghatározása, amelyek segítenek a megfelelő szakértelem megszerzésében a szervezeten belül, ami biztosítja a teljes célfelhő-üzemeltetési modellhez (például a DevOpshoz) való igazodást.
  • Támogatás, képzés és coaching más csapatok számára a szükséges szintű szakértelem elérése érdekében
  • Közös újrafelhasználható sablonok és kódtárak létrehozása az alkalmazás- vagy platformcsapatok számára, valamint az InnerSourcing támogatása, például az Azure által ellenőrzött modulok.

Interakciós módok definiálása a csapatok között

A csapatok közötti interakciók célja:

  • Az autonómia elérése
  • Függőségek blokkolásának feloldása
  • A hulladékidő minimalizálása
  • A szűk keresztmetszetek elkerülése

A csapattopológiák három csoport-interakciós módot vázolnak fel:

Interakciós mód Leírás
Együttműködés A csapatok szorosan együttműködnek.
X-as-a-Service A Teams a külső gyártói interakciókhoz hasonlóan minimális együttműködéssel használ fel vagy biztosít valamit más csapatoknak.
Megkönnyítése A Teams egy másik csapat segítségére vagy segítségére van a akadályok eltávolításában.