Ki a DevOps mérnök, mit csinál, mennyit keres és hogyan válhat azzá

A DevOps mérnökei multidiszciplináris szakemberek, akik tudják, hogyan automatizálják a folyamatokat, és ismerik a fejlesztők, minőségbiztosítási és menedzserek munkáját. Tudják, hogyan kell programozni, gyorsan elsajátítják az összetett eszközöket, és nem esnek vesztésre, ha ismeretlen feladattal szembesülnek. Kevés DevOps mérnök van - hajlandóak 200-300 ezer rubelt fizetni nekik, de még mindig sok az üresedés.

Dmitry Kuzmin elmagyarázza, hogy pontosan mit csinál a DevOps, és mit kell tanulnia egy ilyen pozícióra való jelentkezéshez. Bónusz: fontos linkek könyvekhez, videókhoz, csatornákhoz és szakmai közösséghez.

Mit csinál egy DevOps mérnök?

DevOps helyzetben fontos, hogy ne keverjük össze a kifejezéseket. A helyzet az, hogy a DevOps nem egy konkrét tevékenységi terület, hanem egy professzionális filozófia. Ez egy olyan módszertan, amely az automatizálás és a zökkenőmentesség révén segíti a fejlesztőket, tesztelőket és rendszergazdákat abban, hogy gyorsabban és hatékonyabban dolgozzanak.

Ennek megfelelően a DevOps mérnök olyan szakember, aki ezt a módszertant alkalmazza a munkafolyamatba:

  • A tervezési szakaszban egy DevOps mérnök segít eldönteni, hogy az alkalmazás milyen architektúrát használjon, hogyan skálázódik, és kiválasztja a hangszerelési rendszert.
  • Ezután szervereket állít be, automatikusan ellenőrzi és feltölti a kódot, és ellenőrzi a környezetet.
  • Ezután automatizálja a tesztelést és megoldja a telepítési problémákat.
  • A kiadás után fontos visszajelzést gyűjteni a felhasználóktól és fejlesztéseket végrehajtani. A DevOps gondoskodik arról, hogy a felhasználók ne vegyék észre ezeket a fejlesztéseket, és a frissítési folyamat folyamatos legyen.
  • Ugyanakkor több tucat olyan problémát old meg, amelyek segítik a fejlesztők, minőségbiztosítási, rendszergazdák és vezetők munkarendszerének fejlesztését.

Minden, ami fent van írva, az ideálishoz közeli projektekben történik. A való világban el kell indítani egy olyan projektet, ahol a tervezés elmaradt, az architektúra rossz volt, és amikor az összes projekt leállt, akkor kezdett el gondolkodni az automatizáláson. És mindezen problémák megértése, megoldása és mindennek a működése a DevOps szakember kulcsfontosságú készsége.

Zavar van a tehetségpiacon. Előfordul, hogy egy vállalkozás DevOps-mérnököket keres rendszermérnök, építőmérnök vagy valaki más pozícióra. A felelősség is változik a cég méretétől és irányától függően - hol tanácsadásra keresnek embert, hol mindent automatizálnak, hol pedig egy programozni tudó rendszergazda haladó funkcióit kell ellátni.

Amit el kell kezdeni a szakmában

A szakmába lépéshez előzetes felkészülés szükséges. Nem lesz képes egyszerűen a nulláról tanulni anélkül, hogy bármit is értene az informatikához, és továbbtanulhat a junior szintre. Szükséges műszaki háttér:

  • Ideális, ha hat hónapig vagy tovább dolgozik rendszergazdaként, üzemeltetési vagy tesztelési szakemberként. Vagy legalább legyen elképzelése arról, hogyan indulnak el az alkalmazások, milyen környezetben fejlődhetnek, és mit tegyünk, ha hibát látunk. Ha nincs munkatapasztalata, végezzen el bármilyen Linux-adminisztrációs tanfolyamot, és ismételje meg mindazt, ami az otthoni gépén történik.
  • Ismerje meg a hálózati technológiák működését – tanulja meg a helyi és nagy kiterjedésű hálózatok telepítését, konfigurálását és kezelését.
  • Nézze meg, hogyan és milyen programozás működik – írjon néhány szkriptet Pythonban vagy Goban, próbálja megérteni az OOP (Object-Oriented Programming) alapelveit, olvassa el az általános termékfejlesztési ciklust.
  • Hasznos lesz a műszaki angol nyelvtudás - nem kell szabad témákról kommunikálni, elég a dokumentáció és a felületek elolvasása.

