Ano ang pamamaraan ng DevOps at kung sino ang nangangailangan nito

Alamin natin kung ano ang kakanyahan ng pamamaraan at kung sino ang maaari itong makinabang.

Pag-uusapan din natin ang tungkol sa mga espesyalista sa DevOps: ang kanilang mga gawain, suweldo at kasanayan.

Ano ang pamamaraan ng DevOps at kung sino ang nangangailangan nito
Larawan Matt Moore /Flickr/CC BY-SA

Ano ang DevOps

Ang DevOps ay isang software development methodology na ang gawain ay magtatag ng pakikipag-ugnayan sa pagitan ng mga programmer at system administrator sa isang kumpanya. Kung ang mga espesyalista sa IT mula sa iba't ibang mga departamento ay hindi naiintindihan ang mga gawain ng bawat isa, ang pagpapalabas ng mga bagong aplikasyon at mga update para sa kanila ay naantala.

Lumilikha ang DevOps ng isang "walang putol" na ikot ng pag-unlad, sa gayon ay nakakatulong na mapabilis ang paglabas ng isang produkto ng software. Ang pagpapabilis ay nakakamit sa pamamagitan ng pagpapakilala ng mga sistema ng automation. Dagdag pa, ang mga programmer ay nagsisimulang lumahok sa pag-set up ng mga server at paghahanap ng mga bug, halimbawa, maaari silang magsulat ng mga awtomatikong pagsubok.

Pinapabuti nito ang pakikipag-ugnayan sa pagitan ng mga departamento. Nagsisimulang mas maunawaan ng mga empleyado kung anong mga yugto ang pinagdadaanan ng isang produkto ng software bago ito mapunta sa mga kamay ng user.

Kapag naiintindihan ng isang developer kung ano ang kinakaharap ng isang administrator kapag nagse-set up ng isang server, susubukan niyang pakinisin ang mga posibleng "matalim na sulok" sa code. Binabawasan nito ang bilang ng mga bug kapag nagde-deploy ng isang application - ayon sa mga istatistika, ito Bumababa mga limang beses.

Sino ang nangangailangan at hindi nangangailangan ng pamamaraan

Marami Naniniwala ang mga eksperto sa ITna makikinabang ang DevOps sa anumang organisasyon na bubuo ng software. Ito ay totoo kahit na ang kumpanya ay isang simpleng mamimili ng mga serbisyong IT at hindi bumuo ng sarili nitong mga aplikasyon. Sa kasong ito, ang pagpapatupad ng kultura ng DevOps ay makakatulong sa iyong tumuon sa pagbabago.

Exception gumawa ng up mga startup, ngunit narito ang lahat ay nakasalalay sa laki ng proyekto. Kung ang layunin mo ay maglunsad ng minimum viable product (MVP) para sumubok ng bagong ideya, magagawa mo nang walang DevOps. Halimbawa, ang tagapagtatag ng Groupon ay nagsimulang magtrabaho nang manu-mano sa serbisyo nai-post lahat ng mga alok sa website at nakolektang mga order. Hindi siya gumamit ng anumang mga tool sa automation.

Makatuwiran lamang na ipatupad ang pamamaraan ng automation at mga tool kapag nagsimulang makakuha ng katanyagan ang application. Makakatulong ito sa pag-streamline ng mga proseso ng negosyo at pabilisin ang paglabas ng mga update.

Paano ipatupad ang DevOps

Nasa ibaba ang ilang rekomendasyon para sa paglipat sa isang bagong pamamaraan.

Kilalanin ang mga problema sa mga proseso ng negosyo. Bago ipatupad ang pamamaraan, i-highlight ang mga layunin at problema ng organisasyon. Ang diskarte para sa paglipat sa DevOps ay depende sa kanila. Upang gawin ito, gumawa ng isang listahan ng mga tanong, halimbawa:

  • Ano ang pinakamatagal kapag nag-a-update ng software?
  • Posible bang i-automate ang prosesong ito?
  • Naaapektuhan ba ito ng istruktura ng organisasyon?

Matuto pa tungkol sa pagtukoy ng mga problema sa isang organisasyon mababasa sa mga libro Β«Proyekto "Phoenix""At"Gabay sa DevOpsΒ» mula sa mga may-akda ng pamamaraan.

