DevOps – Bluebird

Réfi Balázs

2021. május 16.


Mit jelent a DevOps? Milyen feladatai vannak egy DevOps szakembernek és mennyit lehet keresni ebben a munkakörben?

More...

Saját humoros oldala van a Redditen, a Pinteresten és a Tumblr-ön, honlapja pedig a legkülönfélébb témákat dolgozza fel: a DevOps felrázta az IT-világot. Hogy mi ez, miért fontos? Milyen tendenciákra számíthatunk a jövőben, és az ezt használó IT-s mitől különleges? Kiderül az alábbi posztunkból.

DevOps jelentése

Napról napra egyre több DevOps (engineer) álláslehetőséggel találkozhatunk, s mivel munkájuk nagy hatással bír a munkahelyeken, hatalmas a kereslet rájuk. Egy 2019-es felmérés szerint az ezer főnél nagyobb szervezetek 85%-a már bevezette a DevOps-ot, vagy a következő két évben tervezi.

Első, 2009-es említése óta azonban nem sikerült egyértelmű, mindenki által elfogadott definícióval leírni, mi az a DevOps.

DevOps jelentése: A leggyakrabban olyan szoftverfejlesztési gyakorlatok összességét értjük alatta, melyben egyesül a szoftverfejlesztés (Dev) és az üzemeltetés (Ops). A legkifejezőbben talán ez a fogalom érzékelteti: eszerint a DevOps az a gyakorlat, amelyben az üzemeltetési és fejlesztő mérnökök együtt vesznek részt a teljes szolgáltatási életciklusban – a tervezéstől a fejlesztési folyamaton keresztül a gyártástámogatásig.

Azaz az üzemeltetési, a fejlesztő és a tesztelő csapatok együttműködése kritikus lehet, így a vállalati kultúrában is változást hozhat. A cél a munka kiszámíthatóságának, hatékonyságának, biztonságának és fenntarthatóságának maximalizálása, ezt pedig gyakran az automatizálás támogatja.

A DevOps koncepció lényege az, hogy a fejlesztési (beleértendő a tesztelési) és üzemeltetési terület integrációjával, hatékonyabb együttműködésével és rövidebb fejlesztési szakaszaival hamarabb és jobb minőségű szoftvertermékek készülhessenek.

DevOps = Development + Quality Assurance (QA) + Operations

Korábban a fejlesztők és üzemeltetők egymástól elkülönülve dolgoztak. Közöttük az interface jó esetben egy üzemeltetési kézikönyv volt. A fejlesztés befejezését követően átadták a szoftverfejlesztők az elkészült rendszert. Ezt követően rendelkezésre álltak, hogy a felmerülő hibákat javítani tudják.

DevOps munkakör - Bluebird blog

Napjainkra az informatika a vállalatok életében stratégiai fontossággal bír. Éppen ezért már nem elegendő, hogy egy alkalmazás elkészüljön, vagy egy szolgáltatás elérhető legyen. A teljes folyamatnak gyorsnak kell lennie és folyamatosan igazodnia kell az ügyfelek igényeihez. Nincs idő a hagyományos szoftverfejlesztési módszertanokra, hamar kell az eredmény. A fejlesztési ciklus rövidebb szakaszokra bontásával garantálható a folyamatos teljesítés. Ennek érdekében viszont új szemléletre, új folyamatokra, új eszközökre és új megközelítésre van szükség. Ezért született a DevOps.

Mit várunk ettől az új szemlélettől?

  • Lényegesen rövidebb idő teljen el a piacra kerülésig!
  • Megnövekedett vevői elégedettséget tapasztaljunk!
  • Jobb legyen a termékminőség!
  • Megbízhatóbb legyen a termék (alacsonyabb hibaarány),
  • Növekedjen a termelékenység és a hatékonyság!

A szakirodalomban azonban nem áll rendelkezésre bizonyíték a DevOps hatékonyságáról. Az F5 Networks kutatása például az alábbiakra világít rá. 

20%

5 IT-szakember közül csupán 1 gondolta úgy, hogy a DevOps stratégiai hatással volt a cégére, annak ellenére

17%