Nem szükséges mindent részletesen tudni, a DevOps tanulásának megkezdéséhez elegendő egy minimális képzési szint. Ha ilyen technikai háttérrel rendelkezel, próbálj meg beiratkozni tanfolyamokra.

Amit a DevOpsnak tudnia kell

A jó DevOps mérnök multidiszciplináris szakember, nagyon széles látókörrel. A sikeres munkához egyszerre több informatikai területet is meg kell értenie.

tervezés

A DevOps egy szkriptet ír, amely segít a fejlesztőknek kód telepítésében a szerveren. Létrehoz egy programot, amely „menet közben” teszteli az adatbázisok válaszkészségét. Alkalmazást ír a verziókezeléshez. Végül egyszerűen vegye észre a potenciális fejlesztési problémát, amely megjelenhet a szerveren.

Egy erős DevOps szakember több automatizálásra alkalmas nyelvet ismer. Nem érti őket alaposan, de gyorsan tud írni egy kis programot, vagy elolvassa valaki más kódját. Ha még soha nem találkozott fejlesztéssel, kezdje a Pythonnal - egyszerű szintaxisa van, könnyű dolgozni a felhőtechnológiákkal, és rengeteg a dokumentáció és a könyvtár.

Operációs rendszer

Lehetetlen megismerni az egyes rendszerek egyes verzióinak minden képességét – több ezer órát is eltölthetne egy ilyen képzéssel, és semmi haszna nem lenne. Ehelyett egy jó DevOps megérti a bármely operációs rendszeren végzett munka általános elveit. Bár az üres álláshelyek említéseiből ítélve a többség ma már Linux alatt dolgozik.

Egy jó mérnök tisztában van azzal, hogy melyik rendszerben a legjobb egy projektet telepíteni, milyen eszközöket kell használni, és milyen lehetséges hibák jelentkezhetnek a megvalósítás vagy a működés során.

felhők

Felhőtechnológiai piac növekszik átlagosan évi 20-25% -kal - egy ilyen infrastruktúra lehetővé teszi a tesztelési kód műveleteinek automatizálását, az alkalmazások összeállítását az összetevőkből és a frissítések eljuttatását a felhasználókhoz. Egy jó DevOps megérti mind a teljesen felhőalapú, mind a hibrid megoldásokat.

A mérnökökre vonatkozó szabványos követelmények általában magukban foglalják a GCP-t, az AWS-t és az Azure-t.

Ez magában foglalja a CI/CD eszközökben való jártasságot is. Jellemzően a Jenkinst a folyamatos integrációra használják, de az analógokat érdemes kipróbálni. Sok ilyen van, például a Buddy, a TeamCity és a Gitlab CI. Hasznos lesz a Terraform tanulmányozása - ez egy deklaratív eszköz, amely segít távolról beállítani és konfigurálni az infrastruktúrát a felhőkben. ÉS Packer, amely az operációs rendszer lemezképeinek automatikus létrehozásához szükséges.

Hangszerelési rendszerek és mikroszolgáltatások

A mikroszolgáltatási architektúra számos előnnyel rendelkezik – stabilitás, gyors méretezés, egyszerűsítés és újrafelhasználás. A DevOps tisztában van a mikroszolgáltatások működésével, és képes előre jelezni a lehetséges problémákat.

Alaposan ismeri Dockert és Kubernetes-t. Megérti a konténerek működését, hogyan építsünk fel egy rendszert úgy, hogy egyeseket letilthass anélkül, hogy az a rendszer egészére nézve következményekkel járna. Például fel tud építeni egy Kubernetes-fürtöt az Ansible segítségével

Mit próbáljanak még ki a jövő DevOpjai?

A DevOps mérnökök számára hasznos eszközök listája végtelen. Vannak, akik a projektek összehangolásán dolgoznak, mások idejük nagy részét a telepítés és a tesztelés automatizálásával töltik, mások pedig a konfigurációkezelés hatékonyságát javítják. A folyamat során világossá válik, hogy hol kell ásni, és milyen projektek lesznek hasznosak.

Íme egy másik minimális minimum, ami segít az elején:

  • Ismerje meg a Git és a Github működését, ha még nem tette meg. Telepítse a GitLabot a szerverére.
  • Ismerkedjen meg a JSON és a YAML jelölőnyelvekkel.
  • Telepítsen és próbáljon meg dolgozni adatbázisokban – nem csak a MySQL-ben, hanem a NoSQL-ben is. Próbáld ki a MongoDB-t.
  • Ismerje meg, hogyan kezelheti egyszerre több szerver konfigurációját. Például az Ansible használatával.
  • Azonnal állítsa be a terhelésfigyelést és a naplókat. Próbáld ki a Prometheus, Grafana, Alertmanager kombinációt.
  • Keresse meg a legjobb megoldásokat a különböző nyelveken történő telepítéshez - csak meg kell ismerkednie, megvalósítania és megértenie őket egy képzési vagy munkaprojekt során.

Miért érdemes most elkezdeni a DevOps tanulását?

A DevOps mérnökök piacán munkaerőhiány van. Ezt feltételesen megerősíti a betöltetlen állások mennyisége és minősége:

  • Oroszországban csak a HeadHunteren több mint 2 ezer állás érhető el folyamatosan erre a kulcsszóra.
  • És mindössze 1 ember küldte el önéletrajzát.

Tekintettel arra, hogy az önéletrajz feladása nem jelent aktív álláskeresést, kiderül, hogy egy szakember számára két vagy akár három állás is van - ez a helyzet még a népszerű webfejlesztési piacon sem létezik. Adjon hozzá még több üres álláshelyet a Habr és a Telegram csatornákon - óriási a szakemberhiány.

Ki a DevOps mérnök, mit csinál, mennyit keres és hogyan válhat azzá
Ügyeljen a jelentkezők fizetési követelményeire

A DevOps nem kevésbé keresett a világon - ha az Egyesült Államokba vagy Európába költözik, akkor csak a portálon Glassdoor Több mint 34 ezer cég keres ilyen szakembereket. A gyakori elvárások közé tartozik az 1-3 év tapasztalat, a felhőkkel való munkavégzés képessége, valamint a tanácsadói funkcióktól való félelem.

Sokszor kevesebb a szabadúszó ajánlat – a DevOps mérnökei elsősorban munkatársakat és főállásokat keresnek.

Ki a DevOps mérnök, mit csinál, mennyit keres és hogyan válhat azzá
Megfelelő szabadúszó projektet találni nehéz, de lehetséges

Egy DevOps mérnök hagyományos karrierútja a következőképpen képzelhető el:

  • Hat hónaptól egy évig dolgozik rendszergazdaként egy kis informatikai cégnél. Ugyanakkor egy automatizálásra alkalmas nyelvet tanul.
  • Körülbelül hat hónapig intenzíven tanul kurzusokon.
  • Más munkahelyre költözik - egy felhőmegoldásokat értékesítő céghez, egy nagyvállalat fiókjához, nagy projektek fejlesztőinek. Egyszerűen fogalmazva, ahol folyamatos automatizálásra és megvalósításra van szükség. A kezdeti helyzetben körülbelül 100 ezer rubel.
  • Több éve aktívan dolgozik és tanul, jövedelmét többször is növelte.
  • Szakértővé válik a szakmai közösségben, és áttér a tanácsadásra. Vagy rendszertervezővé vagy informatikai igazgatóvá nő ki.

A DevOps nehéz. Egyszerre több szakma készségeit kell kombinálnia. Legyen olyan ember, aki készen áll a fejlesztésre, ahol más informatikusok nem is gondolnak semmi másra. Sokat fizetnek ezért, de nagy tudást is igényelnek.

Mennyit keresnek a DevOps-ok?

A 2019 második negyedévére vonatkozó adatok szerint a devops átlagos fizetése 90 és 160 ezer rubel között van. Vannak olcsóbb ajánlatok - többnyire 60-70 ezer.

Folyamatosan érkeznek akár 200 ezres ajánlatok, és vannak betöltetlen állások 330 ezer rubelig terjedő fizetéssel.

Ki a DevOps mérnök, mit csinál, mennyit keres és hogyan válhat azzá
Az üzemeltetési szakemberek közül a DevOps magasabb fizetést kap, mint mások. Forrás: Habr.Karrier

A DevOps mérnökökre, beleértve a kezdőket is, ma már nagy bankokban, vállalatokban, felhőszolgáltatásokban, kereskedési rendszerekben és más olyan szervezetekben van szükség, amelyeknek fontos az IT-megoldásaik karbantartása.

Egy 60-90 ezres fizetésű junior állásra kiváló jelölt lenne egy körülbelül egy éves gyakorlattal, szakirányú végzettséggel rendelkező kezdő rendszergazda.
 
Ki a DevOps mérnök, mit csinál, mennyit keres és hogyan válhat azzá
Nincsenek ilyen statisztikák, de úgy tűnik, hogy a Linuxban tapasztalattal rendelkezők többet fizetnek

Mit nézzen és olvasson, hogy fejlődjön a szakmájában

Ha bele szeretne merülni a DevOps világába, próbáljon ki több információforrást:

  • Cloud Native Computing Foundation [YouTube, ENG] – számos videó konferenciákról és oktatási webináriumokról.
  • DevOps csatorna [YouTube, RUS] – videóriportok az oroszországi DevOps professzionális konferenciáról.
  • A DevOps kézikönyv [book, RUS] az egyik legnépszerűbb könyv a DevOps filozófiájáról. A könyv tartalmazza a módszertan általános alapelveit, elmondja, mire kell mindenekelőtt odafigyelni, ha bármilyen projekten dolgozunk.
  • Thomas Limoncelli "A rendszer- és hálózatadminisztráció gyakorlata" [könyv, RUS] – sok elmélet és alapelv a rendszeradminisztráció felépítéséről.
  • Devops Weekly [könyv, ENG] – heti összefoglaló a világ DevOps eseményeiről szóló hírekről.
  • Devops_deflope [Telegram, RUS] - iparági hírek, konferencia közlemények, linkek új érdekes cikkekhez és könyvekhez.
  • Devops_en [Telegram, RUS] - Orosz nyelvű chat, ahol tanácsot kérhet, és segítséget kérhet a beállításokkal kapcsolatban.
  • A Devops.com egy nagy nemzetközi webhely az iparág legnagyobb vállalatainak cikkeivel, webináriumaival, podcastjaival és rovataival.
  • Hangops_Ru — DevOps mérnökök és szimpatizánsok oroszul beszélő közössége.
  • A fejlesztéshez használt nyelv legjobb könyvei.

Hol lehet DevOps-ot tanulni

A tanfolyamon strukturált tudást szerezhetDevOps mérnök" a Netológiában. Megtanulod a módszertan teljes ciklusát:

  • Tanulja meg a kód elemzését és a verzióvezérlő eszközök gyors használatát.
  • Ismerje meg a folyamatos integráció, tesztelés és építés legjobb gyakorlatait.
  • Ismerje meg az alkalmazások módosításainak kezelését és automatizálását.
  • Ismerkedjen meg a konfigurációs és felügyeleti eszközökkel.
  • Szokjon hozzá a monitorozáshoz szükséges szolgáltatások azonnali kiválasztásához és konfigurálásához.

Szerezzen be egy Python programozási tanfolyamot bónuszként – még gyorsabban és könnyebben megoldja a problémákat. Minden praktikus – AWS-t, GCP-t vagy Azure-t használunk.
Ez elég ahhoz, hogy egy kezdő mérnökből vagy rendszergazdából keresett DevOps váljon, és kellemesen megemelje az árat a munkaerőpiacon.

Ki a DevOps mérnök, mit csinál, mennyit keres és hogyan válhat azzá

Forrás: will.com

Hozzászólás