Unsa ang DevOps

Ang kahulugan sa DevOps komplikado kaayo, mao nga kinahanglan naton sugdan ang panaghisgot bahin niini pag-usab sa matag higayon. Adunay usa ka libo nga mga publikasyon bahin niini nga hilisgutan sa Habré lamang. Apan kung nagbasa ka niini, tingali nahibal-an nimo kung unsa ang DevOps. Kay dili ko. Hello Akong Ngalan Is Alexander Titov (@osminog), ug maghisgot lang ta bahin sa DevOps ug akong ipaambit ang akong kasinatian.

Unsa ang DevOps

Dugay na kong naghunahuna kon unsaon paghimo sa akong istorya nga mapuslanon, mao nga adunay daghang mga pangutana dinhi - kadtong akong gipangutana sa akong kaugalingon ug kadtong akong gipangutana sa mga kliyente sa among kompanya. Pinaagi sa pagtubag niini nga mga pangutana, ang pagsabut mahimong mas maayo. Sultihan ko ikaw kung ngano nga gikinahanglan ang DevOps gikan sa akong panan-aw, kung unsa kini, pag-usab, gikan sa akong panan-aw, ug kung giunsa nimo masabtan nga naglihok ka usab padulong sa DevOps gikan sa akong panan-aw. Ang kataposang punto kay pinaagi sa mga pangutana. Pinaagi sa pagtubag niini alang sa imong kaugalingon, masabtan nimo kung ang imong kompanya nagpadulong sa DevOps o kung adunay mga problema sa pila ka paagi.


Sa usa ka higayon nagsakay ako sa mga balud sa mga panagsama ug pag-angkon. Una, nagtrabaho ko sa usa ka gamay nga startup nga gitawag og Qik, unya gipalit kini sa usa ka gamay nga mas dako nga kompanya nga gitawag og Skype, nga gipalit dayon sa usa ka gamay nga mas dako nga kompanya nga gitawag og Microsoft. Nianang higayona, nagsugod ako sa pagtan-aw kung giunsa ang pagbag-o sa ideya sa DevOps sa lainlaing mga kompanya sa gidak-on. Pagkahuman niana, nahimong interesado ako sa pagtan-aw sa DevOps gikan sa usa ka punto sa merkado, ug ang akong mga kauban ug ako nagtukod sa kompanya nga Express 42. Sulod sa 6 ka tuig na kami naglihok subay sa mga balud sa merkado.

Lakip sa ubang mga butang, usa ako sa mga nag-organisar sa komunidad sa DevOps Moscow ug ang nag-organisar sa DevOps-Days 2017, apan wala nako giorganisar ang 2018. Ang Express 42 nagtrabaho sa daghang mga kompanya. Gipadako namo ang mga DevOps didto, tan-awa kung giunsa kini mahitabo, paghimog mga konklusyon, pag-analisar, pagsulti sa tanan sa among mga konklusyon, ug pagbansay sa mga tawo sa mga gawi sa DevOps. Sa kinatibuk-an, among gihimo ang among labing maayo aron madugangan ang among kasinatian ug kahanas bahin niini.

Ngano nga DevOps

Ang una nga pangutana nga naghasol sa tanan ug kanunay mao - ngano? Daghang mga tawo ang naghunahuna nga ang DevOps usa lang ka automation o parehas nga butang nga naa na sa matag kompanya.

— Kami adunay Padayon nga Paghiusa - kini nagpasabut nga kami adunay mga DevOps, ug ngano nga kini tanan nga mga butang kinahanglan? Naglingaw-lingaw sila sa gawas sa nasud, apan gipahunong nila kami sa pagtrabaho!

Kapin sa 9 ka tuig nga pag-uswag sa komunidad ug pamaagi, nahimo na nga tin-aw nga dili gihapon kini glitter sa pagpamaligya, apan dili pa kini hingpit nga klaro kung ngano nga kinahanglan kini. Sama sa bisan unsang himan ug proseso, ang DevOps adunay piho nga mga katuyoan nga sa katapusan makab-ot niini.

Kining tanan tungod sa kamatuoran nga ang kalibutan nagbag-o. Siya mibalhin gikan sa negosyo nga pamaagi, sa diha nga ang mga kompanya mobalhin diretso ngadto sa usa ka damgo, ingon sa atong St. Petersburg classic gikanta, gikan sa punto A ngadto sa punto B sumala sa usa ka estratehiya, uban sa usa ka piho nga estraktura nga gitukod alang niini.

Unsa ang DevOps

Sa prinsipyo, ang tanan sa IT kinahanglan nga tukuron sumala sa kini nga pamaagi. Dinhi ang IT gigamit lamang sa pag-automate sa mga proseso.

Ang pag-automate dili kanunay nga mausab, tungod kay kung ang usa ka kompanya nahulog sa usa ka maayo nga pagtunob, unsa ang kinahanglan nga usbon? Kini molihok - ayaw paghikap niini. Karon ang mga pamaagi sa kalibutan nagbag-o, ug ang gitawag nga Agile nagsugyot nga ang katapusan nga punto B dili dayon makita.

Unsa ang DevOps

Kung ang usa ka kompanya moagi sa merkado, nagtrabaho kauban ang usa ka kliyente, kini kanunay nga nagsuhid sa merkado ug nagbag-o sa katapusan nga punto B. Dugang pa, ang labi ka kanunay nga pagbag-o sa kompanya sa direksyon niini, labi ka malampuson kini sa katapusan, tungod kay gipili niini ang daghang merkado. niches.

Ang estratehiya gipakita sa usa ka makapaikag nga kompanya nga bag-o lang nako nahibal-an. Ang One Box Shave usa ka serbisyo sa pagpadala sa suskrisyon alang sa mga labaha ug mga gamit sa pagpamalbas sa usa ka kahon. Nahibal-an nila kung giunsa ang pag-customize sa ilang "kahon" alang sa lainlaing mga kliyente. Gihimo kini sa usa ka piho nga software, nga dayon ipadala ang order sa pabrika sa Korea nga naghimo sa produkto.

Kini nga produkto gipalit sa Unilever sa kantidad nga $1 bilyon. Kini karon nakigkompetensya sa Gillette ug gikuha ang usa ka mahinungdanong bahin sa mga konsumedor sa merkado sa Amerika. Usa ka Box Shave nag-ingon:

— 4 ka blades? Seryoso ka? Ngano nga kinahanglan nimo kini - dili kini makapauswag sa kalidad sa ahit. Usa ka espesyal nga gipili nga cream, pahumot ug usa ka taas nga kalidad nga labaha nga adunay duha ka blades nga nakasulbad sa daghang mga problema kaysa sa mga hungog nga 4 Gillette blades! Makaabot ba ta sa 10 sa dili madugay?

Ingon niini ang pagbag-o sa kalibutan. Giangkon sa Unilever nga sila adunay usa ka cool nga sistema sa IT nga nagtugot kanimo sa pagbuhat niini. Sa katapusan kini morag usa ka konsepto Panahon-sa-merkado, nga wala pa'y nahisgotan.

Unsa ang DevOps

Ang punto sa Time-to-market dili kung unsa kasubsob ang among pag-deploy. Kanunay ka nga mag-deploy, apan ang mga siklo sa pagpagawas dugay. Kung ang tulo ka bulan nga mga siklo sa pagpagawas gipatong sa usag usa, gibalhin sila sa usa ka semana, kini nahimo nga ang kompanya daw nag-deploy kausa sa usa ka semana. Ug gikan sa ideya hangtod sa katapusan nga pagpatuman kinahanglan 3 ka bulan.

Ang oras-sa-merkado bahin sa pagminus sa oras gikan sa ideya hangtod sa katapusan nga pagpatuman.

Sa kini nga kaso, ang software nakig-uban sa merkado. Kini ang paagi nga ang One Box Shave website nakig-uban sa kliyente. Wala silay mga tindera - usa lang ka website diin ang mga bisita nag-klik ug nagbilin sa mga gusto. Tungod niini, usa ka butang nga bag-o kinahanglan nga kanunay nga i-post sa site ug i-update sumala sa gusto. Pananglitan, sa South Korea lahi sila sa pagpamalbas kaysa sa Russia, ug gusto nila ang baho nga dili sa pino, apan, pananglitan, sa mga carrots ug vanilla.

Tungod kay kinahanglan nga dali nga usbon ang sulud sa site, ang pag-uswag sa software nagbag-o pag-ayo. Pinaagi sa software kinahanglan naton mahibal-an kung unsa ang gusto sa kliyente. Kaniadto, nahibal-an namon kini pinaagi sa pipila ka mga roundabout nga mga paagi, pananglitan, pinaagi sa pagdumala sa negosyo. Dayon among gidesinyo kini, gibutang ang mga kinahanglanon sa IT system, ug ang tanan bugnaw. Karon lahi na - ang software gidisenyo sa tanan nga nalambigit sa proseso, lakip ang mga inhenyero, tungod kay pinaagi sa teknikal nga mga detalye nahibal-an nila kung giunsa ang paglihok sa merkado ug gipaambit usab ang ilang mga panabut sa negosyo.

Pananglitan, sa Qik kalit namong nahibal-an nga ang mga tawo ganahan kaayo sa pag-upload sa mga listahan sa kontak ngadto sa server, ug sila naghatag kanamo og aplikasyon. Sa sinugdan wala namo kini gihunahuna. Sa usa ka klasiko nga kompanya, ang tanan nakahukom nga kini usa ka bug, tungod kay ang espesipiko wala mag-ingon nga kini kinahanglan nga molihok nga maayo ug sa kasagaran gipatuman sa tuhod, ilang gipalong ang bahin ug giingon: "Wala’y kinahanglan niini, ang labing importante nga butang mao nga ang mga nag-unang functionality nagtrabaho.” . Ug ang kompanya sa teknolohiya nakakita niini ingon usa ka oportunidad ug nagsugod sa pag-usab sa software uyon niini.

Unsa ang DevOps

Niadtong 1968, usa ka visionary guy, si Melvin Conway, ang nagmugna sa mosunod nga ideya.

Ang organisasyon nga nagmugna sa sistema gipugngan sa usa ka disenyo nga nagsundog sa istruktura sa komunikasyon sa organisasyon.

Sa dugang nga detalye, aron makahimo og mga sistema sa usa ka lahi nga tipo, kinahanglan ka usab nga adunay istruktura sa komunikasyon sa sulod sa usa ka kompanya nga lahi nga tipo. Kung ang imong istruktura sa komunikasyon mao ang top-hierarchical, nan kini dili magtugot kanimo sa paghimo og mga sistema nga makahatag usa ka taas kaayo nga timailhan sa Oras-sa-Market.

Basaha mahitungod sa balaod ni Conway mahimo pinaagi sa mga link. Importante kini sa pagsabot sa kultura o pilosopiya sa DevOps tungod kay ang bugtong butang nga sukaranan nga pagbag-o sa DevOps mao ang istruktura sa komunikasyon tali sa mga koponan.

Gikan sa usa ka punto sa proseso, sa wala pa ang DevOps, ang tanan nga mga yugto: analytics, pag-uswag, pagsulay, operasyon, mga linear.Unsa ang DevOps
Sa kaso sa DevOps, kining tanan nga mga proseso mahitabo dungan.

Unsa ang DevOps

Ang oras-sa-merkado mao ra ang paagi nga mahimo kini. Alang sa mga tawo nga nagtrabaho sa daan nga proseso, kini tan-awon medyo kosmiko, ug sa kasagaran ingon-ingon.

Busa nganong kinahanglan nimo ang DevOps?

Para sa digital product development. Kung ang imong kompanya walay digital nga produkto, ang DevOps dili kinahanglan - kini hinungdanon kaayo.

Gibuntog sa DevOps ang mga limitasyon sa katulin sa sunud-sunod nga paghimo sa software. Sa niini ang tanan nga mga proseso mahitabo dungan.

Nagdugang ang kalisud. Kung gisultihan ka sa mga ebanghelista sa DevOps nga labi ka dali alang kanimo nga buhian ang software, kini kabuang.

Uban sa DevOps, ang mga butang mahimong labi ka komplikado.

Sa komperensya sa Avito stand, makita nimo kung unsa ang pag-deploy sa usa ka sudlanan sa Docker - usa ka dili realistiko nga buluhaton. Ang pagkakomplikado nahimo nga gidili; kinahanglan nimo nga i-juggle ang daghang mga bola sa parehas nga oras.

Ang DevOps hingpit nga nagbag-o sa proseso ug organisasyon sa kompanya - mas tukma, dili DevOps ang nagbag-o, apan ang digital nga produkto. Aron makaadto sa DevOps, kinahanglan nimo nga hingpit nga usbon kini nga proseso.

Mga pangutana alang sa usa ka espesyalista

Unsay naa nimo? Mga pangutana nga mahimo nimong ipangutana sa imong kaugalingon samtang nagtrabaho sa usa ka kompanya ug nag-uswag ingon usa ka espesyalista.

Aduna ka bay estratehiya sa paghimo og digital nga produkto? Kung naa, maayo na. Kini nagpasabut nga ang imong kompanya naglihok padulong sa DevOps.

Naghimo na ba ang imong kompanya og digital nga produkto? Nagpasabot kini nga mahimo nimong mapataas ang usa ka lebel nga mas taas ug mahimo ang mga butang nga labi ka makapaikag - usab gikan sa usa ka punto sa DevOps. Nagsulti lang ako gikan niini nga punto sa panglantaw.

Ang imong kompanya ba usa sa mga nanguna sa merkado sa digital product niche? Ang Spotify, Yandex, Uber mga kompanya nga naa sa kinapungkayan sa pag-uswag sa teknolohiya karon.

Pangutan-a ang imong kaugalingon niini nga mga pangutana, ug kung ang tanan nga mga tubag dili, nan tingali dili nimo kinahanglan buhaton ang DevOps sa kini nga kompanya. Kung ang hilisgutan sa DevOps makapaikag kanimo, tingali ... kinahanglan ka nga mobalhin sa laing kompanya? Kung gusto sa imong kompanya nga mosulod sa DevOps, apan gitubag nimo ang "Dili" sa tanan nga mga pangutana, nan kini sama sa matahum nga rhinoceros nga dili na mausab.

Unsa ang DevOps

organisasyon

Sama sa akong giingon, sumala sa Balaod ni Conway, ang organisasyon sa usa ka kompanya nagbag-o. Magsugod ako sa kung unsa ang nagpugong sa DevOps sa pagsulod sa sulod sa kompanya gikan sa punto sa organisasyonal.

Ang problema sa "mga atabay"

Ang English nga pulong nga "Silo" gihubad dinhi sa Russian nga "maayo". Ang punto niini nga problema mao kana walay pagbayloay og impormasyon tali sa mga team. Ang matag team nagkalot sa lawom nga kahanas niini, nga wala maghimo usa ka sagad nga mapa aron ma-navigate.

Sa pipila ka mga paagi kini nagpahinumdom kanako sa usa ka tawo nga bag-o lang miabot sa Moscow ug wala pa mahibal-an kung giunsa ang pag-navigate sa mapa sa metro. Ang mga Muscovite kasagaran nahibalo pag-ayo sa ilang dapit, ug sa tibuok Moscow sila makalawig gamit ang metro nga mapa. Sa diha nga ikaw moabut sa Moscow sa unang higayon, wala ka niini nga kahanas, ug ikaw nalibog lang.

Gisugyot sa DevOps ang pag-agi niining higayona sa disorientasyon ug ang tanan nga mga departamento nagtinabangay aron makahimo usa ka sagad nga mapa sa interaksyon.

Duha ka hinungdan ang nakababag niini.

Ang sangputanan sa sistema sa pagdumala sa korporasyon. Gitukod kini sa bulag nga hierarchical nga "mga atabay". Pananglitan, adunay pipila ka mga KPI sa mga kompanya nga nagsuporta niini nga sistema. Sa laing bahin, ang utok sa usa ka tawo nga naglisud sa pag-adto lapas sa mga utlanan sa ilang kahanas ug pag-navigate sa tibuuk nga sistema makababag. Dili komportable. Hunahunaa nga naa ka sa airport sa Bangkok - dili ka dali nga makit-an ang imong agianan. Lisod usab ang pag-navigate sa DevOps, ug kana ang hinungdan ngano nga giingon sa mga tawo nga kinahanglan nimo nga mangita usa ka giya aron makaabut didto.

Apan ang labing hinungdanon nga butang mao nga ang problema sa "mga atabay" alang sa usa ka inhenyero nga napuno sa espiritu sa DevOps, nakabasa sa Fowler ug usa ka hugpong sa ubang mga libro, gipahayag sa kamatuoran nga Ang "mga atabay" wala magtugot kanimo sa pagbuhat sa "dayag" nga mga butang. Kanunay kaming mag-uban pagkahuman sa DevOps Moscow, mag-istoryahanay, ug magreklamo ang mga tawo:

— Gusto lang namon nga ilunsad ang CI, apan nahimo nga wala kini kinahanglan sa pagdumala.

Kini mahitabo sa tukma tungod kay CI и Padayon nga Proseso sa Paghatud anaa sa utlanan sa daghang mga eksaminasyon. Sa yano nga dili pagbuntog sa problema sa "mga atabay" sa lebel sa organisasyon, dili ka makapadayon, bisan unsa pa ang imong buhaton ug bisan unsa pa kini kasubo.

Unsa ang DevOps

Ang matag partisipante sa proseso sa kompanya: backend ug frontend developers, testing, DBA, operasyon, network, pagkalot sa ilang kaugalingon nga direksyon, ug walay usa nga adunay usa ka komon nga mapa gawas sa manager, nga sa usa ka paagi monitor kanila ug pagdumala kanila sa paggamit sa "divide" ug pagbuntog" nga pamaagi.

Ang mga tawo nakig-away alang sa pipila ka mga bituon o mga bandila, ang tanan nagkalot sa ilang kahanas.

Ingon sa usa ka resulta, sa diha nga ang buluhaton mitungha sa pagkonektar sa tanan niini sa tingub ug sa pagtukod sa usa ka komon nga pipeline, ug dili na kinahanglan nga makig-away alang sa mga bitoon ug mga bandila, ang pangutana mitungha - unsa man ang buhaton? Kinahanglan nga magkasinabot kami sa usa ka paagi, apan walay usa nga nagtudlo kanamo kung giunsa kini buhaton sa eskuylahan. Gitudloan kami sukad sa eskuylahan: ikawalong grado - wow! - itandi sa ikapitong grado! Pareho ra dinhi.

Pareho ba kini sa imong kompanya?

Aron masusi kini, mahimo nimong pangutan-on ang imong kaugalingon sa mosunod nga mga pangutana.

Gigamit ba sa mga team ang kasagarang mga himan ug nakatampo sa mga pagbag-o sa mga sagad nga himan?

Unsa ka sagad mag-organisar pag-usab ang mga team—ang ubang mga espesyalista gikan sa usa ka team mobalhin ngadto sa laing team? Anaa sa usa ka palibot sa DevOps nga kini mahimong normal, tungod kay usahay ang usa ka tawo dili gyud masabtan kung unsa ang gibuhat sa laing lugar sa kahanas. Mibalhin siya sa laing departamento, nagtrabaho didto sulod sa duha ka semana aron makahimo alang sa iyang kaugalingon og usa ka mapa sa oryentasyon ug interaksyon niini nga departamento.

Posible ba nga maghimo usa ka komite sa pagbag-o ug usbon ang mga butang? O gikinahanglan ba ang kusgan nga kamot sa labing taas nga pagdumala ug direksyon? Bag-ohay lang akong nagsulat sa Facebook kung giunsa ang usa ka gamay nga nailhan nga bangko nagpatuman sa mga himan pinaagi sa mga mando: nagsulat kami usa ka mando, gipatuman namon kini sa usa ka tuig, ug tan-awa kung unsa ang mahitabo. Kini, siyempre, taas ug makapasubo.

Unsa ka hinungdanon alang sa mga manedyer nga makadawat mga personal nga nahimo nga wala gikonsiderar ang mga nahimo sa kompanya?

Kung tubagon nimo kini nga mga pangutana para sa imong kaugalingon, mas klaro kung naa kay problema sa imong kompanya.

Imprastraktura isip code

Pagkahuman sa kini nga problema, ang una nga hinungdanon nga praktis, kung wala kini lisud nga mouswag pa sa DevOps, mao imprastraktura isip code.

Kasagaran, ang imprastraktura ingon nga code giisip nga ingon sa mosunod:

— Atong i-automate ang tanan sa bash, tabunan ang atong kaugalingon sa mga script aron ang mga admin adunay gamay nga manual nga trabaho!

Apan dili kana tinuod.

Ang imprastraktura isip code nagpasabot nga imong gihulagway ang IT system nga imong gitrabahoan sa porma sa code aron kanunay nga masabtan ang kahimtang niini.

Kauban sa ubang mga team, maghimo ka og mapa sa porma sa code nga masabtan sa tanan ug maka-navigate ug maka-navigate. Dili igsapayan kung unsa ang nahimo niini - Chef, Ansible, Salt, o paggamit sa mga file sa YAML sa Kubernetes - wala’y kalainan.

Sa komperensya, usa ka kauban sa 2GIS nagsulti kung giunsa nila paghimo ang ilang kaugalingon nga internal nga butang alang sa Kubernetes, nga naghulagway sa istruktura sa mga indibidwal nga sistema. Aron ihulagway ang 500 nga mga sistema, nanginahanglan sila usa ka lahi nga himan nga naghimo niini nga paghulagway. Kung adunay kini nga paghulagway, ang tanan mahimong magsusi sa usag usa, mag-monitor sa mga pagbag-o, kung giunsa kini usbon ug mapaayo kini, kung unsa ang kulang.

Uyon, ang indibidwal nga mga script sa bash kasagaran wala maghatag niini nga pagsabut. Sa usa sa mga kompanya nga akong gitrabahoan, naa pa gani pangalan para sa “write only” script - kung gisulat na ang script, pero dili na pwede basahon. Sa akong hunahuna kini pamilyar usab kanimo.

Ang imprastraktura sama sa code code nga naghulagway sa kasamtangan nga kahimtang sa imprastraktura. Daghang mga produkto, imprastraktura, ug mga grupo sa serbisyo ang nagtinabangay sa kini nga code, ug labing hinungdanon, silang tanan kinahanglan nga makasabut kung giunsa kini nga code molihok.

Ang code gipadayon sumala sa labing maayo nga mga gawi sa code: joint development, code review, XP-programming, testing, pull requests, CI alang sa code infrastructures - kining tanan angay ug magamit.

Ang code nahimong komon nga pinulongan alang sa tanang mga inhenyero.

Ang pagbag-o sa imprastraktura sa code wala magkinahanglan daghang oras. Oo, ang code sa imprastraktura mahimo usab nga adunay teknikal nga utang. Kasagaran ang mga team makasugat niini usa ka tuig ug tunga human sila nagsugod sa pagpatuman sa "imprastraktura isip code" sa porma sa usa ka hugpong sa mga script o bisan Ansible, nga ilang gisulat sama sa spaghetti code, ug sila usab naglabay sa mga bash script ngadto sa mix!

importante: Kung wala pa nimo nasulayan kini nga butang, hinumdumi kana Ang ansible dili bash! Basaha pag-ayo ang dokumentasyon, tun-i kung unsa ang ilang gisulat bahin niini.

Ang imprastraktura isip kodigo mao ang pagbulag sa kodigo sa imprastraktura ngadto sa managlahing mga lut-od.

Sa among kompaniya, among gipalahi ang 3 ka batakang mga lut-od, nga tin-aw kaayo ug yano, apan mahimong daghan pa niini. Mahimo nimong tan-awon ang imong code sa imprastraktura ug mahibal-an kung ikaw adunay kini nga kondisyon o wala. Kung walay mga lut-od nga gipasiugda, nan kinahanglan ka nga mogahin og gamay nga panahon ug mag-refactor og gamay.
Unsa ang DevOps

base nga layer - mao kini kung giunsa ang OS, backups ug uban pang ubos nga lebel nga mga butang gi-configure, pananglitan, kung giunsa ang pag-deploy sa Kubernetes sa sukaranan nga lebel.

Ang lebel sa serbisyo - kini ang mga serbisyo nga imong gihatag sa developer: pag-log ingon usa ka serbisyo, pag-monitor ingon usa ka serbisyo, database ingon usa ka serbisyo, balanse ingon usa ka serbisyo, pila ingon usa ka serbisyo, Padayon nga Paghatud ingon usa ka serbisyo - usa ka hugpong sa mga serbisyo nga ang mga indibidwal nga mga grupo makahatag sa kalamboan. Kining tanan kinahanglang ihulagway sa bulag nga mga module sa imong sistema sa pagdumala sa configuration.

Ang layer diin gihimo ang mga aplikasyon ug naghulagway kon sa unsang paagi sila mobuklad sa ibabaw sa miaging duha ka mga sapaw.

Kontrola ang mga pangutana

Ang imong kompanya ba adunay usa ka sagad nga repository sa imprastraktura? Nagdumala ka ba sa teknikal nga utang sa imong imprastraktura? Gigamit ba nimo ang mga pamaagi sa pagpauswag sa usa ka tipiganan sa imprastraktura? Ang imong imprastraktura ba giputol sa mga sapaw? Mahimo nimong susihon ang Base-service-APP diagram. Unsa ka lisud ang paghimo og pagbag-o?

Kung nasinati nimo nga nagkinahanglag usa ug tunga ka adlaw aron makahimo og mga pagbag-o, kini nagpasabut nga ikaw adunay teknikal nga utang ug kinahanglan nga magtrabaho uban niini. Nakapangdol ka lang sa usa ka teknikal nga utang sa imong code sa imprastraktura. Nahinumduman nako ang daghang ingon nga mga istorya kung, aron mabag-o ang pipila nga CCTL, kinahanglan nimo nga isulat pag-usab ang katunga sa code sa imprastraktura, tungod kay ang pagkamamugnaon ug ang tinguha nga ma-automate ang tanan nagdala sa kamatuoran nga ang tanan nadaot bisan diin, ang tanan nga mga gunitanan gikuha, ug kinahanglan nga refactor.

Padayon nga Paghatud

Atong itandi ang debit sa credit. Una moabut ang usa ka paghulagway sa imprastraktura, nga mahimong sukaranan. Dili nimo kinahanglan nga ihulagway ang tanan sa detalye, apan gikinahanglan ang pipila ka sukaranang paghulagway aron mahimo nimo kini. Kung dili, dili klaro kung unsa ang buhaton sa sunod nga pagpadala. Ang tanan nga kini nga mga gawi dungan nga nagbuklad kung moabut ka sa DevOps, apan nagsugod kini sa pagsabut kung unsa ang naa kanimo ug kung giunsa kini pagdumala. Kini mao ang tukma nga praktis sa imprastraktura isip code.

Kung klaro na nga naa nimo kini ug kung giunsa kini pagdumala, magsugod ka nga mahibal-an kung giunsa ipadala ang code sa developer sa produksiyon sa labing madali. Akong gipasabut kauban ang developer - nahinumduman namon ang bahin sa problema sa "mga atabay", nga mao, dili ang indibidwal nga mga tawo ang naghimo niini, apan usa ka team.

Pag uban namo Vanya Evtukhovich nakakita sa unang libro Jez Mapainubsanon ug mga grupo sa mga tagsulat "Padayon nga Paghatud", nga gipagawas sa 2009, kami naghunahuna sa dugay nga panahon kon unsaon paghubad ang titulo niini ngadto sa Russian. Gusto nila nga hubaron kini nga "Kanunay nga paghatud", apan, sa kasubo, gihubad kini nga "Padayon nga paghatud". Para nako adunay usa ka butang nga Ruso sa among ngalan, nga adunay pressure.

Kanunay nga paghatud sa mga paagi

Ang code nga naa sa repository sa produkto kanunay nga ma-download sa produksiyon. Mahimong dili siya mabuak, apan kanunay siyang andam alang niini. Tungod niini, kanunay ka nga nagsulat og code nga adunay lisud nga ipasabut nga pagbati sa pipila ka kabalaka sa ilawom sa imong tailbone. Kanunay kini nga makita kung imong ipagawas ang code sa imprastraktura. Kini nga pagbati sa pipila ka kabalaka kinahanglan nga naa - kini nagpalihok sa mga proseso sa utok nga nagtugot kanimo sa pagsulat sa code nga medyo lahi. Kini kinahanglan nga irekord sa mga lagda sulod sa kalamboan.

Aron makanunayon nga paghatud, kinahanglan nimo ang usa ka format sa artifact nga nagdagan sa usa ka plataporma sa imprastraktura. Kung imong ilabay ang "basura sa kinabuhi" sa lainlaing mga format sa usa ka plataporma sa imprastraktura, nan kini magkahiusa, lisud ang pagpadayon, ug ang problema sa teknikal nga utang mitungha. Ang pormat sa artifact kinahanglan nga i-align - kini usa usab ka kolektibo nga buluhaton: kitang tanan kinahanglan nga maghiusa, mag-utok sa atong utok ug maghimo niini nga format.

Ang artifact padayon nga gipauswag ug nagbag-o aron mohaum sa palibot sa produksiyon samtang naglihok kini sa pipeline sa pagpadala. Kung ang usa ka artifact naglihok subay sa pipeline, kini kanunay nga makasugat sa pipila ka mga butang nga dili kombenyente alang niini, nga susama sa kung unsa ang artifact nga imong gibutang sa mga engkwentro sa produksiyon. Kung sa klasikal nga pag-uswag kini gihimo sa usa ka administrador sa sistema nga naghimo sa rollout, nan sa proseso sa DevOps kini mahitabo sa tanang panahon: dinhi ilang gisulayan kini sa pipila ka mga pagsulay, dinhi ilang gilabay kini sa usa ka Kubernetes cluster, nga mas daghan o dili kaayo susama. sa produksiyon, unya kalit nga nagsugod sila sa pagsulay sa pagkarga.

Kini medyo nagpahinumdom sa dula nga Pac-Man - ang artifact moagi sa usa ka matang sa istorya. Sa parehas nga oras, hinungdanon nga kontrolon kung ang code moagi ba gyud sa istorya ug kung kini adunay kalabotan sa imong produksiyon. Ang mga istorya gikan sa produksiyon mahimong ma-drag ngadto sa Continuous Delivery nga proseso: ingon niini kung adunay nahulog, karon atong iprograma kini nga senaryo sa sulod sa sistema. Matag higayon nga ang code moagi usab niini nga senaryo, ug dili ka makasugat niini nga problema sa sunod. Makakat-on ka bahin niini labi ka sayo kaysa kini maabot sa imong kliyente.

Nagkalainlain nga mga estratehiya sa pag-deploy. Pananglitan, imong gigamit ang AB testing o canary deployment aron sulayan ang code nga lahi sa lain-laing mga kliyente, pagkuha og impormasyon kon sa unsang paagi molihok ang code, ug mas sayo pa kay sa dihang kini gilukot ngadto sa 100 ka milyon nga tiggamit.

Ang "kanunay nga paghatud" ingon niini.

Unsa ang DevOps

Ang proseso sa paghatud nga Dev, CI, Pagsulay, PreProd, Prod dili usa ka lahi nga palibot, kini ang mga yugto o mga istasyon nga adunay dili masunog nga kantidad diin ang imong artifact moagi.

Kung ikaw adunay code sa imprastraktura nga gihulagway nga Base Service APP nan makatabang kini ayaw kalimti ang tanan nga mga script, ug isulat kini isip code alang niini nga artifact, pagpalambo sa artifact ug usba kini sa imong paglakaw.

Mga pangutana sa pagsulay sa kaugalingon

Ang oras gikan sa paghulagway sa bahin hangtod sa pagpagawas sa produksiyon sa 95% sa mga kaso wala’y usa ka semana? Nag-uswag ba ang kalidad sa artifact sa matag yugto sa pipeline? Naa bay istorya nga naagian? Gigamit ba nimo ang lainlaing mga estratehiya sa pag-deploy?

Kung oo ang tanan nga mga tubag, nan maayo ka kaayo! Isulat ang imong mga tubag sa mga komento - malipay ako).

Feedback

Kini ang pinakalisud nga praktis sa tanan. Sa komperensya sa DevOpsConf, usa ka kauban sa Infobip, naghisgot bahin niini, medyo naglibog sa iyang mga pulong, tungod kay kini usa ka komplikado nga praktis bahin sa kamatuoran nga kinahanglan nimo nga bantayan ang tanan!

Unsa ang DevOps

Pananglitan, sa dugay na nga panahon, sa dihang nagtrabaho ko sa Qik ug nahibal-an namon nga kinahanglan namon nga bantayan ang tanan. Gibuhat namo kini, ug kami karon adunay 150 ka mga butang sa Zabbix, nga kanunay nga gibantayan. Kini makahahadlok, ang teknikal nga direktor mituis sa iyang tudlo sa iyang templo:

- Guys, nganong gilugos man ninyo ang server nga walay klaro?

Apan nahitabo ang usa ka insidente nga nagpakita nga kini usa ka maayo kaayo nga estratehiya.

Usa sa mga serbisyo nagsugod sa pag-crash kanunay. Sa sinugdan, wala kini nag-crash, nga makapaikag, ang code wala gidugang didto, tungod kay kini usa ka sukaranan nga broker, nga halos wala’y gamit sa negosyo - nagpadala lang kini mga mensahe tali sa mga indibidwal nga serbisyo. Ang serbisyo wala mausab sulod sa 4 ka bulan, ug sa kalit kini nagsugod sa pag-crash sa "Segmentation fault" error.

Nakurat kami, giablihan ang among mga tsart sa Zabbix, ug nahimo nga usa ka semana ug tunga ang milabay, ang pamatasan sa mga hangyo sa serbisyo sa API nga gigamit sa kini nga broker nausab kaayo. Sunod among nakita nga ang kasubsob sa pagpadala sa usa ka matang sa mensahe nausab. Sa ulahi nahibal-an namon nga kini mga kliyente sa android. Nangutana mi:

— Mga igsoon, unsay nahitabo kaninyo usa ka semana ug tunga ang milabay?

Agig tubag, nakadungog kami usa ka makapaikag nga istorya kung giunsa nila gidesinyo pag-usab ang UI. Dili tingali nga adunay moingon dayon nga giusab nila ang librarya sa HTTP. Alang sa mga kliyente sa Android, kini sama sa pag-ilis sa sabon sa banyo - dili lang nila mahinumduman. Ingon usa ka sangputanan, pagkahuman sa 40 minuto nga panag-istoryahanay, nahibal-an namon nga giusab nila ang librarya sa HTTP, ug ang mga default nga timing niini nausab. Kini misangpot sa pagbag-o sa kinaiya sa trapiko sa API server, nga misangpot sa usa ka sitwasyon nga hinungdan sa usa ka lumba sulod sa broker, ug kini nagsugod sa pagkahagsa.

Kung walay lawom nga pagmonitor kasagaran imposible nga maablihan kini. Kung ang organisasyon aduna pa'y problema sa "mga atabay", kung ang tanan maglabay sa salapi sa usag usa, kini mabuhi sa daghang mga tuig. I-restart ra nimo ang server tungod kay imposible nga masulbad ang problema. Kung imong gibantayan, gisubay, gisubay ang tanan nga mga panghitabo nga naa kanimo, ug gigamit ang pag-monitor ingon pagsulay - isulat ang code ug ipahibalo dayon kung giunsa kini pag-monitor, usab sa porma sa code (naa na namon ang imprastraktura ingon code), ang tanan mahimong klaro kung giunsa sa palad. Bisan ang ingon ka komplikado nga mga problema dali nga masubay.

Unsa ang DevOps

Kolektaha ang tanan nga kasayuran kung unsa ang mahitabo sa artifact sa matag yugto sa proseso sa paghatud - dili sa produksiyon.

I-upload ang pagmonitor sa CI, ug ang pipila ka sukaranang mga butang makita na didto. Sa ulahi makita nimo sila sa Pagsulay, PredProd, ug pagsulay sa pagkarga. Kolektaha ang kasayuran sa tanan nga mga yugto, dili lamang mga sukatan, estadistika, apan usab mga troso: kung giunsa ang paglansad sa aplikasyon, mga anomaliya - pagkolekta sa tanan.

Kay kon dili kini mahimong lisud nga mahibal-an kini. Nakaingon na ko nga mas komplikado ang DevOps. Aron masagubang kini nga pagkakomplikado, kinahanglan nimo nga adunay normal nga analytics.

Mga pangutana alang sa pagpugong sa kaugalingon

Ang imong pag-monitor ug pag-log sa himan alang kanimo? Sa pagsulat sa code, ang imong mga developers, lakip na ikaw, naghunahuna kon unsaon kini pag-monitor?

Nakadungog ka ba bahin sa mga problema gikan sa mga kustomer? Mas nasabtan ba nimo ang kliyente gikan sa pag-monitor ug pag-log? Mas nasabtan ba nimo ang sistema gikan sa pag-monitor ug pag-log? Gibag-o ba nimo ang sistema tungod lang kay nakita nimo nga ang uso sa sistema nagkadako ug nahibal-an nimo nga sa laing 3 ka semana ang tanan mamatay?

Kung naa na nimo kini nga tulo nga mga sangkap, mahimo nimong hunahunaon kung unsang klase nga platform sa imprastraktura ang naa nimo sa imong kompanya.

Plataporma sa imprastraktura

Ang punto dili nga kini usa ka hugpong sa lainlaing mga himan nga naa sa matag kompanya.

Ang punto sa usa ka plataporma sa imprastraktura mao nga ang tanan nga mga koponan naggamit sa kini nga mga himan ug gipalambo kini nga magkauban.

Klaro nga adunay lahi nga mga koponan nga responsable sa pag-uswag sa mga indibidwal nga piraso sa plataporma sa imprastraktura. Apan sa samang higayon, ang matag inhenyero adunay responsibilidad alang sa pagpalambo, pasundayag, ug promosyon sa plataporma sa imprastraktura. Sa usa ka internal nga lebel kini nahimong usa ka komon nga himan.

Ang tanan nga mga koponan nagpalambo sa plataporma sa imprastraktura ug gitagad kini nga mabinantayon ingon ilang kaugalingon nga IDE. Sa imong IDE nag-instalar ka og lain-laing mga plugins aron mahimo ang tanan nga nindot ug paspas, ug i-configure ang mga hotkey. Kung imong giablihan ang Sublime, Atom o Visual Studio Code, ang mga sayup sa code nag-agas ug nahibal-an nimo nga imposible nga molihok, gibati dayon nimo ang kasubo ug nagdagan ka aron ayohon ang imong IDE.

Pagtratar sa imong plataporma sa imprastraktura sa parehas nga paagi. Kung nakasabut ka nga adunay sayup niini, pagbilin usa ka hangyo kung dili nimo kini ayohon sa imong kaugalingon. Kung adunay usa ka butang nga yano, i-edit kini sa imong kaugalingon, magpadala usa ka hangyo sa pagbitad, ang mga lalaki maghunahuna niini ug idugang kini. Kini usa ka gamay nga lahi nga pamaagi sa mga gamit sa engineering sa ulo sa developer.

Gisiguro sa plataporma sa imprastraktura ang pagbalhin sa artifact gikan sa pag-uswag ngadto sa kliyente nga adunay kanunay nga pag-uswag sa kalidad. Ang IP giprograma sa usa ka hugpong sa mga istorya nga mahitabo sa code sa produksiyon. Sulod sa mga katuigan sa pag-uswag, adunay daghan niini nga mga istorya, ang uban niini talagsaon ug nalangkit kanimo - dili kini ma-Google.

Niini nga punto, ang plataporma sa imprastraktura nahimong imong bentaha sa kompetisyon, tungod kay kini adunay usa ka butang nga gitukod niini nga wala sa himan sa kakompetensya. Kon mas lawom ang imong IP, mas dako ang imong competitive advantage sa termino sa Time-to-market. Nagpakita dinhi problema sa lock sa vendor: Mahimo nimong kuhaon ang plataporma sa laing tawo, apan gamit ang kasinatian sa laing tawo, dili nimo masabtan kung unsa kini ka importante kanimo. Oo, dili tanan nga kompanya makahimo sa usa ka plataporma sama sa Amazon. Kini usa ka lisud nga linya diin ang kasinatian sa kompanya adunay kalabotan sa posisyon niini sa merkado, ug dili nimo magamit ang usa ka lock sa vendor didto. Importante usab kini nga hunahunaon.

Ang laraw

Kini usa ka sukaranan nga diagram sa usa ka plataporma sa imprastraktura nga makatabang kanimo sa pag-set up sa tanan nga mga gawi ug proseso sa usa ka kompanya sa DevOps.

Unsa ang DevOps

Atong tan-awon kon unsa ang naglangkob niini.

Sistema sa orkestra sa kahinguhaan, nga naghatag CPU, memorya, disk sa mga aplikasyon ug uban pang mga serbisyo. Sa ibabaw niini - ubos nga lebel nga mga serbisyo: pagmonitor, pag-log, CI/CD Engine, pagtipig sa artifact, imprastraktura isip system code.

Taas nga lebel nga serbisyo: database isip serbisyo, pila isip serbisyo, Load Balance isip serbisyo, pagbag-o sa imahe isip serbisyo, Big Data factory isip serbisyo. Sa ibabaw niini - pipeline nga naghatag kanunay nga giusab nga code sa imong kliyente.

Nakadawat ka og impormasyon kon sa unsang paagi molihok ang imong software para sa kliyente, usba kini, ihatag kini nga code pag-usab, makadawat og impormasyon - ug mao nga kanunay nimong gipalambo ang plataporma sa imprastraktura ug ang imong software.

Sa diagram, ang delivery pipeline naglangkob sa daghang mga yugto. Apan kini usa ka eskematiko nga diagram nga gihatag ingon usa ka pananglitan - dili kinahanglan nga sublion kini sa usag usa. Ang mga yugto nakig-interact sa mga serbisyo nga daw mga serbisyo—ang matag brick sa plataporma adunay kaugalingong istorya: giunsa paggahin ang mga kahinguhaan, giunsa ang paglusad sa aplikasyon, pagtrabaho sa mga kahinguhaan, pagmonitor, ug pagbag-o.

Mahinungdanon nga masabtan nga ang matag bahin sa plataporma nagdala usa ka istorya, ug pangutan-a ang imong kaugalingon kung unsa nga istorya ang gidala sa kini nga tisa, tingali kinahanglan kini ilabay ug pulihan sa serbisyo sa ikatulo nga partido. Pananglitan, posible bang i-install ang Okmeter imbes nga tisa? Tingali ang mga lalaki nakapalambo na niini nga kahanas labi pa sa naa kanato. Apan tingali dili - tingali kami adunay talagsaon nga kahanas, kinahanglan namon nga i-install ang Prometheus ug pauswagon pa kini.

Pagmugna sa plataporma

Kini usa ka komplikado nga proseso sa komunikasyon. Kung ikaw adunay sukaranan nga mga gawi, magsugod ka sa komunikasyon tali sa lainlaing mga inhenyero ug mga espesyalista nga nagpalambo sa mga kinahanglanon ug mga sumbanan, ug kanunay nga gibag-o kini sa lainlaing mga himan ug pamaagi. Ang kultura nga naa kanato sa DevOps hinungdanon dinhi.

Unsa ang DevOps
Uban sa kultura ang tanan yano ra - mahitungod kini sa kolaborasyon ug komunikasyon, nga mao, ang tinguha sa pagtrabaho sa usa ka komon nga uma uban sa usag usa, ang tinguha sa paggamit sa usa ka instrumento sa tingub. Wala’y rocket science dinhi - ang tanan yano ra, banal. Pananglitan, kitang tanan nagpuyo sa entrada ug gitipigan kini nga limpyo - ingon nga lebel sa kultura.

Unsay naa nimo?

Sa makausa pa, mga pangutana nga mahimo nimong ipangutana sa imong kaugalingon.

Gipahinungod ba ang plataporma sa imprastraktura? Kinsa ang responsable sa pag-uswag niini? Nakasabut ka ba sa kompetisyon nga mga bentaha sa imong plataporma sa imprastraktura?

Kinahanglan nimo nga pangutan-on kanunay ang imong kaugalingon niini nga mga pangutana. Kung ang usa ka butang mahimong ibalhin sa mga serbisyo sa ikatulo nga partido, kinahanglan kini ibalhin; kung ang serbisyo sa ikatulo nga partido magsugod sa pagbabag sa imong paglihok, nan kinahanglan nimo nga magtukod usa ka sistema sa imong kaugalingon.

Busa, DevOps ...

... kini usa ka komplikado nga sistema, kinahanglan adunay:

  • Digital nga produkto.
  • Mga module sa negosyo nga nagpalambo sa kini nga digital nga produkto.
  • Mga grupo sa produkto nga nagsulat og code.
  • Padayon nga mga gawi sa Paghatud.
  • Mga plataporma isip usa ka serbisyo.
  • Imprastraktura isip serbisyo.
  • Imprastraktura isip code.
  • Pagbulag nga mga gawi alang sa pagpadayon sa kasaligan, gitukod sa DevOps.
  • Usa ka praktis sa feedback nga naghulagway niining tanan.

Unsa ang DevOps

Mahimo nimong gamiton kini nga diagram, nga nagpasiugda niini kung unsa ang naa na nimo sa imong kompanya sa usa ka porma: naugmad ba kini o kinahanglan pa nga pauswagon.

Mahuman kini sa pipila ka semana DevOpsConf 2019. isip kabahin sa RIT++. Umari ka sa komperensya, diin makit-an nimo ang daghang mga cool nga mga taho bahin sa padayon nga paghatud, imprastraktura ingon code ug pagbag-o sa DevOps. I-book ang imong mga tiket, ang katapusang deadline sa presyo kay Mayo 20

Source: www.habr.com

Idugang sa usa ka comment