Ugyanezen tanulmány megállapította, hogy a megkérdezettek mindössze 17%-a vélte kulcsfontosságúnak a DevOps-ot, jóval az Saas (42%), a big data (41%) és a nyilvános felhő IaaS (39%) alatt.

A jövő pedig a DevSecOps, hiszen minél többet automatizálunk, annál automatikusabban jöhetnek a problémák, azaz egyre inkább figyelni kell a biztonságra is. Nagyobb fókusz lesz az IoT-n és a felhőalapú számítástechnikán is.

Mik a DevOps legfőbb előnyei?

A DevOps megszünteti a fejlesztők és üzemeltetők közötti elszigeteltséget, hatékonyabb együttműködést hoz létre.

A fejlesztés előrehaladása kis, belátható lépésekben történik. Így az eredménytermék hamar elkészül. A szolgáltatás hamar igénybe vehető és gyorsan elérhető a felhasználók számára. Ez azonnali reagálási lehetőséget biztosít a vállalat számára.

A csapatok szoros közös munkavégzése miatt javul a morál, közös célokért egy csapaton belül dolgoznak a projektben résztvevők.

Folyamatos integráció (CI)

A szoftverfejlesztés során rendszeres a kódok commitálása, buildelése és tesztelése. A fejlesztők az általuk írt új vagy módosított kódot naponta vagy naponta többször feltöltik, így kvázi folyamatos kód integráció alakul ki.

A feltöltött kódok azonnal elérhetővé válnak a csapat többi tagjainak számára. A CI másik előnye az, hogy a feltöltött kódok tesztelése folyamatos. Nem egy hosszabb fejlesztési ciklust követően derül ki, hogy valami hiba van a rendszerben, hanem a fejlesztés során.

Folyamatos teljesítés (CD)

Az új verziók élesbe állítása gyakori és automatikus. Ezáltal a vállalat gyorsan és hatékonyan képes a piaci változásokra vagy igényekre reagálni.

Másrészt a rendszer felhasználói kvázi folyamatosan tudnak visszajelzést adni a legújabb verzióról, ezáltal hamar javítható annak minősége vagy módosítható a program. Könnyen belátható, hogy ennek eredményeként a felhasználók számára jobban használható, az ő igényeiket jobban kiszolgáló alkalmazás születhet.

A CI/CD további előnye, hogy ügyfél és fejlesztőcsapat között szoros és hatékony együttműködés alakulhat ki. Ahol pedig a gyakori interakciók, gyors előremenetel mindennapossá válik, ott csodák történhetnek, mely érdeke a megrendelőnek és szállítónak egyaránt! 

Microservice szolgáltatások

Microservice szolgáltatásoknál minden szolgáltatás önmagában működik, jól definiált interfészen keresztül kommunikál. Egy általában microservice egyetlen cél megvalósításáért jön létre, ezért elkészítése és beüzemelése viszonylag gyors.

Előnye a monolitikus alkalmazásokkal szemben, hogy rugalmas, hiszen a microservice kicsi (legalábbis kisebb), így könnyebben és gyorsabban módosítható. Vonatkozik ez a kódra, de még a felhasznált szoftverkomponensekre is.

A kis méret miatt nagyobb a megbízhatósága, mint a monolitikus alkalmazásoknak, nagyobb a fejlesztési sebessége.

Monitorozás és naplózás

Az alkalmazások és infrastuktúra által készített adatok és naplók elkészítése megtörténik, továbbá ezek monitorozása a normál folyamatok részét képezik.

Infrastuktúra, mint kód

A fejlesztés során az infrastruktúra definíciói tárolhatók, verziókezeléssel visszaállíthatók, ezzel komoly biztonságot adnak a verzióváltozásokhoz és esetleges visszaállításokhoz.

Mik a DevOps toolok?

A toolok lehetővé teszik a megbízhatóság növekedését, hiszen a gyakori szállítás/bevezetés miatt kiforrott az élesbe állás. Nincsenek meglepetések, vagy jóval kevesebb van, hiszen a deployment folyamat nem egy egyszeri lépés (ahol fingers crossed), hanem rendszeres.

Release toolok: Jenkins, Travis, Bamboo, TeamCity.

Konfiguráció management toolok: Puppet, Ansible, Saltstack.

