Ngano nga gikinahanglan ang DevOps ug kinsa ang mga espesyalista sa DevOps?

Kung ang usa ka aplikasyon dili molihok, ang katapusan nga butang nga gusto nimong madungog gikan sa imong mga kauban mao ang hugpong sa mga pulong nga "ang problema anaa sa imong kiliran." Ingon usa ka sangputanan, ang mga tiggamit nag-antus - ug wala nila igsapayan kung unsang bahin sa team ang responsable sa pagkaguba. Ang kultura sa DevOps tukma nga mitumaw aron mahiusa ang pag-uswag ug suporta sa usa ka gipaambit nga responsibilidad alang sa katapusan nga produkto.

Unsa nga mga gawi ang gilakip sa konsepto sa DevOps ug ngano nga kini kinahanglan? Unsa ang gibuhat sa mga inhenyero sa DevOps ug unsa ang kinahanglan nilang mahimo? Ang mga eksperto gikan sa EPAM motubag niini ug uban pang mga pangutana: Kirill Sergeev, systems engineer ug DevOps evangelist, ug Igor Boyko, nanguna nga systems engineer ug coordinator sa usa sa DevOps teams sa kompanya.

Ngano nga gikinahanglan ang DevOps ug kinsa ang mga espesyalista sa DevOps?

Ngano nga gikinahanglan ang DevOps?

Kaniadto, adunay usa ka babag tali sa mga developer ug suporta (gitawag nga operasyon). Morag kasukwahi kini, apan lainlain ang ilang mga katuyoan ug KPI, bisan kung parehas ang ilang gibuhat. Ang katuyoan sa pag-uswag mao ang pagpatuman sa mga kinahanglanon sa negosyo sa labing madali ug idugang kini sa usa ka nagtrabaho nga produkto. Ang suporta mao ang responsable sa pagsiguro nga ang aplikasyon nagtrabaho nga lig-on - ug bisan unsang mga pagbag-o nagbutang sa kalig-on sa peligro. Adunay panagbangi sa interes - ang DevOps nagpakita aron masulbad kini.

Unsa ang DevOps?

Kini usa ka maayo nga pangutana - ug usa ka kontrobersyal: ang kalibutan wala pa sa katapusan nagkauyon niini. Ang EPAM nagtuo nga ang DevOps naghiusa sa mga teknolohiya, proseso ug kultura sa interaksyon sulod sa usa ka team. Kini nga asosasyon nagtumong sa padayon nga paghatud sa kantidad sa katapusan nga mga tiggamit.

Kirill Sergeev: β€œAng mga developer nagsulat og code, ang mga tester nagrepaso niini, ug ang mga administrador nag-deploy sa kataposang produkto ngadto sa produksyon. Sulod sa dugay nga panahon, kini nga mga bahin sa grupo medyo nagkatibulaag, ug dayon ang ideya mitungha aron mahiusa sila pinaagi sa usa ka sagad nga proseso. Ingon niini ang pagpakita sa mga gawi sa DevOps. ”

Miabot ang adlaw nga ang mga developer ug system engineer nahimong interesado sa trabaho sa usag usa. Ang babag tali sa produksiyon ug suporta nagsugod sa pagkahanaw. Kini ang paagi nga mitumaw ang DevOps, nga naglakip sa mga praktis, kultura ug interaksyon sa team.

Ngano nga gikinahanglan ang DevOps ug kinsa ang mga espesyalista sa DevOps?

Unsa ang esensya sa kultura sa DevOps?

Ang kamatuoran mao nga ang responsibilidad alang sa katapusan nga resulta anaa sa matag sakop sa team. Ang labing makapaikag ug lisud nga butang sa pilosopiya sa DevOps mao ang pagsabut nga ang usa ka piho nga tawo dili lamang responsable sa iyang kaugalingon nga yugto sa trabaho, apan responsable kung giunsa ang tibuuk nga produkto molihok. Ang problema wala sa kiliran ni bisan kinsa - kini gipaambit, ug ang matag miyembro sa team makatabang sa pagsulbad niini.

Ang labing hinungdanon nga butang sa usa ka kultura sa DevOps mao ang pagsulbad sa problema, dili lang paggamit sa mga gawi sa DevOps. Dugang pa, kini nga mga gawi wala gipatuman "sa kilid sa usa ka tawo", apan sa tibuuk nga produkto. Ang usa ka proyekto wala magkinahanglan og usa ka DevOps engineer per se - kini nagkinahanglan og solusyon sa usa ka problema, ug ang papel sa usa ka DevOps engineer mahimong maapod-apod sa pipila ka mga miyembro sa team nga adunay lain-laing mga espesyalisasyon.

Unsa ang mga klase sa mga gawi sa DevOps?

Ang mga gawi sa DevOps naglangkob sa tanan nga mga yugto sa siklo sa kinabuhi sa software.

Igor Boyko: "Ang sulundon nga kaso mao kung magsugod kami sa paggamit sa mga gawi sa DevOps sa pagsugod sa usa ka proyekto. Kauban sa mga arkitekto, nagplano kami kung unsang klase nga talan-awon sa arkitektura ang magamit sa aplikasyon, kung diin kini mahimutang ug kung giunsa ang pagsukod, ug pagpili sa usa ka plataporma. Karong panahona, ang arkitektura sa microservice naa sa uso - alang niini gipili namon ang usa ka sistema sa orkestrasyon: kinahanglan nimo nga madumala ang matag elemento sa aplikasyon nga gilain ug i-update kini nga independente sa uban. Ang laing praktis mao ang "imprastraktura isip code." Kini ang ngalan alang sa usa ka pamaagi diin ang imprastraktura sa proyekto gihimo ug gidumala gamit ang code, kaysa pinaagi sa direkta nga pakig-uban sa mga server.

Sunod kita magpadayon sa yugto sa pag-uswag. Usa sa pinakadako nga praktis dinhi mao ang pagtukod og CI/CD: kinahanglan nimo nga tabangan ang mga developers nga i-integrate ang mga kausaban sa produkto nga dali, sa gagmay nga mga bahin, mas kanunay ug walay sakit. Gisakup sa CI / CD ang pagrepaso sa code, pag-upload sa master sa base sa code, ug pag-deploy sa aplikasyon sa pagsulay ug mga palibot sa produksiyon.

Sa mga yugto sa CI/CD, ang code moagi sa kalidad nga mga ganghaan. Uban sa ilang tabang, ilang gisusi nga ang code nga mogawas sa workstation sa developer nakab-ot ang gipiho nga kalidad nga pamatasan. Ang pagsulay sa yunit ug UI gidugang dinhi. Para sa paspas, walay sakit ug nakapokus nga deployment sa produkto, makapili ka sa angay nga tipo sa deployment.

Ang mga practitioner sa DevOps adunay lugar usab sa yugto sa pagsuporta sa nahuman nga produkto. Gigamit kini alang sa pagmonitor, feedback, seguridad, ug pagpaila sa mga pagbag-o. Gitan-aw sa DevOps ang tanan niini nga mga buluhaton gikan sa padayon nga pag-uswag nga panan-aw. Gipamenos namo ang nagbalikbalik nga mga operasyon ug gi-automate kini. Naglakip usab kini sa mga paglalin, pagpalapad sa aplikasyon, ug suporta sa pasundayag.

Unsa ang mga kaayohan sa mga gawi sa DevOps?

Kung nagsulat kami usa ka libro sa modernong mga gawi sa DevOps, adunay tulo nga punto sa una nga panid: automation, pagpadali sa pagpagawas, ug paspas nga feedback gikan sa mga tiggamit.

Kirill Sergeev: β€œAng unang butang mao ang automation. Mahimo namon nga awtomatiko ang tanan nga mga interaksyon sa team: gisulat ang code - gilukot kini - gisusi kini - gi-install kini - nakolekta nga feedback - gibalik sa sinugdanan. Tanan kini awtomatiko.

Ang ikaduha mao ang pagpadali sa pagpagawas ug pagpayano pa sa kalamboan. Kanunay nga hinungdanon alang sa kustomer nga ang produkto mosulod sa merkado sa labing madali nga panahon ug magsugod sa paghatag mga benepisyo sa sayo pa kaysa sa mga analogue sa mga kakompetensya. Ang proseso sa paghatud sa produkto mahimong mapauswag nga walay katapusan: pagpakunhod sa oras, pagdugang dugang nga mga marka sa pagkontrol, pagpauswag sa pag-monitor.

Ikatulo mao ang pagpadali sa feedback sa user. Kung naa siyay mga komento, mahimo dayon namon nga maghimo mga pagbag-o ug i-update dayon ang aplikasyon. ”

Ngano nga gikinahanglan ang DevOps ug kinsa ang mga espesyalista sa DevOps?

Giunsa ang pagkalambigit sa mga konsepto sa "system engineer", "build engineer" ug "DevOps engineer"?

Nagsapaw sila, apan nahisakop sa gamay nga lainlaing mga lugar.

Ang systems engineer sa EPAM usa ka posisyon. Nag-abut sila sa lainlaing lebel: gikan sa junior hangtod sa punoan nga espesyalista.

Ang usa ka engineer sa pagtukod labaw pa sa usa ka papel nga mahimo sa usa ka proyekto. Karon mao kini ang tawag sa mga tawo nga responsable sa CI/CD.

Ang usa ka inhenyero sa DevOps usa ka espesyalista nga nagpatuman sa mga gawi sa DevOps sa usa ka proyekto.

Kung gisumada namon ang tanan, makakuha kami usa ka butang nga sama niini: ang usa ka tawo sa posisyon sa usa ka system engineer nagdula sa papel sa usa ka build engineer sa usa ka proyekto ug nalambigit sa pagpatuman sa mga gawi sa DevOps didto.

Unsa man gyud ang gibuhat sa usa ka engineer sa DevOps?

Gihiusa sa mga inhenyero sa DevOps ang tanan nga mga piraso nga naglangkob sa usa ka proyekto. Nahibal-an nila ang mga detalye sa trabaho sa mga programmer, tester, mga tagdumala sa sistema ug makatabang sa pagpayano sa ilang trabaho. Nasabtan nila ang mga panginahanglan ug mga kinahanglanon sa negosyo, ang papel niini sa proseso sa pag-uswag - ug gitukod ang proseso nga gikonsiderar ang interes sa kustomer.

Daghan kami nga naghisgot bahin sa automation - kini ang una ug labaw sa tanan nga giatubang sa mga inhenyero sa DevOps. Kini usa ka dako kaayo nga punto, nga, lakip sa ubang mga butang, naglakip sa pag-andam sa palibot.

Kirill Sergeev: "Sa wala pa ipatuman ang mga update sa produkto, kinahanglan nga sulayan sila sa usa ka third-party nga palibot. Giandam kini sa mga inhenyero sa DevOps. Gisilsil nila ang usa ka kultura sa DevOps sa proyekto sa kinatibuk-an: gipaila nila ang mga gawi sa DevOps sa tanan nga mga layer sa ilang mga proyekto. Kining tulo ka mga prinsipyo: automation, pagpayano, pagpadali - ilang gidala bisan asa sila makaabot.

Unsa ang kinahanglan mahibal-an sa usa ka engineer sa DevOps?

Sa kinatibuk-an, kinahanglan siya adunay kahibalo gikan sa lainlaing mga lugar: pagprograma, pagtrabaho kauban ang mga operating system, database, asembliya ug mga sistema sa pagsumpo. Gidugangan kini sa abilidad sa pagtrabaho sa imprastraktura sa panganod, orkestrasyon ug mga sistema sa pag-monitor.

1. Mga pinulongan sa pagprograma

Ang mga inhenyero sa DevOps nahibal-an ang daghang sukaranan nga mga sinultian alang sa automation ug mahimo, pananglitan, isulti sa usa ka programmer: "Unsaon nimo pag-install ang code dili pinaagi sa kamot, apan gamit ang among script, nga nag-automate sa tanan? Mag-andam kami og usa ka config file alang niini, kini mahimong sayon ​​​​alang kanimo ug kanamo sa pagbasa, ug mahimo namong usbon kini bisan unsang orasa. Atong tan-awon usab kung kinsa, kanus-a ug ngano nga nagbag-o niini. ”

Ang usa ka DevOps engineer makakat-on sa usa o daghan pa niini nga mga pinulongan: Python, Groovy, Bash, Powershell, Ruby, Go. Dili kinahanglan nga mahibal-an sila sa lawom nga lebel - ang mga sukaranan sa syntax, mga prinsipyo sa OOP, ug ang abilidad sa pagsulat sa yano nga mga script alang sa automation igo na.

2. Mga operating system

Kinahanglang masabtan sa usa ka inhenyero sa DevOps kung unsa nga server ang i-install sa produkto, kung unsang palibot ang pagdagan niini, ug kung unsang mga serbisyo ang makig-uban niini. Makapili ka nga mag-espesyalisar sa Windows o sa pamilya sa Linux.

3. Mga sistema sa pagkontrol sa bersyon

Kung wala’y kahibalo sa usa ka sistema sa pagkontrol sa bersyon, usa ka engineer sa DevOps wala bisan diin. Ang Git usa sa labing inila nga mga sistema sa pagkakaron.

4. Cloud providers

AWS, Google, Azure - labi na kung naghisgot kami bahin sa direksyon sa Windows.

Kirill Sergeev: β€œAng cloud providers naghatag kanamo ug virtual servers nga mohaum sa CI/CD.

Ang pag-instalar sa napulo ka pisikal nga server nanginahanglan mga usa ka gatos nga manual nga operasyon. Ang matag server kinahanglan nga mano-mano nga ilunsad, i-install ug i-configure ang gikinahanglan nga operating system, i-install ang among aplikasyon niining napulo ka mga server, ug dayon doblehon ang pagsusi sa tanan sa napulo ka beses. Gipulihan sa mga serbisyo sa panganod kini nga pamaagi sa napulo ka linya sa code, ug ang usa ka maayo nga inhenyero sa DevOps kinahanglan nga makalihok uban kanila. Kini makadaginot sa panahon, paningkamot ug salapi – para sa kustomer ug sa kompanya.”

5. Mga sistema sa orkestra: Docker ug Kubernetes

Kirill Sergeev: "Ang mga virtual nga server gibahin sa mga sudlanan, diin ang matag usa mahimo namon ma-install ang among aplikasyon. Kung adunay daghang mga sudlanan, kinahanglan nimo nga dumalahon kini: i-on ang usa, i-off ang lain, paghimo og backup sa bisan diin. Nahimong komplikado kini ug nanginahanglan usa ka sistema sa orkestra.

Kaniadto, ang matag aplikasyon gidumala sa usa ka bulag nga server - ang bisan unsang mga pagbag-o sa operasyon niini mahimong makaapekto sa kadali sa serbisyo sa aplikasyon. Salamat sa mga sudlanan, ang mga aplikasyon mahimong nahimulag ug nagdagan nga gilain - ang matag usa sa kaugalingon nga virtual machine. Kung mahitabo ang usa ka kapakyasan, dili kinahanglan nga mag-usik ug oras sa pagpangita sa hinungdan. Mas sayon ​​ang pagguba sa daan nga sudlanan ug pagdugang og bag-o.”

6. Mga sistema sa pag-configure: Chef, Ansible, Puppet

Kung kinahanglan nimo nga magpadayon ang usa ka tibuuk nga panon sa mga server, kinahanglan nimo nga buhaton ang daghang parehas nga tipo sa mga operasyon. Kini taas ug lisud, ug ang manwal nga trabaho nagdugang usab sa higayon sa sayup. Dinhi diin ang mga sistema sa pag-configure moabut aron sa pagluwas. Sa ilang tabang, naghimo sila usa ka script nga dali basahon alang sa mga programmer, mga inhenyero sa DevOps, ug mga tagdumala sa sistema. Kini nga script makatabang sa paghimo sa parehas nga mga operasyon sa mga server nga awtomatiko. Gipamenos niini ang mga manual nga operasyon (ug busa mga sayup).

Unsang klase sa karera ang mahimo sa usa ka inhenyero sa DevOps?

Mahimo nimong pauswagon ang duha nga pinahigda ug patindog.

Igor Boyko: "Gikan sa punto sa panglantaw sa pinahigda nga pag-uswag, ang mga inhenyero sa DevOps karon adunay pinakalapad nga mga palaaboton. Ang tanan kanunay nga nagbag-o, ug mahimo ka magtukod mga kahanas sa lainlaing mga lugar: gikan sa mga sistema sa pagkontrol sa bersyon hangtod sa pag-monitor, gikan sa pagdumala sa pag-configure hangtod sa mga database.

Mahimo ka nga usa ka arkitekto sa sistema kung ang usa ka empleyado interesado nga masabtan kung giunsa ang usa ka aplikasyon molihok sa tanan nga mga yugto sa siklo sa kinabuhi - gikan sa pag-uswag hangtod sa suporta.

Giunsa nga mahimong usa ka engineer sa DevOps?

  1. Basaha ang Phoenix Project ug DevOps Handbook. Kini ang tinuud nga mga haligi sa pilosopiya sa DevOps, nga ang una usa ka buhat sa fiction.
  2. Pagkat-on sa mga teknolohiya gikan sa listahan sa ibabaw: sa imong kaugalingon o pinaagi sa online nga mga kurso.
  3. Apil isip usa ka DevOps engineer alang sa usa ka open source nga proyekto.
  4. Pagpraktis ug pagtanyag ug mga gawi sa DevOps sa imong personal ug mga proyekto sa trabaho.

Source: www.habr.com

Idugang sa usa ka comment