DevOps-eljárások megismerása
A DevOps alkalmazás-életciklusba való beépítése több DevOps-gyakorlat implementálását is magában foglalja. A DevOps előnyeinek maximalizálása nagymértékben függ attól, hogy milyen mértékben sikeres ez a megvalósítás. A mintaforgatókönyvünkben a szervezetnek jelentős változásokat kellene bevezetnie működési modelljében, kezdve a fejlesztési és üzemeltetési csapatok közötti együttműködés és kommunikáció előmozdításával, valamint a verziókövetésbe, az automatizálásba, a folyamatos integrációba, a folyamatos tesztelésbe, a folyamatos teljesítésbe és a folyamatos monitorozásba való befektetéssel. Ebben a leckében megismerkedhet ezekkel a gyakorlatokkal.
Verziókövetés
A verziókövetés a kódfrissítések kezelésének gyakorlata a kijelölt adattárakban való tárolással, a változatok nyomon követésével és a változáselőzmények karbantartásával. Ez megkönnyíti a kód felülvizsgálatát és a programozási hibák utáni helyreállítást. Emellett a verziókövetési rendszerek (például a Git) lehetővé teszik a kódkészítésben való együttműködést több fejlesztő között, például adattár-klónozással, lekéréses kérelmekkel, kódmódosítás-egyesítésekkel, ütközésfeloldással és visszaállítások támogatásával. A verziókövetés használata alapvető DevOps-gyakorlat. A verziókövetés az olyan eljárások előfeltétele is, mint a folyamatos integráció és az infrastruktúra mint kód.
Folyamatos integráció (CI) és folyamatos tesztelés
A DevOps egyik alapvető gyakorlata az automatizálás. Ebben az esetben az automatizálás a kódmódosítások egyesítésének, tesztelésének és az eredményül kapott összetevők létrehozásának folyamatára vonatkozik az alkalmazás életciklusának lehető legkorábbi szakaszában. A szándék az, hogy a fejlesztési fázisban esetleges problémákat észleljen, mivel ez minimalizálja a javításukhoz szükséges erőfeszítéseket és költségeket. Az automatizált tesztek ellenőrzik, hogy a kódmódosítások nem vezettek-e be hibákat vagy regressziós problémákat.
Folyamatos kézbesítés (CD)
A folyamatos teljesítés automatizálja a CI részeként létrehozott összetevők üzembe helyezésének folyamatát, így azok elérhetővé válnak a felhasználók számára. A CD automatizálja ezeknek az összetevőknek a előrehaladását különböző környezeteken, például tesztelésen, előkészítésen és éles környezetben. A folyamatos integráció és a folyamatos teljesítés (CI/CD) egységes, egyszerűsített, végpontok közötti szoftverfejlesztési és -kézbesítési folyamatot alkot.
Folyamatos monitorozás
A folyamatos monitorozás automatikus valós idejű betekintést biztosít a teljes alkalmazásverem állapotába és teljesítményébe, beleértve annak mögöttes infrastruktúráját is. Ez a telemetriai adatok gyűjtésével érhető el, beleértve a naplókat és metrikákat, valamint testre szabható riasztásokat, amelyek értesítéseket küldenek a rendellenes viselkedésről, megkönnyítve a gyors szervizelési műveleteket.
Folyamatos biztonság (DevSecOps)
A biztonság a DevOps-alapú alkalmazás életciklusának minden fázisának alapvető része, ami a DevSecOps kifejezés létrehozásának oka. A DevSecOps a DevOps kiterjesztése, amelynek középpontjában a biztonsági eljárások integrálása áll az egyes fázisokban – a tervezéstől a kódoláson, a tesztelésen és az üzembe helyezésen át a műveletekig.
Kódként kezelt infrastruktúra (IaC)
Az infrastruktúra mint kód a modern szoftverfejlesztési és üzemeltetési eljárások szerves részét képezi. Ez magában foglalja a programozási módszerek használatát az infrastruktúra-szolgáltatások kiépítéséhez és kezeléséhez. Az IaC kóddal határozza meg az infrastruktúra összetevőit, például a kiszolgálókat, a hálózati eszközöket és az adatbázisokat. Az ilyen kód általában egy VCS-ben található, amely kezeli és nyomon követi az infrastruktúra-konfigurációk változásait. A kód használata megkönnyíti az infrastruktúra automatikus kiépítését és konfigurálását, fokozza a hatékonyságot, a konzisztenciát és a méretezhetőséget. Az IaC emellett (és gyakran) integrálható a CI/CD-vel, és átfogó szoftverkézbesítési stratégiát eredményez az infrastruktúra kiépítésének kombinálásával, az alkalmazások buildelésével, tesztelésével és üzembe helyezésével egy folyamatos, teljesen automatizált sorozatban.