Baguhin ang kultura sa kumpanya. Mahalagang kumbinsihin ang lahat ng empleyado na baguhin ang kanilang karaniwang paraan ng pagtatrabaho at palawakin ang kanilang hanay ng mga kakayahan. Halimbawa, sa Facebook lahat ng programmer sagot para sa buong ikot ng buhay ng application: mula sa coding hanggang sa pagpapatupad. Gayundin, ang Facebook ay walang hiwalay na departamento ng pagsubok - ang mga pagsubok ay isinulat mismo ng mga developer.

Magsimula nang maliit. Piliin ang proseso na tumatagal ng pinakamaraming oras at pagsisikap kapag naglalabas ng mga update at i-automate ito. Ito marahil pagsubok o proseso ng pag-deploy ng application. Eksperto payuhan Ang unang hakbang ay ang ipatupad ang mga distributed version control tool. Ginagawa nilang mas madaling pamahalaan ang mga mapagkukunan. Sa mga ganitong solusyon, ang pinakatanyag ay ang Git, Mercurial, Subversion (SVN) at CVS.

Ito rin ay nagkakahalaga ng pagbibigay pansin sa tuluy-tuloy na mga sistema ng pagsasama na responsable para sa pag-assemble at pagsubok sa huling produkto. Mga halimbawa ng naturang mga tool: Jenkins, TeamCity at Bamboo.

Suriin ang mga pagpapabuti. Bumuo ng mga sukatan ng pagganap para sa mga ipinatupad na solusyon at gumawa ng checklist. Maaaring kabilang sa mga sukatan ang dalas ng paglabas, oras na ginugol sa pagtatrabaho sa mga feature ng software, at ang bilang ng mga bug sa code. Talakayin ang mga resulta hindi lamang sa mga tagapamahala, kundi pati na rin sa iba pang pangkat na kasangkot sa proyekto. Itanong kung anong mga tool ang kulang. Isaalang-alang ang mga kahilingang ito kapag mas in-optimize ang iyong mga proseso.

Pagpuna sa DevOps

Bagama't ang pamamaraan tumutulong ang mga organisasyon ay maaaring gumawa ng mas mabilis na mga desisyon tungkol sa pagbuo ng application, mga hiwa ang bilang ng mga error sa software at hinihikayat ang mga empleyado na matuto ng mga bagong bagay, mayroon din itong mga kritiko.

Mayroon opinyonna hindi dapat maunawaan ng mga programmer ang mga detalye ng gawain ng mga tagapangasiwa ng system. Diumano, ang DevOps ay humahantong sa katotohanan na sa halip na mga espesyalista sa pag-unlad o pangangasiwa, ang kumpanya ay may mga taong nakakaunawa sa lahat, ngunit mababaw.

Ito rin ay pinaniniwalaan na ang DevOps hindi gumagana na may mahinang pamamahala. Kung walang mga karaniwang layunin ang development at admin team, ang mga manager ang dapat sisihin sa hindi pag-aayos ng komunikasyon sa pagitan ng mga team. Upang malutas ang problemang ito, ang kailangan ay hindi isang bagong pamamaraan, ngunit isang sistema para sa pagsusuri ng mga tagapamahala batay sa feedback mula sa mga subordinates. Mababasa mo dito, anong mga tanong ang dapat isama sa mga form ng survey ng empleyado.

Ano ang pamamaraan ng DevOps at kung sino ang nangangailangan nito
Larawan Ed Ivanushkin /Flickr/CC BY-SA

Sino ang isang DevOps Engineer

Isang DevOps engineer ang nagpapatupad ng DevOps methodology. Sini-synchronize nito ang lahat ng mga yugto ng paglikha ng produkto ng software: mula sa pagsusulat ng code hanggang sa pagsubok at pag-release ng application. Kinokontrol ng naturang espesyalista ang mga departamento ng pag-unlad at pangangasiwa, pati na rin ang pag-automate ng pagpapatupad ng kanilang mga gawain sa pamamagitan ng pagpapakilala ng iba't ibang mga tool sa software.

Ang trick ng isang DevOps engineer ay pinagsasama niya ang maraming propesyon: administrator, developer, tester at manager.

Joe Sanchez, DevOps evangelist sa VMware, isang virtualization software company, iniisa-isa ilang mga kasanayan na dapat mayroon ang isang DevOps engineer. Bilang karagdagan sa malinaw na kaalaman sa pamamaraan ng DevOps, ang taong ito ay dapat magkaroon ng karanasan sa pangangasiwa ng mga operating system ng Windows at Linux at karanasan sa pagtatrabaho sa mga tool sa automation tulad ng Punong tagapaglutoPuppetAnsible. Dapat din siyang magsulat ng mga script at code sa isang pares ng mga wika at maunawaan ang mga teknolohiya ng network.

