Kaj je metodologija DevOps in kdo jo potrebuje

Ugotovimo, kaj je bistvo metodologije in komu lahko koristi.

Govorili bomo tudi o strokovnjakih za DevOps: njihovih nalogah, plačah in veščinah.

Kaj je metodologija DevOps in kdo jo potrebuje
Photo Shoot Matt Moore /Flickr/CC BY-SA

Kaj je DevOps

DevOps je metodologija razvoja programske opreme, katere naloga je vzpostaviti interakcijo med programerji in sistemskimi skrbniki v podjetju. Če IT strokovnjaki iz različnih oddelkov ne razumejo nalog drug drugega, se izdaja novih aplikacij in posodobitev zanje odloži.

DevOps ustvari "brezšiven" razvojni cikel in s tem pomaga pospešiti izdajo programskega izdelka. Pospešek dosežemo z uvedbo sistemov avtomatizacije. Poleg tega programerji začnejo sodelovati pri nastavljanju strežnikov in iskanju hroščev, lahko na primer pišejo avtomatizirane teste.

To izboljša interakcijo med oddelki. Zaposleni začnejo bolje razumeti, skozi katere faze gre programski izdelek, preden pride v roke uporabnika.

Ko razvijalec razume, s čim se sooča skrbnik pri nastavitvi strežnika, bo poskušal zgladiti morebitne "ostre vogale" v kodi. To zmanjša število napak pri uvajanju aplikacije - po statističnih podatkih je zmanjšuje približno petkrat.

Kdo potrebuje in ne potrebuje metodologijo

Veliko IT strokovnjaki menijoda bo DevOps koristil vsaki organizaciji, ki razvija programsko opremo. To velja tudi, če je podjetje preprost potrošnik IT storitev in ne razvija lastnih aplikacij. V tem primeru vam bo implementacija kulture DevOps pomagala, da se osredotočite na inovacije.

Izjema sestavljajo startupov, vendar je tukaj vse odvisno od obsega projekta. Če je vaš cilj lansirati minimalno uspešen izdelek (MVP), da preizkusite novo idejo, potem lahko storite brez DevOps. Na primer, ustanovitelj Groupon je začel delati na storitvi ročno objavljeno vse ponudbe na spletni strani in zbrana naročila. Ni uporabljal nobenih orodij za avtomatizacijo.

Metodologijo in orodja za avtomatizacijo je smiselno implementirati šele, ko aplikacija začne pridobivati ​​na priljubljenosti. To bo pomagalo racionalizirati poslovne procese in pospešilo izdajo posodobitev.

Kako implementirati DevOps

Spodaj je nekaj priporočil za prehod na novo metodologijo.

Prepoznavanje težav v poslovnih procesih. Pred implementacijo metodologije izpostavite cilje in težave organizacije. Od njih bo odvisna strategija prehoda na DevOps. Če želite to narediti, naredite seznam vprašanj, na primer:

  • Kaj vzame največ časa pri posodabljanju programske opreme?
  • Ali je mogoče ta proces avtomatizirati?
  • Ali na to vpliva struktura organizacije?

Izvedite več o prepoznavanju težav v organizaciji lahko preberete v knjigah «Projekt "Feniks""In"DevOps vodnik» od avtorjev metodologije.

Spremenite kulturo v podjetju. Vse zaposlene je pomembno prepričati, da spremenijo svoj običajen način dela in razširijo nabor kompetenc. Na primer, na Facebooku vsi programerji odgovor za celoten življenjski cikel aplikacije: od kodiranja do implementacije. Prav tako Facebook nima ločenega oddelka za testiranje - teste pišejo razvijalci sami.

Začnite z majhnimi. Izberite postopek, ki vam pri izdajanju posodobitev vzame največ časa in truda, in ga avtomatizirajte. to Mogoče testiranje ali proces uvajanja aplikacije. Strokovnjaki svetovati Prvi korak je implementacija porazdeljenih orodij za nadzor različic. Omogočajo lažje upravljanje virov. Med tovrstnimi rešitvami so najbolj znane Git, Mercurial, Subversion (SVN) in CVS.

Prav tako je vredno posvetiti pozornost sistemom neprekinjene integracije, ki so odgovorni za sestavljanje in testiranje končnega izdelka. Primeri takih orodij: Jenkins, TeamCity in Bamboo.

Ocenite izboljšave. Razvijte meritve uspešnosti za implementirane rešitve in ustvarite kontrolni seznam. Meritve lahko vključujejo pogostost izdaj, čas, porabljen za delo na funkcijah programske opreme, in število napak v kodi. O rezultatih ne razpravljajte samo z vodji, temveč tudi s preostalo ekipo, ki sodeluje pri projektu. Vprašajte, katera orodja manjkajo. Te zahteve upoštevajte pri nadaljnjem optimiziranju svojih procesov.

Kritika DevOps

Čeprav metodologija pomaga organizacije lahko hitreje sprejemajo odločitve glede razvoja aplikacij, zmanjša število napak v programski opremi in spodbuja zaposlene k učenju novih stvari, ima tudi kritike.

