DevOps Guide kune Vanotanga

Chii chakakosha cheDevOps, zvinorevei kune vadzidzisi veIT, tsananguro yenzira, hurongwa uye maturusi.

DevOps Guide kune Vanotanga

Zvakawanda zvakaitika kubvira izwi rekuti DevOps rakabata munyika yeIT. Nezvakawanda zveecosystem yakavhurika sosi, zvakakosha kuti ufunge zvakare kuti sei yakatanga uye zvazvinoreva kune basa muIT.

Chii chinonzi DevOps

Kunyange pasina tsananguro imwe chete, ndinotenda kuti DevOps igadziriro yetekinoroji inogonesa kubatana pakati pebudiriro nezvikwata zvekushanda kuendesa kodhi nekukurumidza munzvimbo dzekugadzira nekwaniso yekudzokorora uye otomatiki. Tichapedza chikamu chese cheichi chinyorwa.

Izwi rekuti "DevOps" musanganiswa wemazwi ekuti "budiriro" uye "mashandiro". DevOps inobatsira kuwedzera kukurumidza kwekutumira kwekushandisa uye masevhisi. Izvi zvinobvumira masangano kuti ashande nemakasitoma avo uye awedzere kukwikwidza mumusika. Zvichitaurwa zviri nyore, DevOps ndiko kurongeka pakati pebudiriro uye IT mashandiro ane kutaurirana kunoshanda uye kubatana.

DevOps inosanganisira tsika apo kubatana pakati pebudiriro, mashandiro, uye zvikwata zvebhizinesi zvinoonekwa zvakakosha. Haisi yezvishandiso chete, sezvo maDevOps musangano anoramba achibatsira vatengi zvakare. Zvishandiso ndeimwe yembiru dzayo, pamwe chete nevanhu uye maitiro. DevOps inowedzera kugona kwemasangano kuendesa emhando yepamusoro mhinduro munguva pfupi pfupi inobvira. DevOps zvakare inogadzirisa maitiro ese, kubva pakuvaka kuenda kune deployment, application kana chigadzirwa.

Nhaurirano yeDevOps inotarisana nehukama pakati pevagadziri, vanhu vanonyora software kuti vararame, uye vashandisi vane basa rekuchengetedza iyo software.

Matambudziko echikwata chebudiriro

Vagadziri vanowanzova nechido uye nechido chekushandisa nzira itsva uye matekinoroji ekugadzirisa matambudziko esangano. Nekudaro, ivo vanosanganawo nemamwe matambudziko:

  • Musika wemakwikwi unogadzira kumanikidzwa kwakawanda kuendesa chigadzirwa nenguva.
  • Ivo vanofanirwa kutarisira kutonga-yakagadzirira kodhi kodhi uye kuunza zvitsva maficha.
  • Kutenderera kwekuburitsa kunogona kureba, saka timu yekusimudzira inofanirwa kuita fungidziro yakati wandei isati yaita maapplication. Mumamiriro ezvinhu aya, nguva yakawanda inodiwa kugadzirisa nyaya dzinomuka panguva yekuendeswa kunzvimbo yekugadzira kana yekuyedza.

Matambudziko akatarisana neboka rekushanda

Zvikwata zvekushanda zvakagara zvakatarisa kugadzikana uye kuvimbika kweIT masevhisi. Ndosaka zvikwata zvekushanda zvichitsvaga kugadzikana kuburikidza nekuchinja muzviwanikwa, matekinoroji, kana maitiro. Mabasa avo anosanganisira:

  • Tonga kugoverwa kwezviwanikwa sezvo kudiwa kunowedzera.
  • Bata dhizaini kana kugadzirisa shanduko inodiwa kuti ishandiswe munzvimbo yekugadzira.
  • Ongorora uye gadzirisa nyaya dzekugadzira mushure mekuzvimisikidza kwekushandisa.

MaDevOps anogadzirisa sei matambudziko ekusimudzira uye ekushanda

Panzvimbo pekuburitsa huwandu hukuru hwezvimiro zveapp kamwechete, makambani ari kuyedza kuona kana achigona kuburitsa nhamba diki yezvimiro kune vatengi vavo kuburikidza nenhevedzano yekuburitsa iterations. Iyi nzira ine akati wandei mabhenefiti, senge nani software mhando, nekukurumidza mutengi mhinduro, nezvimwe. Izvi, zvakare, zvinovimbisa kugutsikana kwevatengi kwakanyanya. Kuti azadzise zvinangwa izvi, makambani anofanirwa ku:

  • Deredza mwero wekutadza kana uchiburitsa zvitsva
  • Wedzera deployment frequency
  • Wana inokurumidza avhareji yenguva yekupora muchiitiko chekuburitswa kutsva kweapp.
  • Deredza nguva yekugadzirisa

