Hogyan változtatja meg az OpenShift az IT-szervezet struktúráját. Az organizációs modellek fejlődése a PaaS-ra való áttérés során

Bár a PaaS (Platform as a Service) megoldások önmagukban nem képesek megváltoztatni az egyéni és csapatinterakciókat, gyakran katalizátorként szolgálnak a szervezeti változásokhoz, válaszul az IT-technológiák fokozott rugalmasságára.

Hogyan változtatja meg az OpenShift az IT-szervezet struktúráját. Az organizációs modellek fejlődése a PaaS-ra való áttérés során

A valóságban a PaaS-ba történő befektetések maximális megtérülése gyakran csak a szervezeti szerepek, felelősségi körök (feladatok) és kapcsolati modellek megváltoztatásának feltétele mellett lehetséges. Szerencsére a PaaS megoldások, mint az OpenShift Container Platform, elegendő rugalmassággal bírnak ahhoz, hogy minden IT-szervezet önállóan meghatározhassa a változások sebességét és mértékét az érintett emberek és folyamatok tekintetében.

A vállalatok konténerizálásának első szakaszában a legfontosabb prioritás az új alkalmazástelepítési rendszer, a konténerplatform bevezetése. Ekkor a szervezetek a megszokott munkafolyamataikat a szokásos szerepeikhez kötik, hogy reagáljanak a fejlesztőcsapatok standard igényeire, például tárolórendszerek, telepítési környezetek stb. terén. A konténerizálás későbbi szakaszaiban már az automatizálásról vagy a fejlesztők önsegítő lehetőségeinek biztosításáról van szó, hogy csökkentsék a rendszergazdák terheit, és a fejlesztők önállóságát és hatékonyságát magasabb szintre emeljék. Így kezdi el a szervezet a DevOps irányába való elmozdulást. A konténerizálás végső szakaszában a vállalat egy tisztább, kanonikus DevOps modellhez jut, amely keretében számos korábbi feladat és munka átkerül a keresztfunkcionális csapatok irányítása alá, amelyek nem platformok vagy technológiák alapján csoportosulnak, hanem az alkalmazások vagy alkalmazási szolgáltatások működésének biztosítása szempontjából.

Ebben a bejegyzésben bemutatjuk a szükséges szervezeti változások végrehajtásának útmutatóját, és elmondjuk, hogyan változnak a hagyományos IT-szerepek a konténertechnológiák bevezetésekor a vállalatnál.

Az új feladatok régi szerepekhez való társítása

A PaaS alapvető szervezeti modellje a számítástechnikai erőforrások rugalmas és gyors biztosítására jött létre az alkalmazások futtatási környezeteként. Bár ez bizonyos előnyöket biztosít a rendszergazdák számára, a fejlesztők általában nem élveznek lényeges előnyöket és új lehetőségeket, mivel ezen a ponton a vállalatok általában elkerülhetik az automatizálás, az önkiszolgálás bevezetését vagy a telepítési folyamat radikális javítását. A fejlesztési folyamatok minimális érintésével a PaaS mégis növeli az IT-rendszerek dinamizmusát, lehetővé téve ezzel a rendszergazdák számára, hogy jobban kiszolgálják a fejlesztők igényeit. Például, míg korábban a fejlesztői környezet létrehozása több napot vagy akár heteket is igénybe vehetett, és több különböző rendszergazda részvételét igényelte, a PaaS segítségével mindezek a feladatok sokkal gyorsabban, csak egy rendszergazda által elvégezhetők. virtuális gépekhez Más szavakkal, a fejlesztőcsapatok továbbra is kérdéseket nyújtanak be, de a kérdések megvalósítására vonatkozó munkát már egy új rendszer szerint végzik el.

Az utat a DevOps-hoz

A PaaS elindításával és az IT-rendszerek üzemeltetőinek, valamint az alkalmazásfejlesztőknek a migrálásával az organizáció folytathatja a DevOps módszertan bevezetését, amely mások mellett az alábbi alapelveket tartalmazza:

  • A munkát kisebb lépésekre bontani, hogy korai visszajelzéseket kaphassunk, csökkenthessük a kockázatokat, és elkerüljük az «analitikai bénultságot»;
  • A műveletek automatizálása megfelelő mértékig, hogy ne keletkezzenek akadályok vagy szűk keresztmetszetek az alkalmazás telepítési folyamatában;
  • A tudásmegosztás – a bizalom építésének kulcsa;
  • A műszaki adósságok rendszeres törlesztése, külön időt biztosítva a rendszeres fejlesztésekre minden munkaciklus során.

A konténertechnológiák bevezetésének második szakaszában a fejlesztőcsapatok természetesen észreveszik a fejlesztési lehetőségeket, és a vállalat hajlik a hagyományosabb DevOps modell felé. A karbantartási kérelmek benyújtásának és végrehajtásának hagyományos mechanizmusa most szűk keresztmetszetként van elkönyvelve, ezért a szervezet arra törekszik, hogy automatizálja az ismétlődő feladatokat, és önkiszolgáló lehetőségeket biztosítson a fejlesztők számára. Ezen fejlesztők lehetőségeit a különféle kérelmek keretében az IT-platformok üzemeltető szakembereinek és az alkalmazáshoz kapcsolódó szállítók közös erőfeszítései határozzák meg. Más szavakkal, a fejlesztők kérelmeinek teljesítéséért felelős rendszergazdák helyébe a fenti két csoport, a politikák megfogalmazásáért és alkalmazásáért felelős munkatársak lépnek, akik meghatározzák, hogy a fejlesztők mit végezhetnek el önállóan. Az automatizált eljárások segítenek a megadott követelmények betartásának biztosításában, és összhangba hozzák a műveleteket, amikor a helyzet túllép a fennálló politikák keretein.

Az iteratív ütemtervhez való átmenet, amelyben az IT-örök és az operatív modell idővel iteratív változásokon megy keresztül, kritikus mérföldkő a vállalat fejlett DevOps rendszerének kialakításában. A DevOps módszertan elfogadásának mértéke minden egyes szervezet toleranciájától függ a változásokkal szemben és attól, hogy mely változások hozzák a legnagyobb előnyöket. Például, ha az új környezetek vagy alkalmazások létrehozásának szükséglete ritkán merül fel, akkor a kapcsolódó tevékenységek optimalizálása kevésbé fontos, mint a fejlesztők ellenőrzésének fokozása az alkalmazások életciklusának kezelésében.

Új feladatok, amelyek az IT-szervezetekben felmerülnek az OpenShift-re való átmenet során

Ebben a szakaszban megvizsgáljuk azokat a szerepeket és feladatokat, amelyeket az OpenShift-re való áttérés során a szervezetek általában alkalmaznak az automatizálás és az önkiszolgálás felgyorsítása érdekében a technológia és a PaaS segítségével.

Az alábbi táblázatban az OpenShift-et bevezető szervezetek alapvető, magas szintű feladatait soroljuk fel, a megfelelő munkák és készségek példáival. Ez a feladatsor nem összetévesztendő a munkamegosztási sémával vagy a csapatok szervezeti struktúrájával, csupán azoknak a feladatoknak a halmaza, amelyeket az IT-környezetek fenntartásáért felelős személyeknek el kell végezniük a konténer platform sikeres bevezetése érdekében. Valójában később bemutatjuk, hogy a konténertechnológiák bevezetése elősegíti a vállalati szintű érettebb DevOps stratégia kialakulását, ami viszont növeli a csapatok közötti keresztteljesítményt, és csökkenti az egyes alkalmazottak és csapatok szakképzettségének szűkítéséből adódó kockázatokat.

1. táblázat: Az OpenShift feladatainak meghatározása

Feladatok
Szükséges készségek

IT-infrastruktúrák automatizálása és előkészítése (provisioning)

Feladatok:

  • Hardvermegoldások tervezése és építése
  • Az alapvető konfigurációs automatizálás megszervezése és támogatása
  • Virtuális gépek és hosztok előkészítésének tervezése és automatizálása

  • Adatközpontok tervezése és megvalósítása
  • Linux rendszeradminisztráció
  • Automatizálási forgatókönyvek
  • Tárhely rendszerek ismerete
  • Hálózatok tervezésének és megvalósításának ismerete
  • Biztonság

Az OpenShift platform telepítése és kezelése

Feladatok:

  • A klaszter telepítésének végrehajtása
  • Infrastruktúra-szolgáltatások kezelése
  • A platform skálázásának kezelése
  • Hitelesítés és engedélyezés a platform szintjén

  • Linux rendszeradminisztráció
  • Hálózati technológiák ismerete
  • Automatizálási forgatókönyvek (Ansible)
  • Tárhely rendszerek ismerete
  • Konténertechnológiák és architektúrák ismerete
  • A Kubernetes és OpenShift architektúrák ismerete
  • Platformok biztonsága
  • Monitorozási integráció

Bérlői környezetek előkészítése, az IT-kapacitások izolálása

Feladatok:

  • Felhasználók és csoportok létrehozása a platform keretein belül
  • Kvóták tervezése és kezelése
  • RBAC tervezése és megvalósítása

  • A Kubernetes és OpenShift architektúrák ismerete
  • Konténertechnológiák és architektúrák ismerete
  • Automatizálási forgatókönyvek
  • Jó ismeretek a projektek, kvóták, szerepkötések és a tervezők munkája terén

Alapképek készítése és kezelése

Feladatok:

  • Képkészítési munkafolyamat kidolgozása
  • Szabványoknak megfelelő képek fejlesztése

  • Linux rendszeradminisztráció
  • Automatizálási forgatókönyvek
  • Az alkalmazások és middleware runtime-komponenseinek konfigurálása
  • Konténerarchitektúrák ismerete
  • Alkalmazásépítési keretrendszerek
  • Jó ismeretek a képek, imagestream-ek és sablonok terén

Telepítési és üzemeltetési folyamatok tervezése és kezelése

Feladatok:

  • Telepítési szabványok tervezése és dokumentálása
  • Rövid útmutatók és sablonok kidolgozása
  • Fejlesztők képzése

  • Forráskód kezelése
  • Alkalmazások tervezése és megvalósítása
  • Automatizálási forgatókönyvek
  • Automatizált tesztelés
  • Kódminőségi tesztelés
  • Konténerarchitektúrák ismerete
  • Immutable infrastruktúrák ismerete
  • Biztonság – a csőfázisokhoz való hozzáférés kezelése, munkafolyamatok jóváhagyása stb.
  • Jó ismeretek az OpenShift sablonokról, buildconfig, deploymentconfig, szolgáltatások, útvonalak, configmap-ek tekintetében

Alkalmazások és tesztek fejlesztése

Feladatok:

  • Alkalmazások kódolása
  • Automatizált tesztek kidolgozása
  • Tesztleállásokra való reagálás a telepítési cső során
  • Alkalmazásmeghibásodásokra való reagálás
  • Felhasználói elfogadó tesztelés

  • Alkalmazások tervezése és megvalósítása
  • Automatizált tesztelés
  • Forráskód kezelése
  • Alkalmazások figyelése
  • Felhőalapú (cloud native) alkalmazások architektúráinak ismerete

Működési figyelés és alkalmazáskezelés

Feladatok:

  • Alkalmazások tervezése teljesítmény szempontjából
  • Folyamatban lévő alkalmazások figyelése
  • Alkalmazások skálázása (vagy automatikus skálázás)
  • Alkalmazások elérhetőségének kezelése
  • Kérési kvóták és erőforráskezelési limitációk
  • Teljesítmény- és IT-kapacitás tesztelése

  • Alkalmazások teljesítményének tervezése és megvalósítása
  • Alkalmazások teljesítményének figyelése
  • Teljesítményt és terhelést tesztelni