Obstaja mnenjeda programerji ne bi smeli razumeti podrobnosti dela sistemskih administratorjev. DevOps naj bi privedel do tega, da so namesto razvojnih ali administrativnih strokovnjakov v podjetju ljudje, ki razumejo vse, a površno.

Prav tako se domneva, da DevOps ne deluje s slabim upravljanjem. Če razvojna in skrbniška ekipa nimata skupnih ciljev, so za neurejeno komunikacijo med ekipama krivi vodje. Za rešitev tega problema ni potrebna nova metodologija, temveč sistem ocenjevanja vodij na podlagi povratnih informacij podrejenih. Preberete ga lahko tukaj, katera vprašanja morajo biti vključena v anketne obrazce zaposlenih.

Kaj je metodologija DevOps in kdo jo potrebuje
Photo Shoot Ed Ivanuškin /Flickr/CC BY-SA

Kdo je inženir DevOps

Inženir DevOps implementira metodologijo DevOps. Sinhronizira vse faze ustvarjanja programskega izdelka: od pisanja kode do testiranja in izdaje aplikacije. Tak specialist nadzoruje razvojne in administrativne oddelke ter avtomatizira izvajanje njihovih nalog z uvedbo različnih programskih orodij.

Trik DevOps inženirja je v tem, da združuje številne poklice: skrbnika, razvijalca, testerja in upravitelja.

Joe Sanchez, evangelist DevOps pri VMware, podjetju za programsko opremo za virtualizacijo, izpostavil številne veščine, ki jih mora imeti inženir DevOps. Poleg očitnega poznavanja metodologije DevOps mora ta oseba imeti izkušnje z upravljanjem operacijskih sistemov Windows in Linux ter izkušnje z delom z orodji za avtomatizacijo, kot je ChefLutkovnoMožno. Prav tako bi moral znati pisati skripte in kodo v nekaj jezikih ter razumeti omrežne tehnologije.

Inženir DevOps je odgovoren za avtomatizacijo nalog, povezanih s konfiguracijo in uvajanjem aplikacij. Na njegova ramena pade tudi spremljanje programske opreme. Za reševanje teh težav uporablja različne sisteme za upravljanje konfiguracije, rešitve za virtualizacijo in orodja v oblaku za uravnoteženje virov.

Kdo zaposluje

Inženirji DevOps lahko koristijo vsaki organizaciji, ki razvija aplikacije ali upravlja veliko število strežnikov. Inženirji DevOps zaposlujejo IT velikani, kot so Amazon, Adobe in Facebook. Delajo tudi na Netflixu, Walmartu in Etsyju.

Ne zaposluje Inženirji DevOps so le startupi. Njihova naloga je izdati minimalno izvedljiv izdelek za preizkus nove ideje. V večini primerov startupi lahko brez DevOps.

Koliko plačati

Inženirji DevOps zaрабатывают več kot kdorkoli v industriji. Povprečni zaslužek takšnih strokovnjakov po vsem svetu se giblje od 100 do 125 tisoč dolarjev na leto.

V ZDA so dobiti 90 tisoč dolarjev na leto (500 tisoč rubljev na mesec). V Kanadi so plačati 122 tisoč dolarjev na leto (670 tisoč rubljev na mesec), v Veliki Britaniji pa 67,5 tisoč funtov sterlingov na leto (490 tisoč rubljev na mesec).

Kar zadeva Rusijo, moskovska podjetja pripravljen plačajte strokovnjakom DevOps od 100 do 200 tisoč rubljev na mesec. V Sankt Peterburgu so delodajalci nekoliko bolj radodarni - ponujajo 160–360 tisoč rubljev na mesec. V regijah so plače ocenjene na 100–120 tisoč rubljev na mesec.

Kako postati strokovnjak za DevOps

DevOps je relativno nova smer v IT, zato ni vzpostavljenega seznama zahtev za inženirje DevOps. V prostih delovnih mestih med zahtevami za to delovno mesto najdete tako veščine administracije Debian in CentOS kot sposobnost dela z diskovnimi pogoni. RAID polja.

Na podlagi tega lahko sklepamo, da mora imeti inženir DevOps najprej dober tehnični pogled. Za takšno osebo je pomembno, da nenehno spoznava nova orodja in tehnologije.

Najlažji način, da postanete inženir DevOps, bi bil sistemski skrbnik ali razvijalec. Imajo že vrsto veščin, ki jih je treba le še razviti. Glavna naloga je izboljšati minimalni nabor znanja v DevOps, razumeti, kako delati z orodji za avtomatizacijo in zapolniti vrzeli v spretnostih administracije, programiranja in virtualizacije.

Če želite razumeti, kje znanja še vedno manjka, lahko uporabite mini Wikipedia na GitHubu ali mentalni zemljevid. Tudi prebivalci Hacker News priporočam branje knjig "Projekt "Feniks""In"DevOps vodnik" (ki smo ga omenili zgoraj) in "DevOps filozofija. Umetnost upravljanja IT» pod znamko O'Reilly Media.

Lahko se tudi naročite na Tedensko glasilo Devops, preberite tematske članke portal DZone in začnite komunicirati z inženirji DevOps Slab klepet. Prav tako je vredno preveriti brezplačne tečaje Udacity ali EDX.

Objave iz našega bloga:



Vir: www.habr.com

Dodaj komentar