Kontének orchesztrációs toolok: Kubernetes, Openshift.

Monitoring, virtualizációs és konténerizációs toolok: AWS, Openstack, Docker, Sensu, New Relic, Spunk.

Coding toolok: Jira, Git.

Testing toolok: JUnit, Selenium, SoapUI, Zephyr.

DevOps eszközök

Source: https://medium.com/cuelogic-technologies

Legfontosabb feladatok

A DevOps nem szükségszerűen egyetlen IT szakembert jelent, hanem a fejlesztő-, és üzemeltetési csapat által használt fejlesztési kultúrát, folyamatokat.

Ha munkakör szerűen nézzük, akkor a DevOps szakembernek hogy kiváló kommunikációs képességekkel kell rendelkeznie, mivel sokkal gyakoribb interakció van a csapatok és az egyének között, mint másfajta IT-s munkánál.

Emellett szüksége lesz széleskörű tudásra és technológiai ismeretekre (különféle verziókezelők, cloud, monitoring, tesztelés, stb.), fejlesztői tudásra, automatizációs ismeretekre, hálózati ismeretekre, és egyre inkább IT security ismeretekre is.

Ismerni kell a monitoring toolokat, virtualizációs és konténerizációs toolokat, release toolokat, testing toolokat és szükséges korábbi DevOps projekt tapasztalat. Többnyire elengedhetetlen az AWS / Azure / Google Cloud ismeret és tapasztalat.

DevOps tanúsítványok

DevOps tanúsítványok - Bluebird blog

Docker Certified Associate Certification

A Docker a DevOpsban szinte megkerülhetetlenné vált. A szakemberekkel szemben elvárás, hogy képesek legyenek a Docker konténerek és image-ek kezelésére. A Docker segít több alkalmazás futtatásában ugyanazon a megosztott operációs rendszeren. Ez azt jelenti, hogy sokkal hatékonyabbak, mint a virtuális gépek, mivel egyetlen hardvert sem kell virtualizálni. 

DevOps tanúsítványok - Bluebird blog

Microsoft Azure DevOps Engineer Expert

A tanúsítvány nem más, mint a Microsoft DevOps vizsgája, természetesen az Azure platformon. A vizsga magába foglalja a fejlesztési folyamatok megvalósítását és kezelését, a folyamatos integráció (CI) és folyamatos teljesítés (CD) ismereteit, továbbá a DevOps stratégia tervezését. 

DevOps tanúsítványok - Bluebird blog

AWS Certified DevOps Engineer Certification

Az Amazon Web Services (AWS) DevOps vizsga olyan fontos gyakorlatokra összpontosít, mint a biztonsági ellenőrzések, a monitoring és az AWS naplózási rendszerei. A cél olyan rendszerek magas elérhetőségű, skálázható rendszerek megtervezése, amelyek könnyen méretezhetők és képesek az öngyógyításra is AWS platformon.

DevOps tanúsítványok - Bluebird blog

Google Cloud Platform - Professional Cloud DevOps Engineer

A Google Google Cloud Platformról szóló DevOps vizsgája a CI/CD pipeline-ok tervezése és implementálása, szolgáltatás teljesítmény optimalizáció, incidenskezelés és monitoring stratégiák alkalmazása köré épül. Természetesen ez esetben a Google Cloud Platformon.

DevOps tanúsítványok - Bluebird blog

Kubernetes Administrator Certification

A Certified Kubernetes Administrator vizsgát a Cloud Native Computing Foundation tervezte. Fő témája a Kubernetes cluster kezelése és kialakítása.

A vizsga az alábbi elemekből áll:

Certified Kubernetes Administrator exam - Bluebird blog

Aktuálisan elérhető fizetések

Adatok aktualitása: 2020. november (Forrás: Bluebird IT Salary Guide)

DevOps szakember bruttó bérek tapasztalati szint szerint:

  • Junior: 650.000 – 800.000 HUF
  • Tapasztalt: 800.000 – 1.050.000 HUF
  • Senior: 1.050.000 – 1.200.000 HUF
DevOps szakemberek a Bluebirdtől - IT Contracting
DevOps szakemberek a Bluebirdtől - IT Recruitment
IT állások és IT projektek a Bluebirdnél

Írj nekünk!