Razjašnjavamo suštinu metodologije i kome ona može donijeti korist.
Također ćemo razgovarati o DevOps stručnjacima: njihovim zadacima, plaćama i vještinama.
Fotografija / Flickr / CC BY-SA
Što je DevOps
DevOps je metodologija razvoja softvera, čija je svrha uspostaviti suradnju između programera i sustavskih administratora u kompaniji. Ako IT stručnjaci iz različitih odjela ne razumiju suštinu zadataka jedni drugih, proizvodnja novih aplikacija i ažuriranja se odgađa.
DevOps oblikuje 'besprijekoran' razvojni ciklus, čime pomaže ubrzati izlazak softverskog proizvoda. Ubrzanje se postiže uvođenjem sustava automatizacije. Osim toga, programeri počinju sudjelovati u podešavanju poslužitelja i pronalaženju grešaka, na primjer, mogu pisati automatizirane testove.
Tako se uspostavlja suradnja među odjelima. Zaposlenici počinju bolje razumjeti koji koraci prolazi softverski proizvod prije nego što stigne u ruke korisnika.
Kada programer razumije s čime se administrator suočava prilikom podešavanja poslužitelja, pokušat će ublažiti moguće 'oštro kutes' u kodu. To smanjuje broj grešaka prilikom implementacije aplikacije — prema statistikama, ono otprilike pet puta.
Kome je potrebna i kome nije metodologija
Mnogi , da će DevOps donijeti korist bilo kojoj organizaciji koja se bavi razvojem softvera. To je točno čak i ako je kompanija jednostavni korisnik IT usluga i ne razvija vlastite aplikacije. U tom slučaju, uvođenje DevOps kulture pomoći će se fokusirati na inovacije.
Izuzetak startupi, ali i ovdje sve ovisi o razmjerima projekta. Ako je vaš cilj lansirati minimalni održiv proizvod (minimum viable product, MVP) kako biste testirali novu ideju, može se proći i bez DevOps-a. Na primjer, osnivač Groupona je u početku sam ručno sve ponude na web stranici i prikupljao narudžbe. Nije koristio nikakve alate za automatizaciju.
Uvođenje metodologije i alata za automatizaciju ima smisla samo kada aplikacija počne sticati popularnost. To će pomoći u stvaranju poslovnih procesa i ubrzanju izlaska ažuriranja.
Kako uvesti DevOps
Dalje — nekoliko preporuka za prijelaz na novu metodologiju.
Identificirajte probleme u poslovnim procesima. Prije uvođenja metodologije definirajte ciljeve i probleme organizacije. Od njih će ovisiti strategija prijelaza na DevOps. Za to sastavite popis pitanja, na primjer:
- Na što se troši najviše vremena prilikom ažuriranja softvera?
- Može li se taj proces automatizirati?
- Utječe li na to struktura organizacije?
Detaljno o identificiranju problema u organizaciji «» i «» od autora metodologije.
Promijenite kulturu u tvrtki. Važno je uvjeriti sve zaposlenike da promijene svoje uobičajene načine rada i prošire svoj spektar kompetencija. Na primjer, u Facebooku svi programeri za cijeli životni ciklus aplikacije: od pisanja koda do implementacije. Također, u Facebooku ne postoji posebni odjel za testiranje - testove pišu sami programeri.
Započnite s malim stvarima. Odaberite proces koji najviše oduzima vremena i truda prilikom izdanja ažuriranja i automatizirajte ga. To testiranje ili proces implementacije aplikacija. Stručnjaci prvo preporučuju uvođenje alata za distribuirano kontroliranje verzija. S njima je lakše upravljati izvorom. Među takvim rješenjima najpoznatiji su Git, Mercurial, Subversion (SVN) i CVS.
Također, treba obratiti pažnju na sustave kontinuirane integracije, odgovorne za izgradnju i testiranje konačnog proizvoda. Primjeri takvih alata su Jenkins, TeamCity i Bamboo.
Procijenite poboljšanja. Razvijte metrike učinkovitosti implementiranih rješenja i sastavite popis za provjeru. Metrike mogu uključivati učestalost izdanja, vrijeme provedeno na softverskim funkcijama, broj grešaka u kodu. Obrazložite rezultate ne samo s menadžerima, nego i s ostatkom tima koji radi na projektu. Pitajte ih koji alati nedostaju. Uzmite u obzir te zahtjeve prilikom daljnje optimizacije procesa.
Kritika DevOps
Iako metodologija organizacijama da brže donose odluke vezane uz razvoj aplikacija, broj grešaka u softveru i potiče zaposlenike na učenje novih stvari, postoje i njeni kritičari.
Postoji , da programeri ne moraju razumjeti detalje rada sistemskih administratora. Navodno DevOps dovodi do toga da umjesto stručnjaka za razvoj ili administraciju u kompanijama dolaze ljudi koji površno razumiju sve.
Također se smatra da DevOps u slučaju lošeg menadžmenta. Ako timovi programera i administratora nemaju zajedničke ciljeve, krivci su menadžeri koji ne organiziraju suradnju između timova. Da bi se ovaj problem riješio, potrebna je ne nova metodologija, već sustav ocjenjivanja menadžera temeljen na povratnim informacijama od podređenih. Ovdje možete pročitati .