Felhasználói elfogadó tesztelés

Feladatok:

  • UI tesztelés (tervezés és felhasználói interakciók)
  • Automatizált tesztek kidolgozása

  • Felhasználói felületek tervezése és ellenőrzése
  • Automatizált tesztelési sablonok
  • Tesztelési keretrendszerek
  • Alkalmazás tervezési sablonok

Új szerepkörök, amelyek az IT-szervezetekben merülnek fel az OpenShiftre való áttérés során

A DevOps-orientált szervezeti modellre való áttérés során a szerepkörök specializációjának száma általában csökken, míg a keresztfunkcionális csapatok és szerepkörök száma nő a hatékony együttműködés maximalizálása érdekében. Íme, hogyan nézhet ki a fő pozíciók listája az OpenShiftet használó IT-szervezetekben:

  • Alkalmazások üzemeltetési mérnöke (Application Operations Engineer) VAGY Helyi megbízhatósági mérnök (Site Reliability Engineer). Ezt a pozíciót korábban "Alkalmazásszerver-adminisztrátornak" is nevezték.
  • Alkalmazásfejlesztő / szoftverfejlesztő / programozó mérnök.
  • Cluster- vagy alkalmazásplatform-adminisztrátor. Régebben ezt a szerepet "Rendszergazdának" vagy "Linux-platform adminisztrátornak" is nevezték.
  • Szoftverkiadás-menedzser (Release Manager)/Építési mérnök (Build Engineer).

RACI szerepkörök és feladatok mátrixa

Végül áttérünk a fent tárgyalt pozíciók és feladatok összepárosítására, hogy általános képet kapjunk arról, hogyan kell kinéznie egy DevOps-t végrehajtó szervezet struktúrájának az OpenShift platformon. A kezdetben megadott szerepeket a régi, hagyományos szerkezeti ágak különböző részei tölthetik be. Idővel azonban konszolidáció történik, és új csapatok alakulnak az alkalmazások köré, amelyek a legtöbb vagy akár az összes alább megadott feladatot magukhoz vonják.

Feladatok
Szerepek

Alkalmazásmérnök / Webhelymegbízhatósági mérnök
Alkalmazásfejlesztő / Szoftverfejlesztő / Programozó mérnök
Cluster- vagy alkalmazásplatform-adminisztrátor
Szoftverkiadás-menedzser / Építési mérnök

IT-infrastruktúrák automatizálása és előkészítése (provisioning)
I
I
R/A
C

Az OpenShift platform telepítése és kezelése
C
I
R/A
C

Telepítési és üzemeltetési folyamatok tervezése és kezelése
C
C
I
R/A

Ügyféltájékoztató környezetek (tenant provisioning), izoláció és IT-erőforrások kezelése
C
I
R/A
I

Alapképek készítése és kezelése
R
C
R/A
C

Alkalmazások és tesztek fejlesztése
C
R/A
I
I

Működési figyelés és alkalmazáskezelés
R/A
C
C
I

Felhasználói elfogadó tesztelés
C
R
I
I

Jelölések a RACI mátrixban
Forrás: Wikipedia

  • Felelős – A végrehajtó – az a személy, aki szükséges lépéseket tesz a feladat elvégzésére.
  • Elszámoltatható – Felelős – az a munkavállaló, aki végső soron felelős a feladat helyes és gondos elvégzéséért vagy az eredmény eléréséért; és egyedül ő jogosult a végrehajtókkal való munka delegálására.
  • Konzultált – Tanácsadók – általában az adott szakterület szakértői, akinek a véleményét kérik; velük kétirányú kommunikációt tartanak fenn.
  • Informált – Az informáltak – olyan emberek, akiket a fejleményekről tájékoztatnak (és néha csak a feladat befejezése vagy az eredmény elérése után); ők egyirányú tájékoztatást kapnak.

Hogyan működik a csapatok együttműködése a DevOps szervezetekben

