DevOps ir programmatūras izstrādes metodoloģija, kuras uzdevums ir izveidot mijiedarbību starp programmētājiem un sistēmu administratoriem uzņēmumā. Ja IT speciālisti no dažādām nodaļām nesaprot viens otra uzdevumus, aizkavējas jaunu aplikāciju un to atjauninājumu izlaišana.
DevOps izveido "nevainojamu" izstrādes ciklu, tādējādi palīdzot paātrināt programmatūras produkta izlaišanu. Paātrinājums tiek panākts, ieviešot automatizācijas sistēmas. Turklāt programmētāji sāk piedalīties serveru iestatīšanā un kļūdu atrašanā, piemēram, viņi var rakstīt automatizētus testus.
Tas uzlabo sadarbību starp departamentiem. Darbinieki sāk labāk saprast, kādus posmus programmatūras produkts iziet, pirms tas nonāk lietotāja rokās.
Kad izstrādātājs saprot, ar ko saskaras administrators, uzstādot serveri, viņš mēģinās izlīdzināt iespējamos koda “asos stūrus”. Tas samazina kļūdu skaitu, izvietojot lietojumprogrammu - saskaņā ar statistiku, tas samazinās apmēram piecas reizes.
Kam vajag un kam nevajag metodiku
Daudzi IT eksperti uzskataka DevOps gūs labumu jebkurai organizācijai, kas izstrādā programmatūru. Tā ir arī tad, ja uzņēmums ir vienkāršs IT pakalpojumu patērētājs un pats neizstrādā lietojumprogrammas. Šajā gadījumā DevOps kultūras ieviešana palīdzēs jums koncentrēties uz jauninājumiem.
Izņēmums kontu startup, bet šeit viss ir atkarīgs no projekta mēroga. Ja jūsu mērķis ir palaist minimālu dzīvotspējīgu produktu (MVP), lai pārbaudītu jaunu ideju, varat iztikt bez DevOps. Piemēram, Groupon dibinātājs sāka strādāt pie pakalpojuma manuāli izlikts visi piedāvājumi vietnē un apkopotie pasūtījumi. Viņš neizmantoja nekādus automatizācijas rīkus.
Ir jēga ieviest automatizācijas metodiku un rīkus tikai tad, kad lietojumprogramma sāk iegūt popularitāti. Tas palīdzēs racionalizēt biznesa procesus un paātrināt atjauninājumu izlaišanu.
Kā ieviest DevOps
Tālāk ir sniegti daži ieteikumi pārejai uz jaunu metodiku.
Identificēt problēmas biznesa procesos. Pirms metodoloģijas ieviešanas izceliet organizācijas mērķus un problēmas. No tiem būs atkarīga stratēģija pārejai uz DevOps. Lai to izdarītu, izveidojiet jautājumu sarakstu, piemēram:
Kas aizņem visvairāk laika, atjauninot programmatūru?
Mainiet kultūru uzņēmumā. Ir svarīgi pārliecināt visus darbiniekus mainīt ierastos darba veidus un paplašināt savu kompetenču loku. Piemēram, Facebook visi programmētāji atbildi visam lietojumprogrammas dzīves ciklam: no kodēšanas līdz ieviešanai. Tāpat Facebook nav atsevišķas testēšanas nodaļas – testus raksta paši izstrādātāji.
Sāciet ar mazumiņu. Izvēlieties procesu, kas prasa visvairāk laika un pūļu, izlaižot atjauninājumus, un automatizējiet to. Šis varbūt testēšanas vai lietojumprogrammas izvietošanas process. Eksperti ieteikt Pirmais solis ir ieviest izplatītus versiju kontroles rīkus. Tie atvieglo avotu pārvaldību. Starp šādiem risinājumiem slavenākie ir Git, Mercurial, Subversion (SVN) un CVS.
Ir arī vērts pievērst uzmanību nepārtrauktas integrācijas sistēmām, kas ir atbildīgas par gala produkta montāžu un testēšanu. Šādu rīku piemēri: Jenkins, TeamCity un Bamboo.
Novērtējiet uzlabojumus. Izstrādājiet ieviesto risinājumu veiktspējas rādītājus un izveidojiet kontrolsarakstu. Metrika var ietvert izlaišanas biežumu, laiku, kas pavadīts, strādājot pie programmatūras funkcijām, un kļūdu skaitu kodā. Pārrunājiet rezultātus ne tikai ar vadītājiem, bet arī ar pārējo projektā iesaistīto komandu. Jautājiet, kādi instrumenti trūkst. Ņemiet vērā šos pieprasījumus, turpinot optimizēt procesus.
DevOps kritika
Lai gan metodoloģija palīdz organizācijas var pieņemt ātrākus lēmumus par lietojumprogrammu izstrādi, izcirtņi kļūdu skaitu programmatūrā un mudina darbiniekus apgūt jaunas lietas, tai ir arī kritiķi.
Ir viedokliska programmētājiem nevajadzētu saprast sistēmas administratoru darba detaļas. DevOps it kā noved pie tā, ka attīstības vai administrēšanas speciālistu vietā uzņēmumā strādā cilvēki, kas visu saprot, bet virspusēji.
Tiek arī uzskatīts, ka DevOps nedarbojas ar sliktu vadību. Ja izstrādes un adminu komandām nav kopīgu mērķu, tad vainīgi ir vadītāji, kas nav organizējuši komunikāciju starp komandām. Lai atrisinātu šo problēmu, ir nepieciešama nevis jauna metodika, bet gan vadītāju novērtēšanas sistēma, kas balstīta uz padotajiem sniegtajām atsauksmēm. To var izlasīt šeit, kādi jautājumi jāiekļauj darbinieku aptaujas veidlapās.
DevOps inženieris ievieš DevOps metodoloģiju. Tas sinhronizē visus programmatūras produkta izveides posmus: no koda rakstīšanas līdz lietojumprogrammas testēšanai un izlaišanai. Šāds speciālists kontrolē izstrādes un administrācijas nodaļas, kā arī automatizē to uzdevumu izpildi, ieviešot dažādus programmatūras rīkus.
DevOps inženiera viltība ir tāda, ka viņš apvieno daudzas profesijas: administratoru, izstrādātāju, testētāju un vadītāju.
Džo Sančess, DevOps evaņģēlists VMware, virtualizācijas programmatūras uzņēmumā, izcelt vairākas prasmes, kurām jābūt DevOps inženierim. Papildus acīmredzamajām zināšanām par DevOps metodoloģiju šai personai ir jābūt pieredzei Windows un Linux operētājsistēmu administrēšanā un pieredzei darbā ar tādiem automatizācijas rīkiem kā Šefpavārs, marionete, Iespējams. Viņam arī jāspēj rakstīt skriptus un kodu pāris valodās un saprast tīkla tehnoloģijas.
DevOps inženieris ir atbildīgs par jebkuru uzdevumu automatizāciju, kas saistīti ar lietojumprogrammu konfigurēšanu un izvietošanu. Uz viņa pleciem gulstas arī programmatūras uzraudzība. Šo problēmu risināšanai viņš izmanto dažādas konfigurācijas pārvaldības sistēmas, virtualizācijas risinājumus un mākoņa rīkus resursu balansēšanai.
Kas pieņem darbā
DevOps inženieri var gūt labumu jebkurai organizācijai, kas izstrādā lietojumprogrammas vai pārvalda lielu skaitu serveru. DevOps inženieri pieņem darbā IT giganti, piemēram, Amazon, Adobe un Facebook. Viņi strādā arī Netflix, Walmart un Etsy.
Neņem darbā DevOps inženieri ir tikai jaunizveidotie uzņēmumi. Viņu uzdevums ir izlaist minimālu dzīvotspējīgu produktu, lai pārbaudītu jaunu ideju. Vairumā gadījumu jaunizveidotie uzņēmumi var iztikt bez DevOps.
Cik maksā
DevOps inženieri nopelnīt vairāk nekā jebkurš cits šajā nozarē. Šādu speciālistu vidējie ienākumi visā pasaulē svārstās no 100 līdz 125 tūkstošiem dolāru gadā.
ASV viņi gūt 90 tūkstoši dolāru gadā (500 tūkstoši rubļu mēnesī). Kanādā viņi tiek apmaksāti 122 tūkstoši dolāru gadā (670 tūkstoši rubļu mēnesī), bet Apvienotajā Karalistē - 67,5 tūkstoši sterliņu mārciņu gadā (490 tūkstoši rubļu mēnesī).
Kas attiecas uz Krieviju, Maskavas uzņēmumiem gatavs maksāt DevOps speciālistiem no 100 līdz 200 tūkstošiem rubļu mēnesī. Sanktpēterburgā darba devēji ir nedaudz dāsnāki - piedāvā 160-360 tūkstošus rubļu mēnesī. Reģionos algas ir 100–120 tūkstoši rubļu mēnesī.
Kā kļūt par DevOps speciālistu
DevOps ir salīdzinoši jauns IT virziens, tāpēc DevOps inženieriem nav noteikts prasību saraksts. Vakancēs starp prasībām šim amatam var atrast gan Debian un CentOS administrēšanas prasmes, gan spēju strādāt ar diskdziņiem. RAID masīvi.
Pamatojoties uz to, mēs varam secināt, ka, pirmkārt, DevOps inženierim ir jābūt ar labu tehnisko perspektīvu. Šādai personai ir svarīgi pastāvīgi apgūt jaunus rīkus un tehnoloģijas.
Vienkāršākais veids, kā kļūt par DevOps inženieri, būtu sistēmas administrators vai izstrādātājs. Viņiem jau ir vairākas prasmes, kuras tikai jāattīsta. Galvenais uzdevums ir pilnveidot minimālo zināšanu kopumu DevOps, saprast, kā strādāt ar automatizācijas rīkiem un aizpildīt nepilnības administrēšanas, programmēšanas un virtualizācijas prasmēs.
Lai saprastu, kur vēl trūkst zināšanu, varat izmantot mini Wikipedia vietnē GitHub vai mentālā karte. Hacker News iedzīvotāji arī Ieteikt Lasīt grāmatas "Projekts "Fēnikss""Un"DevOps rokasgrāmata"(kuru mēs minējām iepriekš) un "DevOps filozofija. IT vadības māksla» zem O'Reilly Media zīmoga.