Šta je DevOps metodologija i kome je potrebna

Hajde da shvatimo šta je suština metodologije i kome može koristiti.

Govorit ćemo i o DevOps stručnjacima: njihovim zadacima, platama i vještinama.

Šta je DevOps metodologija i kome je potrebna
fotografija Matt Moore /Flickr/CC BY-SA

Šta je DevOps?

DevOps je metodologija razvoja softvera čiji je zadatak uspostavljanje interakcije između programera i sistem administratora u kompaniji. Ako IT stručnjaci iz različitih odjela ne razumiju jedni druge zadatke, puštanje novih aplikacija i ažuriranja za njih se odgađa.

DevOps stvara "bešavni" razvojni ciklus, pomažući na taj način da se ubrza izdavanje softverskog proizvoda. Ubrzanje se postiže uvođenjem sistema automatizacije. Osim toga, programeri počinju sudjelovati u postavljanju servera i pronalaženju grešaka, na primjer, mogu pisati automatizirane testove.

Ovo poboljšava interakciju između odjeljenja. Zaposleni počinju bolje razumjeti kroz koje faze softverski proizvod prolazi prije nego što dođe u ruke korisnika.

Kada programer shvati sa čime se administrator suočava prilikom postavljanja servera, pokušaće da izgladi moguće „oštre uglove“ u kodu. Ovo smanjuje broj grešaka prilikom postavljanja aplikacije - prema statistikama, to opada oko pet puta.

Kome treba i ne treba metodologija

Mnogi vjeruju IT stručnjacida će DevOps koristiti svakoj organizaciji koja razvija softver. Ovo važi čak i ako je kompanija jednostavan potrošač IT usluga i ne razvija sopstvene aplikacije. U ovom slučaju, implementacija DevOps kulture pomoći će vam da se fokusirate na inovacije.

Izuzetak izmisliti startapi, ali ovdje sve zavisi od obima projekta. Ako vam je cilj lansirati minimalno održiv proizvod (MVP) za testiranje nove ideje, onda možete bez DevOps-a. Na primjer, osnivač Groupona počeo je raditi na usluzi ručno objavljeno sve ponude na web stranici i prikupljene narudžbe. Nije koristio nikakve alate za automatizaciju.

Ima smisla implementirati metodologiju i alate automatizacije tek kada aplikacija počne da dobija na popularnosti. Ovo će pomoći u pojednostavljivanju poslovnih procesa i ubrzanju izdavanja ažuriranja.

Kako implementirati DevOps

U nastavku su neke preporuke za prelazak na novu metodologiju.

Identificirajte probleme u poslovnim procesima. Prije implementacije metodologije, istaknite ciljeve i probleme organizacije. Od njih će zavisiti strategija za prelazak na DevOps. Da biste to učinili, napravite listu pitanja, na primjer:

  • Šta oduzima najviše vremena prilikom ažuriranja softvera?
  • Da li je moguće automatizovati ovaj proces?
  • Da li struktura organizacije utiče na to?

Saznajte više o prepoznavanju problema u organizaciji može se pročitati u knjigama «Projekat "Feniks""I"DevOps vodič» od autora metodologije.

Promijenite kulturu u kompaniji. Važno je uvjeriti sve zaposlene da promijene svoje uobičajene načine rada i prošire spektar kompetencija. Na primjer, na Facebooku svi programeri odgovor za cijeli životni ciklus aplikacije: od kodiranja do implementacije. Takođe, Facebook nema poseban odjel za testiranje – testove pišu sami programeri.

Počnite s malim. Odaberite proces koji oduzima najviše vremena i truda prilikom objavljivanja ažuriranja i automatizirajte ga. Ovo može biti testiranje ili proces implementacije aplikacije. Eksperti savjet Prvi korak je implementacija distribuiranih alata za kontrolu verzija. Oni olakšavaju upravljanje izvorima. Među takvim rešenjima najpoznatija su Git, Mercurial, Subversion (SVN) i CVS.

Također je vrijedno obratiti pažnju na sustave kontinuirane integracije odgovornih za sklapanje i testiranje finalnog proizvoda. Primjeri takvih alata: Jenkins, TeamCity i Bamboo.

Procijenite poboljšanja. Razvijte metriku učinka za implementirana rješenja i kreirajte kontrolnu listu. Metrike mogu uključivati ​​učestalost izdanja, vrijeme provedeno u radu na softverskim funkcijama i broj grešaka u kodu. Razgovarajte o rezultatima ne samo sa menadžerima, već i sa ostatkom tima koji je uključen u projekat. Pitajte koji alati nedostaju. Uzmite u obzir ove zahtjeve prilikom dalje optimizacije vaših procesa.

Kritika DevOps-a

Iako metodologija pomaže organizacije mogu brže donositi odluke u vezi sa razvojem aplikacija, posekotine broj grešaka u softveru i podstiče zaposlene da uče nove stvari, ima i kritičara.

Postoje mišljenjeda programeri ne bi trebali razumjeti detalje rada sistemskih administratora. Navodno, DevOps dovodi do toga da umjesto stručnjaka za razvoj ili administraciju, kompanija ima ljude koji se razumiju u sve, ali površno.

Također se vjeruje da DevOps ne radi sa lošim upravljanjem. Ako razvojni i administratorski timovi nemaju zajedničke ciljeve, krivi su menadžeri što nisu organizirali komunikaciju između timova. Za rješavanje ovog problema nije potrebna nova metodologija, već sistem ocjenjivanja menadžera na osnovu povratnih informacija od podređenih. Možete ga pročitati ovdje, koja pitanja treba uključiti u formulare za anketiranje zaposlenih.

Šta je DevOps metodologija i kome je potrebna
fotografija Ed Ivanushkin /Flickr/CC BY-SA

Ko je DevOps inženjer

DevOps inženjer implementira DevOps metodologiju. Sinhronizira sve faze kreiranja softverskog proizvoda: od pisanja koda do testiranja i puštanja aplikacije. Takav stručnjak kontrolira razvojne i administrativne odjele, plus automatizira izvršavanje njihovih zadataka uvođenjem različitih softverskih alata.

Trik DevOps inženjera je u tome što kombinuje mnoge profesije: administratora, programera, testera i menadžera.

Joe Sanchez, DevOps evanđelista u VMware, kompaniji za softver za virtualizaciju, izdvojio niz vještina koje DevOps inženjer mora imati. Pored očiglednog poznavanja DevOps metodologije, ova osoba treba da ima iskustva u administriranju Windows i Linux operativnih sistema i iskustva u radu sa alatima za automatizaciju kao što su glavalutkaAnsible. Također bi trebao biti u stanju pisati skripte i kod na nekoliko jezika i razumjeti mrežne tehnologije.

DevOps inženjer je odgovoran za svaku automatizaciju zadataka vezanih za konfiguriranje i implementaciju aplikacija. Praćenje softvera također pada na njegova ramena. Da bi riješio ove probleme, koristi različite sisteme za upravljanje konfiguracijom, rješenja za virtuelizaciju i cloud alate za balansiranje resursa.

Ko zapošljava

DevOps inženjeri mogu koristiti bilo kojoj organizaciji koja razvija aplikacije ili upravlja velikim brojem servera. DevOps inženjeri zapošljavaju IT divovi poput Amazona, Adobea i Facebooka. Takođe rade na Netflixu, Walmartu i Etsyju.

Ne zapošljavam DevOps inženjeri su samo startapovi. Njihov posao je da izdaju minimalno održiv proizvod za testiranje nove ideje. U većini slučajeva, startupi mogu bez DevOps-a.

Koliko plate

DevOps inženjeri zaraditi više od bilo koga u industriji. Prosječna zarada takvih stručnjaka širom svijeta kreće se od 100 do 125 hiljada dolara godišnje.

U SAD oni dobiti 90 hiljada dolara godišnje (500 hiljada rubalja mesečno). U Kanadi oni platiti 122 hiljade dolara godišnje (670 hiljada rubalja mesečno), au Velikoj Britaniji - 67,5 hiljada funti sterlinga godišnje (490 hiljada rubalja mesečno).

Što se tiče Rusije, moskovske kompanije spreman plaćaju DevOps stručnjacima od 100 do 200 hiljada rubalja mjesečno. U Sankt Peterburgu su poslodavci malo izdašniji - nude 160-360 hiljada rubalja mjesečno. U regionima se plate iznose od 100 do 120 hiljada rubalja mesečno.

Kako postati DevOps specijalista

DevOps je relativno nov smjer u IT-u, tako da ne postoji utvrđena lista zahtjeva za DevOps inženjere. U slobodnim radnim mjestima, među zahtjevima za ovu poziciju možete pronaći i Debian i CentOS administrativne vještine te sposobnost rada s diskovima. RAID nizovi.

Na osnovu ovoga možemo zaključiti da, prije svega, DevOps inženjer mora imati dobar tehnički izgled. Za takvu osobu je važno da stalno uči nove alate i tehnologije.

Najlakši način da postanete DevOps inženjer bio bi sistemski administrator ili programer. Oni već posjeduju niz vještina koje samo treba razviti. Glavni zadatak je poboljšati minimalni skup znanja u DevOps-u, razumjeti kako raditi s alatima za automatizaciju i popuniti praznine u vještinama administracije, programiranja i virtuelizacije.

Da biste razumjeli gdje znanje još uvijek nedostaje, možete koristiti mini-Vikipedija na GitHubu ili mentalna mapa. I stanovnici Hacker Newsa preporučeno čitati knjige "Projekat "Feniks""I"DevOps vodič" (što smo gore spomenuli) i "DevOps filozofija. Umetnost IT menadžmenta» pod pečatom O'Reilly Media.

Također se možete pretplatiti na Devops sedmični bilten, pročitajte aktuelne članke portal DZone i počnite komunicirati sa DevOps inženjerima Slack chat. Vrijedi pogledati i besplatne kurseve Udacity ili edX.

Objave sa našeg bloga:



izvor: www.habr.com

Dodajte komentar