Ang isang DevOps engineer ay responsable para sa anumang automation ng mga gawain na nauugnay sa pag-configure at pag-deploy ng mga application. Ang pagsubaybay ng software ay nahuhulog din sa kanyang mga balikat. Upang malutas ang mga problemang ito, gumagamit siya ng iba't ibang mga sistema ng pamamahala ng pagsasaayos, mga solusyon sa virtualization at mga tool sa ulap para sa pagbabalanse ng mga mapagkukunan.

Sino ang hire

Maaaring makinabang ang mga inhinyero ng DevOps sa anumang organisasyon na bumuo ng mga application o namamahala ng malaking bilang ng mga server. Mga inhinyero ng DevOps ay nangungupahan Mga higanteng IT tulad ng Amazon, Adobe at Facebook. Gumagana rin sila sa Netflix, Walmart at Etsy.

Hindi hiring Ang mga inhinyero ng DevOps ay mga startup lamang. Ang kanilang trabaho ay maglabas ng isang minimum na mabubuhay na produkto upang subukan ang isang bagong ideya. Sa karamihan ng mga kaso, magagawa ng mga startup nang walang DevOps.

Magkano ang bayad

Mga inhinyero ng DevOps kumita higit sa sinuman sa industriya. Ang average na kita ng mga naturang espesyalista sa buong mundo ay mula 100 hanggang 125 libong dolyar bawat taon.

Sa USA sila kumuha 90 libong dolyar bawat taon (500 libong rubles bawat buwan). Sa Canada sila magbayad 122 libong dolyar bawat taon (670 libong rubles bawat buwan), at sa UK - 67,5 libong pounds bawat taon (490 libong rubles bawat buwan).

Tulad ng para sa Russia, mga kumpanya ng Moscow handa na magbayad ng mga espesyalista sa DevOps mula 100 hanggang 200 libong rubles bawat buwan. Sa St. Petersburg, ang mga tagapag-empleyo ay medyo mas mapagbigay - nag-aalok sila ng 160-360 libong rubles bawat buwan. Sa mga rehiyon, ang mga suweldo ay sinipi sa 100-120 libong rubles bawat buwan.

Paano maging isang espesyalista sa DevOps

Ang DevOps ay medyo bagong direksyon sa IT, kaya walang itinatag na listahan ng mga kinakailangan para sa mga inhinyero ng DevOps. Sa mga bakante, kabilang sa mga kinakailangan para sa posisyon na ito ay makikita mo ang parehong mga kasanayan sa pangangasiwa ng Debian at CentOS at ang kakayahang magtrabaho sa mga disk drive. Mga array ng RAID.

Batay dito, maaari nating tapusin na, una sa lahat, ang isang DevOps engineer ay dapat magkaroon ng magandang teknikal na pananaw. Mahalaga para sa gayong tao na patuloy na matuto ng mga bagong tool at teknolohiya.

Ang pinakamadaling paraan upang maging isang DevOps engineer ay isang system administrator o developer. Mayroon na silang ilang mga kasanayan na kailangan lamang paunlarin. Ang pangunahing gawain ay pahusayin ang pinakamababang hanay ng kaalaman sa DevOps, maunawaan kung paano magtrabaho sa mga tool sa automation at punan ang mga puwang sa mga kasanayan sa pangangasiwa, programming at virtualization.

Upang maunawaan kung saan ang kaalaman ay kulang pa, maaari mong gamitin mini-Wikipedia sa GitHub o mapa ng kaisipan. Mga residente rin ng Hacker News magrekomenda Magbasa ng mga aklat "Proyekto "Phoenix""At"Gabay sa DevOps" (na binanggit namin sa itaas) at "Pilosopiya ng DevOps. Ang Sining ng Pamamahala ng ITΒ» sa ilalim ng selyo ng O'Reilly Media.

Maaari ka ring mag-subscribe sa Devops Lingguhang newsletter, basahin ang mga paksang artikulo portal DZone at magsimulang makipag-ugnayan sa mga inhinyero ng DevOps sa Slack chat. Ito ay nagkakahalaga din na tingnan ang mga libreng kurso sa Udacity o EDX.

Mga post mula sa aming blog:



Pinagmulan: www.habr.com

Magdagdag ng komento