Na IT tržištu kronično nedostaje stručnjaka svih profila – od programera do dizajnera – no u masi oglasa za posao ističe se i jedan pojam koji je relativno nov. Riječ je o zanimanju “DevOps”.
DevOps je termin za grupu koncepata koji nije posve nov, ali se u zadnjih godinu-dvije strelovito širi u IT zajednici. Pošto to do sada niste viđali, možda vas je taj pojam zbunjivao.
Mi ćemo u ovom tekstu pokriti definiciju DevOpsa, što oni rade, što oni ne rade i od kuda krenuti ako i vi želite postati jedan od njih. No, ne dajte se zavarati – morat ćete uložiti mnogo truda i energije da biste postali dobar i kvalitetan DevOps. Tu govorimo o mjesecima i godinama rada, a ne o danima ili tjednima.
Definicija DevOpsa
DevOps je termin nastao iz dva polja, odnosno dva trenda u IT svijetu. Prvi je bio “agile infrastructure”, odnosno “agile operations” jer se posao odnosi na korištenje agilnih i lean metodologija u poslu. Drugi trend je zapravo proizašao iz suradnje između developmenta i operacija. Netko bi uvijek trebao biti zadužen za rješavanje tehničkih pitanja kod cijelog ciklusa razvoja softvera.
I upravo je to DevOps – osoba koja zapravo radi više disciplina u IT svijetu i koja je zadužena za automatizaciju, sistemske poslove, skaliranje produkta, podešavanje servisa, deployanje produkta … To je osoba koja je spona između čistog razvoja i operacija i olakšava posao svima u kompaniji.
Osoba koja kombinira znanje programiranja i sistemaštva kako bi se produkt koji kompanija razvija u svakom trenu lako deployao na servere, kako bi se automatizirale repetitivne radnje, kako bi se izradila sigurnosna kopija podataka i slično.
Pojednostavljeno rečeno – ta osoba nije čisti programer niti čisti sistemaš – ona je negdje između. Da, DevOps mora biti u stanju napisati skripte kako bi automatizirao određeni posao, ali isto tako bi trebao znati kako skalirati neke stvari, kako deployati produkt na server, kako otkloniti nepotrebne korake i slično.
Jako zanimljivo polje i profesija koja je sve popularnija u svijetu, ali i kod nas. Zato i možete vidjeti sve više oglasa za posao u kojima se traži DevOps, a ne čisti programeri ili čisti sistemaši. Danas je posao toliko isprepleten da ga je teško podijeliti između dvije role. Zato je ovo zanimanje i nastalo prirodnim putem, odnosno zbog potreba u ovom dinamičnom i zanimljivom svijetu.
Što DevOps nije?
Netko bi mogao krivo shvatiti ovo zanimanje i pomisliti da su ovo “nabrijani developeri” koji će “uzeti posao” nekim drugim ljudima u kompanijama. Prvenstveno ljudima iz “operacija” koji najčešće rade širok spektar poslova oko samog proizvoda kompanije.
Istina je da su kompanije shvatile da troše previše resursa na određene poslove i da se ti isti poslovi mogu automatizirati. Tu dolaze DevOps profesionalci. Da, profesije se počinju međusobno preklapati, ali nitko nikome ne otima posao niti se pokušavaju druge profesije izgurati van.
Mnogi pomisle da su DevOpsi osobe koje samo koriste određene alate. To također nije istina. Oni koriste širok spektar alata, ali i pišu svoje skripte, povezuju alate, automatiziraju taskove, brinu se o serverima, o sigurnosnim kopijama itd. Mnogo su više od “samih alata”. Alati su tu samo da pripomognu i da ubrzaju određene procese.
Također, DevOps nije kratica – “radim sve u kompaniji, a po potrebi i kuham kavu”. Ponekad se ljudi zanesu i misle da sve ono što nije striktno podijeljeno među rolama u kompaniji, da će to riješiti DevOps tim. Kao što vidite iz ovog teksta, DevOps inženjeri su spona između programiranja i sistemaštva, što znači da se oni neće petljati u posao Project Managera, Product Ownera, CTO-a …
Oni samo povezuju dva segmenta kompanije, a kompanija koja se bavi (prvenstveno) razvojem softvera mora imati dobru poveznicu između developmenta i sistemaštva. Netko se mora brinuti da zadnja verzija softvera bude na serverima, da postoje testni i produkcijski server, da određene osobe imaju određena prava na tim serverima, da se softver automatski deploya na testni server nakon što prođe CI proces i slično.
Od kuda krenuti učiti za ovaj posao?
Ne postoji jedan put kojim morate ići da biste postali DevOps. Najčešći DevOpsi su nastali iz programiranja, odnosno iz sistemaštva. To su osobe koje su počele učiti nove stvari uz svoj primarni posao, shvatili da to mogu raditi i tako su nastali neki vrlo uspješni DevOpsi. To ne znači da i vi tako morate.
Možete vi krenuti od nule/bez prethodnog znanja, no kao što smo rekli ranije – morat ćete uložiti jako puno truda i vremena da biste postali dobar DevOps. To je posao u kojem konstantno morate učiti neke nove proizvode, neke nove alate, procese … konstantno tražiti način da nešto automatizirate i poboljšate.
Ako još uvijek niste odustali, onda vam možemo preporučiti ove video tutorijale, odnosno knjige. Krenimo ipak s Lynda tutorijalima.
– DevOps Foundations
– DevOps Foundations: Infrastructure Automation
– DevOps Foundations: Continuous Delivery
Što se knjiga tiče, tu preporučujemo slijedeće:
– DevOps Handbook
– The Phoenix Project
– Web Operations
– A Practical Approach to Large-Scale Agile Development
– The Practice of Cloud System Administration
– Release it!
– Lean Software Development
Piše: B.P.