DevOps
A DevOps a szoftverfejlesztők és a szoftvereket üzemeltetők szoros együttműködésén alapuló gyakorlat. Egyesíti a szoftverfejlesztést (Development), és az üzemeltetést (Operations), ezzel meggyorsítva és hatékonyabbá téve a munkát.
A DevOps rendszerében a fejlesztői csapat a ciklus elejétől fogva eszközökkel segíti az üzemeltetést (deploy scriptek, automatikus diagnosztikai eszközök, terhelés-, és performanciatesztelési eszközök formájában), mely a ciklus előtt, közben, és után is hasznosítható visszacsatolásokat küld. Ez lehetővé teszi, hogy a termékek jobbak és megbízhatóbbak legyenek.
A rövid ciklusok felbukkanásával és az egyre markánsabb időbeli megkötésekkel a fejlesztés, a QA, és az üzemeltetés ilyen merev felosztása leginkább csak gátolja a gyorsaságot; a DevOps ezeknek a nehézségeknek a megoldására tesz kísérletet (de legalábbis könnyebben kezelhetővé teszi). Ennek egyik fő sajátsága, hogy minden felhasználó elsősorban a végfelhasználói élményre fókuszál, és arra, hogy az az üzleti igényeket milyen mértékben befolyásolja. A DevOps emiatt nem egy új eszközkészletnek, sokkal inkább egy új folyamatnak tekinthető. A kód az egész úton látható a fejlesztő számára, tehát a fejlesztők képesek végig szemmel tartani a saját kódjukat a tesztelésen át az élesítésig. A modellben minden szcenárió valós. Naponta akár többször élesíteni lehet egy új, tesztelt verziót, ez akár egy gombos élesítéssel is megtehető. Ezt a lépést az üzleti oldal is megteheti, nincs szükség szoftverfejlesztő szakember közbenjárására. Az egy gombos élesítéshez egyszerű visszaállítás (rollback) kell.
A DevOps gyakorlat rendszeres használata során a fejlesztő azt tapasztalja, hogy csapatának többi tagjával gyakoribb interakcióban kell lennie. A fejlesztők feladata, hogy hatékonyan lépjenek fel a hibákkal szemben, ehhez menedzseri támogatásra van szükség.
Az elmúlt években számos specializált leágazása lett a DevOps kultúrának, ilyen a modern fejlesztő környezetek biztonságával foglalkozó DevSecOps, illetve a FinOps, vagyis a cloud költségszempontú menedzselése.
DevOps eszközök
[szerkesztés]- Folyamatos integrációs eszközök: Jenkins, Travis, Bamboo, TeamCity
- Konfigurációkezelő eszközök: Puppet, Ansible, Saltstack
- Konténerkezelő eszközök: Kubernetes, OpenShift
- Monitorozó, virtualizációs és konténerizációs eszközök: AWS, OpenStack, Docker, Sensu, New Relic, Splunk
- Forráskód-kezelő eszközök: Jira, Git
- Teszteszközök: JUnit, Selenium, SoapUI, Zephyr
További információk
[szerkesztés]- Mi az a DevOps, ithub.hu
- Mi az a DevOps Archiválva 2020. szeptember 25-i dátummal a Wayback Machine-ben, shiwaforce.com