Što je DevOps metodologija i kome je potrebna

Hajde da shvatimo što je bit metodologije i kome može koristiti.

Također ćemo govoriti o DevOps stručnjacima: njihovim zadacima, plaćama i vještinama.

Što je DevOps metodologija i kome je potrebna
Fotografija Matt Moore /Flickr/CC BY-SA

Što je DevOps

DevOps je metodologija razvoja softvera čija je zadaća uspostaviti interakciju između programera i administratora sustava u tvrtki. Ako IT stručnjaci iz različitih odjela ne razumiju zadatke jedni drugih, puštanje novih aplikacija i ažuriranja za njih kasni.

DevOps stvara "bešavni" razvojni ciklus, čime pomaže ubrzati izdanje softverskog proizvoda. Ubrzanje se postiže uvođenjem sustava automatizacije. Osim toga, programeri počinju sudjelovati u postavljanju poslužitelja i pronalaženju grešaka, na primjer, mogu pisati automatizirane testove.

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

Kada programer shvati s čime se administrator suočava prilikom postavljanja poslužitelja, pokušat će izgladiti moguće "oštre kutove" u kodu. To smanjuje broj grešaka prilikom postavljanja aplikacije - prema statistici, to smanjuje oko pet puta.

Kome treba i ne treba metodologija

Mnogi IT stručnjaci smatrajuda će DevOps koristiti svakoj organizaciji koja razvija softver. To vrijedi čak i ako je tvrtka obični potrošač IT usluga i ne razvija vlastite aplikacije. U ovom slučaju, implementacija DevOps kulture pomoći će vam da se usredotočite na inovacije.

Iznimka šminka startupa, ali ovdje sve ovisi o razmjeru projekta. Ako je vaš cilj pokrenuti minimalno održivi proizvod (MVP) za testiranje nove ideje, tada možete bez DevOps-a. Na primjer, osnivač Groupona počeo je ručno raditi na usluzi objavljeno sve ponude na web stranici i prikupljene narudžbe. Nije koristio nikakve alate za automatizaciju.

Ima smisla implementirati metodologiju i alate za automatizaciju tek kada aplikacija počne dobivati ​​popularnost. To će pomoći pojednostaviti poslovne procese i ubrzati izdavanje ažuriranja.

Kako implementirati DevOps

U nastavku su neke preporuke za prelazak na novu metodologiju.

Identificirati probleme u poslovnim procesima. Prije implementacije metodologije istaknite ciljeve i probleme organizacije. O njima će ovisiti strategija prelaska na DevOps. Da biste to učinili, napravite popis pitanja, na primjer:

  • Što oduzima najviše vremena prilikom ažuriranja softvera?
  • Je li moguće automatizirati ovaj proces?
  • Utječe li na to struktura organizacije?

Saznajte više o prepoznavanju problema u organizaciji može se pročitati u knjigama «Projekt "Feniks""A"Vodič za DevOps» od autora metodologije.

Promijenite kulturu u tvrtki. Važno je uvjeriti sve zaposlenike da promijene svoj uobičajeni način rada i prošire spektar svojih kompetencija. Na primjer, na Facebooku svi programeri odgovor za cijeli životni ciklus aplikacije: od kodiranja do implementacije. Također, 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 izdavanja ažuriranja i automatizirajte ga. Ovaj možda testiranje ili proces postavljanja aplikacije. Stručnjaci savjetovati Prvi korak je implementacija distribuiranih alata za kontrolu verzija. Oni olakšavaju upravljanje izvorima. Među takvim rješenjima najpoznatija su Git, Mercurial, Subversion (SVN) i CVS.

Također je vrijedno obratiti pažnju na sustave kontinuirane integracije odgovorne za sastavljanje i testiranje konačnog proizvoda. Primjeri takvih alata: Jenkins, TeamCity i Bamboo.

Ocijenite poboljšanja. Razvijte metriku izvedbe za implementirana rješenja i izradite popis za provjeru. Mjerni podaci mogu uključivati ​​učestalost izdavanja, vrijeme provedeno u radu na značajkama softvera i broj grešaka u kodu. Razgovarajte o rezultatima ne samo s menadžerima, već i s ostatkom tima uključenog u projekt. Pitajte koji alati nedostaju. Uzmite u obzir ove zahtjeve pri daljnjem optimiziranju svojih procesa.

