Kdo je DevOps inženir, kaj počne, koliko zasluži in kako to postati

Inženirji DevOps so multidisciplinarni strokovnjaki, ki vedo, kako avtomatizirati procese in vedo, kako delujejo razvijalci, QA in menedžerji. Znajo programirati, hitro obvladajo zapletena orodja in se ne izgubijo, ko se znajdejo pred neznano nalogo. Inženirjev DevOps je malo - pripravljeni so jim plačati 200-300 tisoč rubljev, vendar je še vedno veliko prostih delovnih mest.

Dmitry Kuzmin pojasnjuje, kaj točno počne DevOps in kaj morate preučiti, da se prijavite za takšno delovno mesto. Bonus: pomembne povezave do knjig, videoposnetkov, kanalov in strokovne skupnosti.

Kaj počne inženir DevOps?

V situaciji DevOps je pomembno, da izrazov ne zamenjujete. Dejstvo je, da DevOps ni specifično področje dejavnosti, ampak strokovna filozofija. To je metodologija, ki pomaga razvijalcem, preizkuševalcem in sistemskim skrbnikom delati hitreje in učinkoviteje z avtomatizacijo in brezhibnostjo.

Skladno s tem je DevOps inženir specialist, ki to metodologijo implementira v delovni proces:

  • V fazi načrtovanja se inženir DevOps pomaga odločiti, kakšno arhitekturo bo uporabljala aplikacija, kako se bo spreminjala in izbral sistem orkestracije.
  • Nato vzpostavi strežnike, samodejno preverjanje in nalaganje kode ter preverjanje okolja.
  • Nato avtomatizira testiranje in rešuje težave pri uvajanju.
  • Po izdaji je pomembno zbrati povratne informacije uporabnikov in implementirati izboljšave. DevOps poskrbi, da uporabniki ne opazijo teh izboljšav in postopek posodabljanja poteka neprekinjeno.
  • In hkrati rešuje na desetine problemov, ki pomagajo izboljšati sistem dela razvijalcev, QA, sistemskih skrbnikov in upraviteljev.

Vse, kar je napisano zgoraj, se dogaja v projektih, ki so blizu idealnim. V resničnem svetu morate začeti projekt, kjer je bilo zgrešeno načrtovanje, arhitektura je bila napačna in ste začeli razmišljati o avtomatizaciji, ko so se vsi projekti ustavili. In razumevanje vseh teh težav, njihovo reševanje in zagotavljanje, da vse deluje, je ključna veščina strokovnjaka za DevOps.

Na trgu talentov vlada zmeda. Včasih podjetje išče inženirje DevOps za položaj sistemskega inženirja, gradbenega inženirja ali koga drugega. Zadolžitve se spreminjajo tudi glede na velikost podjetja in usmeritev – nekje iščejo osebo za svetovanje, nekje zahtevajo, da vse avtomatizirajo, nekje pa opravljajo napredne funkcije sistemskega skrbnika, ki obvlada programiranje.

Kaj morate začeti v poklicu

Vstop v poklic zahteva predhodno pripravo. Ne boste se mogli preprosto udeležiti tečajev iz nič, ne da bi razumeli karkoli o IT, in se učiti do nižje ravni. Zahtevano tehnično ozadje:

  • Idealno, če delate šest mesecev ali več kot sistemski skrbnik, specialist za operacije ali testiranje. Ali vsaj imejte idejo o tem, kako se aplikacije zaženejo, v kakšnem okolju se lahko razvijejo in kaj storiti, če vidite napako. Če nimate delovnih izkušenj, opravite kateri koli tečaj o administraciji Linuxa in ponovite vse, kar se dogaja na vašem domačem računalniku.
  • Razumeti delovanje omrežnih tehnologij – naučiti se namestiti, konfigurirati in upravljati lokalna in prostrana omrežja.
  • Oglejte si, kako in kaj programiranje deluje – napišite nekaj skriptov v Python ali Go, poskusite razumeti načela OOP (Object-Oriented Programming), preberite o splošnem ciklu razvoja izdelka.
  • Znanje tehnične angleščine bo koristno - ni potrebno komunicirati o prostih temah, dovolj je, da znate brati dokumentacijo in vmesnike.

Vsega naštetega ni treba poznati do potankosti, za začetek učenja DevOpsa zadostuje minimalna stopnja izobrazbe. Če imate takšno tehnično znanje, se poskusite vpisati na tečaje.

Kaj bi DevOps moral vedeti

Dober inženir DevOps je multidisciplinarni strokovnjak z zelo širokim pogledom. Za uspešno delo boste morali razumeti več IT področij hkrati.

Razvoj

DevOps bo napisal skript, ki bo razvijalcem pomagal namestiti kodo na strežnik. Izdelal bo program, ki bo sproti testiral odzivnost baz podatkov. Napisal bo aplikacijo za nadzor različic. Na koncu preprosto opazite morebitno razvojno težavo, ki se lahko pojavi na strežniku.