Fotografija / Flickr / CC BY-SA
Tko je DevOps inženjer
DevOps inženjer se bavi implementacijom DevOps metodologije. On usklađuje sve faze stvaranja softverskog proizvoda: od pisanja koda do testiranja i puštanja aplikacije. Ovaj stručnjak kontrolira odjele za razvoj i administraciju te automatizira izvršavanje njihovih zadataka, implementirajući razne softverske alate.
Osobina DevOps inženjera je to što kombinira mnoge profesije: administratora, programera, testera i menadžera.
Joe Sanchez, DevOps evangelist iz VMware, kompanije koja se bavi razvojem softvera za virtualizaciju, niz vještina koje DevOps inženjer mora posjedovati. Osim očitog poznavanja DevOps metodologije, ova osoba mora imati iskustvo u administraciji Windows i Linux operativnih sustava te iskustvo s alatima za automatizaciju poput , , . Također mora znati pisati skripte i kodirati na nekoliko jezika te razumjeti mrežne tehnologije.
DevOps inženjer je odgovoran za svaku automatizaciju zadataka povezanih s konfiguracijom i implementacijom aplikacija. Na njemu je i praćenje softvera. Za rješavanje ovih zadataka koristi razne sustave za upravljanje konfiguracijom, rješenja za virtualizaciju i oblačne alate za ravnotežu resursa.
Tko zapošljava
DevOps inženjeri mogu donijeti korist bilo kojoj organizaciji čija je djelatnost povezana s razvojem aplikacija ili upravljanjem velikim brojem poslužitelja. DevOps inženjere IT giganti poput Amazona, Adobea i Facebooka. Također rade za Netflix, Walmart i Etsy.
DevOps inženjeri rade samo u startupima. Njihov zadatak je isporučiti minimalno održiv proizvod kako bi testirali novu ideju. U većini slučajeva startupi mogu proći bez DevOps stručnjaka.
Koliko zarađuju
DevOps inženjeri najviše u industriji. Prosječna plaća takvih stručnjaka u svijetu iznosi od 100 do 125 tisuća dolara godišnje.
U SAD-u oni 90 tisuća dolara godišnje (500 tisuća rubalja mjesečno). U Kanadi zarađuju 122 tisuće dolara godišnje (670 tisuća rubalja mjesečno), a u UK 67,5 tisuća funti godišnje (490 tisuća rubalja mjesečno).
Što se tiče Rusije, moskovske tvrtke platiti DevOps stručnjacima od 100 do 200 tisuća rubalja mjesečno. U Sankt Peterburgu poslodavci su malo velikodušniji — nude 160–360 tisuća rubalja mjesečno. U regijama plaće iznose 100–120 tisuća rubalja mjesečno.
Kako postati DevOps stručnjak
DevOps je relativno novo područje u IT-u, stoga ne postoji ustaljen popis zahtjeva za DevOps inženjere. U oglasima za posao možete naći zahtjeve koji se kreću od vještina administracije Debiana i CentOS-a do sposobnosti rada s .
Na temelju toga, može se zaključiti da DevOps inženjer prvenstveno treba imati dobar tehnički pregled. Takoj osobi je važno kontinuirano učiti nove alate i tehnologije.
Najlakše će postati DevOps inženjer sistem administrator ili programer. Oni već imaju određene vještine koje treba samo razviti. Glavni zadatak je savladati minimalni set znanja o DevOps-u, razumjeti kako raditi s alatima za automatizaciju i popuniti praznine u vještinama administracije, programiranja i virtualizacije.
Kako biste shvatili gdje vam nedostaju znanja, možete koristiti ili . Članovi Hacker News također mogu pročitati knjige "» i «" (koje smo već spomenuli) i "" pod pokroviteljstvom O’Reilly Media.
Također se možete pretplatiti na , pročitati članke s tematskog i početi komunicirati s DevOps inženjerima u Također je korisno proučiti besplatne tečajeve na ili .
Objave iz našeg bloga:
Izvor: habr.com
