Što je DevOps metodologija i kome je potrebna

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.

Što je DevOps metodologija i kome je potrebna
Fotografija Matt Moor / 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 se smanjuje otprilike pet puta.

Kome je potrebna i kome nije metodologija

Mnogi IT stručnjaci smatraju, 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 čini 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 objavljivao 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 možete pročitati u knjigama «Projekt „Feniks“» i «Vodič za DevOps» 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 odgovaraju 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 može biti testiranje ili proces implementacije aplikacija. Stručnjaci preporučuju 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 pomaže organizacijama da brže donose odluke vezane uz razvoj aplikacija, smanjuje broj grešaka u softveru i potiče zaposlenike na učenje novih stvari, postoje i njeni kritičari.

Postoji mišljenje, 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 ne radi 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 koja pitanja bi trebala biti uključena u ankete za zaposlenike.

Što je DevOps metodologija i kome je potrebna
Fotografija Ed Ivanushkin / 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, istaknuo 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 Chef, Puppet, Ansible. 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 zapošljavaju IT giganti poput Amazona, Adobea i Facebooka. Također rade za Netflix, Walmart i Etsy.

Ne zapošljavaju 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 zarađuju 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 zarađuju 90 tisuća dolara godišnje (500 tisuća rubalja mjesečno). U Kanadi zarađuju plaćaju 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 spremne su 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 RAID sustavima.

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 mini-wikipediju na GitHubu ili mentalnu mapu. Članovi Hacker News također preporučuju mogu pročitati knjige "Projekt „Feniks“» i «Vodič za DevOps" (koje smo već spomenuli) i "Filozofija DevOps-a. Umijeće upravljanja IT-om" pod pokroviteljstvom O’Reilly Media.

Također se možete pretplatiti na Devops Weekly newsletter, pročitati članke s tematskog portala DZone i početi komunicirati s DevOps inženjerima u Slack chatu.Također je korisno proučiti besplatne tečajeve na Udacity ili edX.

Objave iz našeg bloga:



Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster