DevOps – Developer and Operations

DevOps – mint a folyamatos szoftverkibocsájtás egyik módszere

Egyre gyakrabban találkozok a DevOps kifejezéssel, melyről sokan azt gondolják, hogy csak egy újabb divatos szó, azonban ennél jóval többről van szó.

DevOps ábra

Miről is szól a DevOps?

Egy csapat, szervezet munkamódszeréről, működési kultúrájáról, közös vállalkozásáról, melynek célja a szoftverfejlesztési folyamatok hatékonyságának javítása a forráskód-kezelő rendszerek bevezetésétől, használatától kezdve az automatizált fordítás, tesztelés, telepítési lépéseken át, a fejlesztői, tesztelői, éles infrastruktúra környezetek és a kiadott szoftververzió üzemeltetésig bezárólag.

Maga a DevOps szó a Developer és Operations szavak rövidítéséből áll, ezzel is jelezve célját, ami egyrészt felhívás  a fejlesztő, tesztelő és üzemeltető csapatok szorosabb együttműködésére, másrészt az üzemeltető csapatok bevonására az agilis iterációs folyamatokba.

Hasonlóan az Agilis módszertanhoz a DevOps alkalmazására sincs recept, minden szervezetben más és más módon, testre-szabottan érdemes a DevOps folyamatokat és a folyamat megvalósulását támogató szolgáltatásokat, eszközöket használatba venni.

Mi a DevOps célja?

Célja továbbá és egyben sikeres alkalmazásának mérőszámai a verziókiadások gyakoriságának növelése, a felmerülő üzleti igények szállítási idejének, a felbukkanó szoftverhibák számának, valamit a hibák észlelésétől az elhárításig tartó időtartam csökkentése.

DevOps folyamat ábra

Szoftver Feature – 2 nap alatt?

A BerenyiSoft partnerei sokszor csodálkoznak azon, hogyan tudunk 2 nap alatt új szoftver verziót kiadni. Ahhoz, hogy ez a folyamat működjön, nagyon sok mindenre volt szükség, ezek közül egy párat felsorolnék a teljesség igénye nélkül:

  • Megfelelő minőséget állítunk elő?

    A szoftver implementálása előtt minden esetben feltesszük magunknak a kérdést

  • A tesztelés a fejlesztőknél kezdődik

    50% forráskód mellé 50% automatizált teszteket készítünk

  • Beszédes forráskódot írunk

    A forráskódnak segítenie kell a fejlesztőcsapatok kommunikációját

  • az egyes funkciók implementálása előtt demo forgatókönyveket készítünk

    azaz meghatározzuk azokat a szoftveres szituációkat, amelyek a szoftver működése során előfordulhatnak és definiáljuk az egyes szituációkra a szoftver helyes működését

DevOps fejlesztés folyamat állapotai

  1. Várakozik
  2. Felmérés
  3. Fejlesztés
  4. Tesztelésre vár
  5. Tesztelés – javítás
  6. Telepítésre vár
  7. Leszállítva

DevOps szoftver rétegei

  • Felhasználói felület
  • Felhasználói felület logikája
  • Üzleti homlokzat
  • Üzleti logika
  • Adatelemzés
  • Adatbázis

Mikor nem tud működni a DevOps?

  • Amikor a cégvezetés nem áldoz kellő pénzt a fejlesztésre, üzemeltetésre
  • Amikor a cég felső vezetése nincs tisztában a műszaki adósságokkal és egy “bottal sem piszkálnám meg” kódra azt mondja, hogy kiváló minőségű kód
  • Amikor a fejlesztők nem készítenek automatizált teszteket és nem végeznek napi szinten kódvizsgálatot és még pluszban el vannak ájulva saját forráskódjuktól

Egy nagyon hasznos videó a témával kapcsolatban Árvai Zolitól…