DevOps inoita mabasa ese aya uye inobatsira kuve nechokwadi chekuendesa kusingakanganiswe. Masangano ari kushandisa maDevOps kuwana mazinga echigadzirwa anga asingafungidzike makore mashoma apfuura. Ivo vanoita makumi, mazana, uye kunyange zviuru zvekutumirwa pazuva vachiendesa kuvimbika kwepasirese, kugadzikana, uye kuchengetedzeka. (Dzidza zvakawanda nezve saizi yakawanda uye maitiro avo pakuunza software).

DevOps inoedza kugadzirisa matambudziko akasiyana siyana anobva kunzira dzakapfuura, kusanganisira:

  • Kuparadzaniswa kwebasa pakati pezvikwata zvekusimudzira nekushanda
  • Kuedza uye kuendesa zvikamu zvakasiyana zvinoitika mushure mekugadzira uye kuvaka uye zvinoda nguva yakawanda kupfuura kutenderera kwekuvaka.
  • Yakawandisa nguva yakashandiswa kuyedza, kutumira, uye kugadzira pane kutarisa pakuvaka epakati bhizinesi masevhisi
  • Manual code deployment inotungamira kune zvikanganiso mukugadzira
  • Misiyano yekuvandudza uye mashandiro etimu zvirongwa zvichikonzera kumwe kunonoka

DevOps Guide kune Vanotanga

Kunetsana pakati peDevOps, Agile uye yechinyakare IT

DevOps inowanzokurukurwa maererano nemamwe maitiro eIT, kunyanya Agile uye Waterfall IT.

Agile seti yemisimboti, tsika, uye maitiro ekugadzira software. Saka, semuenzaniso, kana uine pfungwa yaunoda kushandura kuita software, unogona kushandisa Agile misimboti uye tsika. Asi software iyi inogona kungomhanya munzvimbo yekusimudzira kana yekuyedza. Unoda nzira iri nyore, yakachengeteka yekufambisa software yako mukugadzira nekukurumidza uye inodzokororwa, uye nzira iri kuburikidza neDevOps maturusi uye matekiniki. Agile software yekuvandudza inotarisana nemaitiro ebudiriro uye DevOps ine basa rekusimudzira uye kutumira nenzira yakachengeteka uye yakavimbika.

Kuenzanisa iyo yechinyakare mapopoma modhi neDevOps inzira yakanaka yekunzwisisa mabhenefiti anounzwa neDevOps. Muenzaniso unotevera unofunga kuti chikumbiro chichave chipenyu mumavhiki mana, budiriro iri 85% yakakwana, kunyorera kuchange kuri kurarama, uye maitiro ekutenga maseva ekutumira kodhi achangotanga.

Maitiro echivanhu
Maitiro muDevOps

Mushure mekuisa odha yemaseva matsva, timu yekuvandudza inoshanda pakuyedza. Boka rebasa rinoshanda pamagwaro akakura anodiwa nemabhizinesi kuendesa zvivakwa.
Kana odha yemaseva matsva yaiswa, zvikwata zvekusimudzira uye zvekushanda zvinoshanda pamwechete pamatanho uye mapepa ekuisa maseva matsva. Izvi zvinokutendera kuti unzwisise zviri nani zvaunoda zvezvivakwa.

Ruzivo nezve failover, redundancy, nzvimbo dzedhata, uye zvinodiwa zvekuchengetera zvinomiririrwa zvisizvo nekuti hapana chinopinda kubva kuchikwata chekusimudzira chine ruzivo rwakadzama domain.
Tsanangudzo nezve failover, redundancy, kudzoreredza njodzi, nzvimbo dzedhata nzvimbo, uye kuchengetedza zvinodiwa zvinozivikanwa uye zvakarurama nekuda kwekuiswa kwechikwata chekusimudzira.

Chikwata chekushanda hachina ruzivo nezve kufambira mberi kwechikwata chebudiriro. Anogadzira zvakare hurongwa hwekutarisa hunoenderana nemazano ake.

Chikwata chekushanda chinoziva zvizere kufambira mberi kwakaitwa neboka rebudiriro. Iye zvakare anodyidzana neboka rekusimudzira uye vanoshanda pamwechete kugadzira chirongwa chekutarisa chinosangana neIT uye bhizinesi zvinodiwa. Ivo zvakare vanoshandisa application performance monitoring (APM) maturusi.

Muedzo wemutoro wakaitwa usati watanga application unokonzeresa kuti application iparare, ichinonoka kutanga kwayo.
Muedzo wemutoro wakaitwa usati wamhanyisa application unokonzeresa kusashanda zvakanaka. Chikwata chekusimudzira chinokurumidza kugadzirisa mabhodhoro uye application inotanga nenguva.

DevOps Lifecycle

DevOps inosanganisira kugamuchirwa kwemamwe maitiro anogamuchirwa.

Kuenderera mberi kuronga

Kuenderera mberi kuronga kunotsamira pamisimboti yakaonda kutanga zvishoma nekuona zviwanikwa uye zvinobuda zvinodiwa kuyedza kukosha kwebhizinesi kana chiono, kugara uchichinja, kuyera kufambira mberi, kudzidza kubva kune zvinodiwa nevatengi, shandura gwara sezvinodiwa kuenderana nekugona, uye kudzorera bhizinesi chirongwa.

Joint development

Iyo yekudyidzana yekuvandudza maitiro inobvumira mabhizinesi, zvikwata zvekusimudzira, uye zvikwata zvekuedza zvinopararira munzvimbo dzakasiyana dzenguva kuti dzirambe dzichiendesa mhando yesoftware. Izvi zvinosanganisira kuwanda kwepuratifomu, kuchinjika-mutauro hurongwa tsigiro, kugadzira nyaya yemushandisi, kusimudzira mafungiro, uye kutenderera kwehupenyu. Kubudirira kwekubatana kunosanganisira maitiro uye tsika yekuenderera mberi kwekubatanidza, iyo inosimudzira kakawanda kubatanidzwa kwekodhi uye otomatiki anovaka. Nekuisa kodeti kazhinji kune chikumbiro, matambudziko ekubatanidza anoonekwa pakutanga kwehupenyu (apo ari nyore kugadzirisa) uye iyo yese yekubatanidza kuedza inoderedzwa kuburikidza nemhinduro inoenderera sezvo purojekiti inoratidza kuenderera uye kunoonekwa kufambira mberi.

Kuenderera mberi nekuedza

Kuenderera mberi kuyedza kunoderedza mutengo wekuyedzwa nekubatsira zvikwata zvekusimudzira kuenzanisa kumhanya nemhando. Iyo zvakare inobvisa mabhodhoro ekuyedza kuburikidza nesevhisi virtualization uye inoita kuti zvive nyore kugadzira virtualized bvunzo nzvimbo dzinogona kugovaniswa zviri nyore, kutumirwa, uye kuvandudzwa sezvo masisitimu anochinja. Aya masimba anoderedza mutengo wekupa uye kuchengetedza bvunzo nharaunda uye kupfupisa bvunzo kutenderera nguva, zvichibvumira kusanganisa kuyedzwa kuti kuitike pakutanga kwehupenyu.

Kuramba kusunungurwa uye kushandiswa

Aya matekiniki anounza pamwe navo musimboti maitiro: kuenderera kusunungurwa uye kutumirwa. Izvi zvinovimbiswa nepombi inoenderera inogadzirisa maitiro akakosha. Inodzikisira nhanho dzemanyorero, nguva yekumirira zviwanikwa, uye kugadzirisa zvakare nekugonesa kutumirwa pakudzvanya kwebhatani, zvichikonzera kuburitswa kwakawanda, zvikanganiso zvishoma, uye kujeka kwakazara.

Automation inoita basa rakakosha mukuona yakagadzikana uye yakavimbika software kuburitswa. Rimwe rematambudziko makuru ndere kutora manyorero maitiro sekuvaka, kudzora, kuendesa uye kugadzira zvivakwa uye otomatiki ivo. Izvi zvinoda source code version control; kuongorora uye kutumirwa zviitiko; zvivakwa uye dhizaini yekumisikidza data; uye maraibhurari uye mapakeji ayo application inoenderana nawo. Chimwe chinhu chakakosha kugona kubvunza mamiriro enzvimbo dzese.

Kuenderera mberi kwekutarisa

Kuenderera mberi kwekutarisa kunopa bhizinesi-giredhi kushuma iyo inobatsira zvikwata zvebudiriro kunzwisisa kuwanikwa uye kuita kwezvishandiso munzvimbo dzekugadzira zvisati zvaendeswa kukugadzira. Mhinduro yepakutanga inopiwa nekuenderera mberi kwekutarisa kwakakosha kudzikisa mutengo wezvikanganiso uye mapurojekiti ekutungamira munzira kwayo. Iyi tsika inowanzo sanganisira maturusi ekutarisa ayo anowanzo ratidza metrics ane chekuita nekushanda kweapp.

Nguva dzose mhinduro uye optimization

Kuenderera mberi kwemhinduro uye optimization inopa inomiririra inomiririra yekuyerera kwevatengi uye inonongedza nzvimbo dzine dambudziko. Mhinduro inogona kuverengerwa mumatanho ekutanga uye epashure-kutengesa kuti uwedzere kukosha uye kuve nechokwadi chekuti mamwe matransaction anopedzwa zvinobudirira. Zvese izvi zvinopa kuona nekukurumidza kwechikonzero chematambudziko evatengi anopesvedzera maitiro avo uye bhizinesi maitiro.

DevOps Guide kune Vanotanga

Mabhenefiti eDevOps

DevOps inogona kubatsira kugadzira nharaunda iyo vanogadzira uye mashandiro anoshanda sechikwata kuzadzisa zvinangwa zvakafanana. Chinhu chakakosha mukuita uku ndechekuitwa kwekuenderera mberi kwekubatanidzwa uye kuenderera mberi kwekutumira (CI / CD). Aya matekiniki anotendera zvikwata kuti zviwane software kutengesa nekukurumidza nebugs shoma.

Mabhenefiti akakosha eDevOps ndeaya:

  • Predictability: DevOps inopa yakanyanya kuderera kutadza mwero kune kuburitswa kutsva.
  • Kuchengetedza: DevOps inobvumira kupora nyore kana kuburitswa kutsva kwatadza kana application yadzikira.
  • Reproducibility: vhezheni kutonga kwekuvaka kana kodhi inobvumidza iwe kudzoreredza shanduro dzekare sezvinodiwa.
  • Hunhu Hwepamusoro: Kugadzirisa nyaya dzezvivakwa zvinovandudza mhando yekuvandudza kwekushandisa.
  • Nguva Yekumusika: Kugadzirisa software kuburitsa kunoderedza nguva yekutengesa ne50%.
  • Kuderedza Njodzi: Kuita chengetedzo musoftware lifecycle kunoderedza huwandu hwekuremara muhupenyu hwese.
  • Mutengo Kubudirira: Iko kutsvaga kwekubhadhara mutengo mukuvandudza software kunofadza kune vakuru vakuru.
  • Kugadzikana: Iyo software system yakanyanya kugadzikana, yakachengeteka, uye shanduko inogona kuongororwa.
  • Kupwanya yakakura codebase kuita zvidimbu zvinogoneka: DevOps yakavakirwa pane agile budiriro nzira, iyo inokutendera iwe kuputsa hombe codebase kuita zvidimbu zvidiki, zvinogoneka.

DevOps nheyo

Kugamuchirwa kweDevOps kwakasimudza misimboti yakati wandei yakashanduka (uye inoenderera mberi nekushanduka). Vazhinji vanopa mhinduro vakagadzira yavo magadzirirwo emhando dzakasiyana siyana. Ese aya misimboti yakavakirwa pane yakazara nzira yeDevOps, uye masangano eese saizi anogona kuishandisa.

Gadzira uye edza munzvimbo yekugadzira-yakafanana

Pfungwa iyi ndeyekugonesa budiriro uye yemhando yekusimbisa (QA) zvikwata kuti zvigadzire uye kuyedza masisitimu anoita senge masisitimu ekugadzira kuitira kuti vaone maitiro ekushandisa uye kuita nguva refu isati yagadzirira kutumirwa.

Iko kushandiswa kunofanirwa kuve kwakabatana kune ekugadzira masisitimu nekukurumidza sezvinobvira muhupenyu hwayo kugadzirisa matambudziko matatu makuru anogona kuitika. Chekutanga, inokutendera iwe kuti uedze application munzvimbo iri padyo nenzvimbo chaiyo. Chechipiri, inokutendera iwe kuti uedze uye simbisa maitiro ekutumira maapplication pamberi. Chechitatu, inobvumira timu yekuvhiya kuti iedze kutanga kwehupenyu kuti nharaunda yavo ichaita sei kana zvikumbiro zvaiswa, zvichivabvumira kuti vagadzire yakanyanya kurongeka, application-centric nharaunda.