A hagyományos erőforrás-beszerzési séma általában az erőforrás-igénylések ciklusa, amelyeket több csapat teljesít. Végül minden szükséges erőforrás a kérvényező fél által megerősítve kerül megadásra. Gyakran ezek a folyamatok részben vagy akár teljesen manuálisan zajlanak, és gyakori, számos interakciót igényelnek a csapatok között minden egyes kérés sikeres feldolgozásához.

1. ábra. Hagyományos IT-szervezet

Hogyan változtatja meg az OpenShift az IT-szervezet struktúráját. Az organizációs modellek fejlődése a PaaS-ra való áttérés során

A fenti diagram bemutatja a tipikus kapcsolatokat a csapatok között a hagyományos IT-szervezetben. Ebben a séma keretein belül az egyes csapatok a szükséges feladatok elvégzésére kérik más csapatokat, többé-kevésbé formalizált kommunikációs eszközöket használva, mint például a jegyrendszer vagy az e-mail. Ezt követően ezek a kérelmek sorba kerülnek, és várakoznak a sorukra, amelynek hosszas várakozása gyakran a kapcsolatok romlásához, vagy akár kiéleződéséhez is vezet a csapatok között. A feszültséget tovább fokozza, hogy a különböző csapatok tagjai ritkán találkoznak személyesen, és általában csak a legszükségesebb információkat osztják meg.

2. ábra. DevOps IT-szervezet

Hogyan változtatja meg az OpenShift az IT-szervezet struktúráját. Az organizációs modellek fejlődése a PaaS-ra való áttérés során

Ez a diagram bemutatja, hogyan működik az együttműködés a DevOps szervezetben. Itt ugyanazok a csapatok az előző diagramról lemondtak a hatékonytalan kommunikációkról, amelyek fokozzák az elkülönültséget, és helyettük személyes kapcsolatokra váltottak, így folyamatos interakciós csatornákat hoztak létre a csapatok között. Ezek a csatornák segítik a hibrid készségek kialakulását, amely segít a munkavállalóknak jobban megérteni és képviselni a képviselt csapatok szükségleteit, problémáit és lehetőségeit. A csapatok lehetőséget adnak egymásnak a szükséges feladatok végrehajtására automatizált önkiszolgáló portálokon keresztül, ahelyett, hogy manuálisan dolgoznának fel a másik csapat által kért változtatásokat, ahogyan azt korábban tették. És a kapcsolatoknak köszönhetően ezek az önkiszolgáló rendszerek gyorsan alkalmazkodni tudnak a létrehozott csapatok igényeihez. A még nagyobb kölcsönös megértés és tudásmegosztás érdekében a csapatok tagjai időnként szerepcseréket végeznek, hogy tapasztalatot szerezzenek különböző csapatokkal való együttműködésben, jobban átláthassák az általuk kezelt IT-rendszerek összképét, ezzel növelve a keresztfunkcionalitásukat és hasznosságukat.

Összefoglalva

Ebben a bejegyzésben arról írtunk, hogy a PaaS megoldások bevezetése hogyan ösztönözheti a szervezeteket a DevOps módszertan alkalmazására. Ennek folyamatában a hagyományos szerepek és feladatok átalakuláson mennek keresztül. Ezért felsoroltuk a fő IT-feladatokat, amelyek a szervezetekben felmerülnek az OpenShift bevezetésével, valamint a végrehajtásukhoz szükséges készségeket. Bemutattuk a főbb szervezeti szerepeket is, amelyek a cross-funkcionális DevOps csapatok kiépítésekor merülnek fel, valamint a RACI mátrixot, amely összekapcsolja az új szerepeket az új feladatokkal. Végül pedig arról írtunk, hogy az OpenShift platform és a hozzá kapcsolódó DevOps módszertan hogyan alakíthatja át a szervezet struktúráját a hagyományos hierarchiákról és ügykezelő rendszerekről a cross-funkcionális csapatokra, ahol magasabb szintű személyes kommunikáció zajlik.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster