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Ä.
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.