Kritika DevOps-a

Iako metodologija Ona pomaže organizacije mogu brže donositi odluke u vezi s razvojem aplikacija, posjekotine broj grešaka u softveru i potiče zaposlenike da uče nove stvari, također ima kritičare.

Tu je mišljenjeda se programeri ne bi trebali razumjeti u detalje rada administratora sustava. Navodno DevOps dovodi do toga da umjesto stručnjaka za razvoj ili administraciju u tvrtki rade ljudi koji se razumiju u sve, ali površno.

Također se vjeruje da DevOps ne djeluje uz loše upravljanje. Ako razvojni i admin tim nemaju zajedničke ciljeve, krivi su menadžeri koji nisu organizirali komunikaciju između timova. Za rješavanje ovog problema nije potrebna nova metodologija, već sustav ocjenjivanja menadžera na temelju povratnih informacija od podređenih. Možete pročitati ovdje, koja bi pitanja trebala biti uključena u obrasce ankete zaposlenika.

Što je DevOps metodologija i kome je potrebna
Fotografija Ed Ivanuškin /Flickr/CC BY-SA

Tko je DevOps inženjer

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

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

Joe Sanchez, evangelist DevOps-a u VMware-u, softverskoj tvrtki za virtualizaciju, izdvojio niz vještina koje DevOps inženjer mora imati. Osim očitog poznavanja DevOps metodologije, ova bi osoba trebala imati iskustvo u administriranju Windows i Linux operativnih sustava te iskustvo u radu s alatima za automatizaciju kao što su KuharLutkaAnsible. Također bi trebao moći pisati skripte i kod na nekoliko jezika i razumjeti mrežne tehnologije.

DevOps inženjer odgovoran je za automatizaciju zadataka povezanih s konfiguracijom i implementacijom aplikacija. Na njegova pleća pada i softversko praćenje. Za rješavanje ovih problema koristi različite sustave upravljanja konfiguracijom, virtualizacijska rješenja i cloud alate za balansiranje resursa.

Tko zapošljava

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

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

Koliko platiti

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

U SAD-u oni dobiti 90 tisuća dolara godišnje (500 tisuća rubalja mjesečno). U Kanadi oni platiti 122 tisuće dolara godišnje (670 tisuća rubalja mjesečno), au Velikoj Britaniji - 67,5 tisuća funti sterlinga godišnje (490 tisuća rubalja mjesečno).

Što se tiče Rusije, moskovske tvrtke spreman platiti DevOps stručnjacima od 100 do 200 tisuća rubalja mjesečno. U Sankt Peterburgu poslodavci su nešto velikodušniji - nude 160-360 tisuća rubalja mjesečno. U regijama se plaće navode na 100-120 tisuća rubalja mjesečno.

Kako postati stručnjak za DevOps

DevOps je relativno novi smjer u IT-u, tako da ne postoji uspostavljena lista zahtjeva za DevOps inženjere. U natječajima se među uvjetima za ovu poziciju nalaze i Debian i CentOS administracijske vještine te sposobnost rada s diskovnim pogonima. RAID polja.

Na temelju toga možemo zaključiti da, prije svega, DevOps inženjer mora imati dobru tehničku perspektivu. Za takvu osobu važno je stalno učiti nove alate i tehnologije.

Najlakši način da postanete DevOps inženjer bio bi sistemski administrator ili programer. Već imaju 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 virtualizacije.

Da biste razumjeli gdje znanje još uvijek nedostaje, možete koristiti mini-Wikipedia na GitHubu ili mentalna mapa. Stanovnici Hacker News također Preporučiti čitati knjige "Projekt "Feniks""A"Vodič za DevOps" (što smo gore spomenuli) i "DevOps filozofija. Umijeće upravljanja informatičkom tehnologijom» pod markom O'Reilly Media.

Također se možete pretplatiti na Tjedni bilten Devopsa, čitajte tematske članke portal DZone i započnite komunikaciju s DevOps inženjerima Slab chat. Također vrijedi provjeriti besplatne tečajeve Udacity ili EDX.

Postovi s našeg bloga:



Izvor: www.habr.com

Dodajte komentar