Močan strokovnjak za DevOps pozna več jezikov, primernih za avtomatizacijo. Ne razume jih temeljito, lahko pa hitro napiše majhen program ali prebere kodo nekoga drugega. Če se še nikoli niste srečali z razvojem, začnite s Pythonom - ima preprosto sintakso, enostavno je delati s tehnologijami v oblaku, na voljo je veliko dokumentacije in knjižnic.

Operacijski sistemi

Nemogoče je poznati vse zmožnosti vsake različice posameznega sistema - za takšno usposabljanje bi lahko porabili na tisoče ur in ne bi bilo koristno. Namesto tega dober DevOps razume splošna načela dela v katerem koli OS. Čeprav, sodeč po omembah v prostih delovnih mestih, zdaj večina dela v Linuxu.

Dober inženir razume, v kateri sistem je najbolje uvesti projekt, katera orodja uporabiti in kakšne morebitne napake se lahko pojavijo med izvajanjem ali delovanjem.

Oblaki

Trg tehnologije v oblaku raste v povprečju za 20-25% na leto - takšna infrastruktura vam omogoča avtomatizacijo operacij testiranja kode, sestavljanja aplikacij iz komponent in dostave posodobitev uporabnikom. Dober DevOps razume tako popolnoma oblačne kot hibridne rešitve.

Standardne zahteve za inženirje običajno vključujejo GCP, AWS in Azure.

To vključuje znanje orodij CI/CD. Običajno se Jenkins uporablja za neprekinjeno integracijo, vendar je vredno poskusiti analoge. Veliko jih je, na primer Buddy, TeamCity in Gitlab CI. Koristno bo preučiti Terraform - to je deklarativno orodje, ki vam pomaga na daljavo nastaviti in konfigurirati infrastrukturo v oblakih. IN Packer, ki je potreben za samodejno ustvarjanje slik OS.

Sistemi za orkestracijo in mikrostoritve

Arhitektura mikrostoritev ima številne prednosti – stabilnost, sposobnost hitrega prilagajanja, poenostavitve in ponovne uporabe. DevOps razume, kako mikrostoritve delujejo, in lahko predvidi morebitne težave.

Temeljito pozna Docker in Kubernetes. Razume, kako vsebniki delujejo, kako zgraditi sistem, tako da lahko nekatere izmed njih onemogočite brez posledic za celoten sistem. Na primer, lahko zgradi gručo Kubernetes z uporabo Ansible

Kaj naj še poskusi prihodnji DevOps?

Seznam orodij, ki so lahko koristna za inženirja DevOps, je neskončen. Nekateri delajo na orkestraciji projekta, drugi porabijo večino svojega časa za avtomatizacijo uvajanja in testiranja, tretji pa izboljšujejo učinkovitost pri upravljanju konfiguracije. V procesu bo postalo jasno, kje kopati in kateri projekti bodo koristni.

Tukaj je še en majhen minimum, ki bo pomagal na začetku:

  • Razumejte, kako delujeta Git in Github, če še niste. Namestite GitLab na svoj strežnik.
  • Spoznajte označevalna jezika JSON in YAML.
  • Namestite in poskusite delati v bazah podatkov - ne samo MySQL, ampak tudi NoSQL. Poskusite MongoDB.
  • Razumeti, kako upravljati konfiguracijo več strežnikov hkrati. Na primer z uporabo Ansible.
  • Takoj nastavite spremljanje obremenitve in dnevnike. Preizkusite kombinacijo Prometheus, Grafana, Alertmanager.
  • Poiščite najboljše rešitve za uvajanje za različne jezike - le seznaniti se morate z njimi, jih implementirati in razumeti na izobraževalnem ali delovnem projektu.

Zakaj bi se morali začeti učiti DevOps zdaj

Na trgu primanjkuje kadrov za DevOps inženirje. To pogojno potrjujeta količina in kakovost prostih delovnih mest:

  • V Rusiji je samo na HeadHunterju za to ključno besedo stalno na voljo več kot 2 tisoč delovnih mest.
  • In samo 1 ljudi je objavilo svoj življenjepis.

Glede na to, da objava življenjepisa ne pomeni aktivnega iskanja zaposlitve, se izkaže, da sta za enega strokovnjaka dve ali celo tri prosta delovna mesta - te situacije ni niti na priljubljenem trgu spletnega razvoja. Tukaj dodajte več prostih delovnih mest iz kanalov Habr in Telegram - pomanjkanje strokovnjakov je ogromno.

Kdo je DevOps inženir, kaj počne, koliko zasluži in kako to postati
Bodite pozorni na plačne zahteve prosilcev

DevOps ni nič manj povpraševan v svetu - če se boste preselili v ZDA ali Evropo, potem samo na portalu Glassdoor Takšne strokovnjake išče več kot 34 tisoč podjetij. Pogoste zahteve so 1–3 leta izkušenj, sposobnost dela z oblaki in ne strah pred svetovalnimi funkcijami.

Ponudb za freelancing je mnogokrat manj – DevOps inženirji iščejo predvsem kadre in zaposlitve za polni delovni čas.

Kdo je DevOps inženir, kaj počne, koliko zasluži in kako to postati
Iskanje primernega samostojnega projekta je težko, vendar je mogoče

Običajno karierno pot inženirja DevOps si lahko predstavljamo nekako takole:

  • Od šest mesecev do enega leta dela kot sistemski administrator v manjšem IT podjetju. Hkrati se uči jezika, primernega za avtomatizacijo.
  • Intenzivno se uči na tečajih približno šest mesecev.
  • Prehod na drugo delovno mesto - v podjetje, ki prodaja rešitve v oblaku, podružnico velike korporacije, razvijalcem velikih projektov. Preprosto povedano, kjer je potrebna stalna avtomatizacija in implementacija. Na začetni poziciji je približno 100 tisoč rubljev.
  • Že več let aktivno dela in študira, svoje prihodke pa je večkrat povečal.
  • Postane strokovnjak v strokovni javnosti in preide v svetovanje. Ali pa zraste v sistemskega arhitekta ali IT direktorja.

DevOps je težak. Združiti morate veščine več poklicev hkrati. Postanite oseba, ki je pripravljena ponuditi izboljšave tam, kjer drugi informatiki niti ne pomislijo na kaj drugega. Za to plačajo veliko, zahtevajo pa tudi veliko znanja.

Koliko zasluži DevOps?

Po podatkih za drugo četrtletje 2019 je povprečna povprečna plača devopov med 90 in 160 tisoč rubljev. Obstajajo cenejše ponudbe - večinoma 60-70 tisoč.

Nenehno so ponudbe do 200 tisoč, prosta delovna mesta pa so s plačami do 330 tisoč rubljev.

Kdo je DevOps inženir, kaj počne, koliko zasluži in kako to postati
Med operativnimi strokovnjaki je DevOps plačan višje od drugih. Vir: Habr.Kariera

Inženirji DevOps, vključno z začetniki, so zdaj potrebni v velikih bankah, korporacijah, storitvah v oblaku, trgovalnih sistemih in drugih organizacijah, ki skrbijo za vzdrževanje svojih IT rešitev.

Odličen kandidat za nižje delovno mesto s plačo 60–90 tisočakov bi bil začetni sistemski skrbnik s približno letom izkušenj in specializirano diplomo.
 
Kdo je DevOps inženir, kaj počne, koliko zasluži in kako to postati
Te statistike ni, vendar se zdi, da so ljudje, ki imajo izkušnje z Linuxom, plačani več

Kaj gledati in brati za rast v svojem poklicu

Če se želite potopiti v svet DevOps, preizkusite več virov informacij:

  • Cloud Native Computing Foundation [YouTube, ENG] - številni videoposnetki s konferenc in izobraževalnih spletnih seminarjev.
  • Kanal DevOps [YouTube, RUS] - video poročila s strokovne konference DevOps v Rusiji.
  • Priročnik DevOps [knjiga, RUS] je ena najbolj priljubljenih knjig o filozofiji DevOps. Knjiga vsebuje splošna načela metodologije, pove, na kaj morate biti najprej pozorni pri delu na katerem koli projektu.
  • Thomas Limoncelli "Praksa sistemske in omrežne administracije" [knjiga, RUS] - veliko teorije in načel o strukturi sistemske administracije.
  • Devops Weekly [knjiga, ENG] - tedenski pregled novic o dogajanju v DevOps po svetu.
  • Devops_deflope [Telegram, RUS] - novice iz industrije, napovedi konferenc, povezave do novih zanimivih člankov in knjig.
  • Devops_en [Telegram, RUS] - Klepet v ruskem jeziku, kjer lahko vprašate za nasvet in prosite za pomoč pri konfiguracijah.
  • Devops.com je veliko mednarodno spletno mesto s članki, spletnimi seminarji, podcasti in kolumnami največjih podjetij v industriji.
  • Hangops_Ru — rusko govoreča skupnost inženirjev in simpatizerjev DevOps.
  • Najboljše knjige za jezik, ki ga boste uporabljali za razvoj.

Kje študirati DevOps

Na tečaju lahko pridobite strukturirano znanje “DevOps inženir" v netologiji. Naučili se boste celotnega cikla metodologije:

  • Naučite se analizirati kodo in hitro uporabljati orodja za nadzor različic.
  • Razumeti najboljše prakse za stalno integracijo, testiranje in gradnjo.
  • Naučite se upravljati in avtomatizirati spremembe aplikacij.
  • Pridobite orodja za konfiguracijo in upravljanje.
  • Navadite se na takojšnjo izbiro in konfiguracijo potrebnih storitev za spremljanje.

Pridobite tečaj programiranja Python kot bonus - težave boste reševali še hitreje in lažje. Vse je praktično - uporabljamo AWS, GCP ali Azure.
To je dovolj, da inženirja začetnika ali sistemskega skrbnika spremenite v iskanega DevOpsa in prijetno dvignete ceno na trgu dela.

Kdo je DevOps inženir, kaj počne, koliko zasluži in kako to postati

Vir: www.habr.com

Dodaj komentar