Isa neinodzokororwa, yakavimbika maitiro

Iyi nheyo inobvumira zvikwata zvekusimudzira uye zvinoshanda kutsigira agile software yekuvandudza maitiro mukati mese software lifecycle. Automation yakakosha pakugadzira iterative, yakavimbika, uye inodzokororwa maitiro. Naizvozvo, sangano rinofanirwa kugadzira pombi yekuendesa iyo inogonesa kuenderera, otomatiki kutumira uye kuyedzwa. Kakawanda kutumirwa kunobvumirawo zvikwata kuti zviedze maitiro ekutumira, nekudaro zvichidzikisa njodzi yekutadza kutumirwa panguva yekuburitswa kwehupenyu.

Kutarisa uye kutarisa kunaka kwebasa

Masangano akanaka pakutarisa maapplication mukugadzira nekuti ane maturusi anotora metrics uye makiyi ekuita zviratidzo (KPIs) munguva chaiyo. Iyi nheyo inofambisa kutarisa kwekutanga kwehupenyu, kuve nechokwadi chekuti kuyedza otomatiki inotarisisa iyo inoshanda uye isiri-inoshanda hunhu hwechikumbiro kutanga kwekuita. Pese kana application ikayedzwa nekuiswa, mhando metrics inofanirwa kuongororwa nekuongororwa. Zvishandiso zvekutarisa zvinopa yambiro yekutanga yezvinetso zvekushanda uye zvemhando izvo zvinogona kumuka panguva yekugadzira. Izvi zviratidzo zvinofanirwa kuunganidzwa muchimiro chinosvikika uye chinonzwisisika kune vese vane chekuita.

Kuvandudza Feedback Loops

Chimwe chezvinangwa zveDevOps maitiro ndechekugonesa masangano kupindura uye kuita shanduko nekukurumidza. Mukuendesa software, chinangwa ichi chinoda kuti sangano rigamuchire mhinduro nekukurumidza uye nekukasira kudzidza kubva pane chimwe nechimwe chinotorwa. Iyi nheyo inoda kuti masangano agadzire nzira dzekukurukurirana dzinobvumira vanobatana kuti vawane nekudyidzana nenzira yemhinduro. Budiriro inogona kuitwa nekugadzirisa zvirongwa zvepurojekiti yako kana zvakakosha. Kugadzira kunogona kuita nekuvandudza nharaunda yekugadzira.

Dev

  • Kuronga: Kanboard, Wekan nedzimwe nzira dzeTrello; GitLab, Tuleap, Redmine uye dzimwe nzira dzeJIRA; Mattermost, Roit.im, IRC uye dzimwe nzira dzeSlack.
  • Kodhi yekunyora: Git, Gerrit, Bugzilla; Jenkins uye mamwe maturusi akavhurwa sosi yeCI/CD
  • Gungano: Apache Maven, Gradle, Apache Ant, Packer
  • Miedzo: JUnit, Cucumber, Selenium, Apache JMeter

Ops

  • Kuburitswa, Kuendeswa, Mashandiro: Kubernetes, Nomad, Jenkins, Zuul, Spinnaker, Ansible, Apache ZooKeeper, etcd, Netflix Archaius, Terraform
  • Monitoring: Grafana, Prometheus, Nagios, InfluxDB, Fluentd, uye nevamwe vakafukidzwa mugwaro rino.

(*Maturusi ekushandisa akaverengerwa mashandisirwo nezvikwata zvebasa, asi maturusi azvo anoenderana nehupenyu hwekuburitsa uye maturusi ekushandisa. Kuti zvive nyore kuverenga, manhamba abviswa.)

Mukupedzisa

DevOps inzira inowedzera mukurumbira ine chinangwa chekuunza vanogadzira uye mashandiro pamwe chete sechikamu chimwe. Iyo yakasarudzika, yakasiyana neyechinyakare IT mashandiro, uye inozadzisa Agile (asi haina kuchinjika).

DevOps Guide kune Vanotanga

Tsvaga ruzivo rwekuti ungawana sei basa rinotsvakwa kubva pakutanga kana Level Up maererano nehunyanzvi uye muhoro nekutora akabhadharwa online makosi kubva kuSkillFactory:

mamwe makosi

Zvinoshanda

Source: www.habr.com

Voeg