X'inhu DevOps

Id-definizzjoni ta 'DevOps hija kumplessa ħafna, għalhekk irridu nibdew id-diskussjoni dwarha mill-ġdid kull darba. Hemm elf pubblikazzjoni dwar dan is-suġġett fuq Habré biss. Imma jekk qed taqra dan, probabilment taf x'inhu DevOps. Għax jien mhux. Hello jien jisimni Alexander Titov (@osminog), u nitkellmu biss dwar DevOps u naqsam l-esperjenza tiegħi.

X'inhu DevOps

Ilni naħseb għal żmien twil dwar kif nagħmel l-istorja tiegħi utli, għalhekk se jkun hemm ħafna mistoqsijiet hawn - dawk li nistaqsi lili nnifsi u dawk li nistaqsi lill-klijenti tal-kumpanija tagħna. Billi twieġeb dawn il-mistoqsijiet, il-fehim isir aħjar. Jien se ngħidlek għaliex DevOps hija meħtieġa mill-perspettiva tiegħi, x'inhu, għal darb'oħra, mill-punt di vista tiegħi, u kif tifhem li qed terġa 'timxi lejn DevOps mill-perspettiva tiegħi. L-aħħar punt se jkun permezz ta’ mistoqsijiet. Billi twieġebhom għalik innifsek, tista' tifhem jekk il-kumpanija tiegħek hix miexja lejn DevOps jew jekk hemmx problemi b'xi mod.


F'ħin minnhom kont qed nirkeb il-mewġ ta' għaqdiet u akkwisti. L-ewwel, ħdimt għal startup żgħira msejħa Qik, imbagħad inxtrat minn kumpanija kemmxejn akbar imsejħa Skype, li mbagħad inxtrat minn kumpanija kemmxejn akbar imsejħa Microsoft. F'dak il-mument, bdejt nara kif l-idea ta 'DevOps kienet qed tittrasforma f'kumpaniji ta' daqs differenti. Wara dan, sirt interessat li nħares lejn DevOps mil-lat tas-suq, u l-kollegi tiegħi u jien waqqafna l-kumpanija Express 42. Għal 6 snin issa ilna nimxu tul il-mewġ tas-suq.

Fost affarijiet oħra, jien wieħed mill-organizzaturi tal-komunità DevOps Moska u l-organizzatur ta 'DevOps-Days 2017, iżda ma organizzajtx l-2018. Express 42 jaħdem ma 'ħafna kumpaniji. Aħna nkabbru DevOps hemmhekk, naraw kif jiġri, niġbdu konklużjonijiet, nanalizzaw, ngħidu lil kulħadd il-konklużjonijiet tagħna, u nħarrġu lin-nies fil-prattiki DevOps. B'mod ġenerali, qed nagħmlu l-almu tagħna biex inżidu l-esperjenza u l-kompetenza tagħna f'dan ir-rigward.

Għaliex DevOps

L-ewwel mistoqsija li taqbad lil kulħadd u dejjem hi - għaliex? Ħafna nies jaħsbu li DevOps huwa biss awtomazzjoni jew ħaġa simili li kull kumpanija diġà kellha.

— Kellna Integrazzjoni Kontinwa - dan ifisser li diġà kellna DevOps, u għaliex dan l-għalf kollu huwa meħtieġ? Qed jieħdu gost barra minn Malta, imma qed iwaqqfuna milli naħdmu!

Matul 9 snin ta 'żvilupp tal-komunità u l-metodoloġija, diġà deher ċar li dan għadu mhux glitter tal-kummerċjalizzazzjoni, iżda għadu mhux ċar għal kollox għaliex huwa meħtieġ. Bħal kull għodda u proċess, DevOps għandu għanijiet speċifiċi li finalment jilħaq.

Dan kollu huwa dovut għall-fatt li d-dinja qed tinbidel. Jitbiegħed mill-approċċ tal-intrapriża, meta l-kumpaniji jimxu dritt lejn ħolma, kif kanta l-klassika tagħna ta 'San Pietruburgu, minn punt A għal punt B skond ċerta strateġija, b'ċerta struttura mibnija għal dan.

X'inhu DevOps

Fil-prinċipju, kollox fl-IT għandu jinbena skont dan l-approċċ. Hawnhekk l-IT tintuża esklussivament biex jiġu awtomatizzati l-proċessi.

L-awtomazzjoni ma tinbidilx ta' spiss, għax meta kumpanija tinżel f'rut misjuqa sew, x'hemm biex tinbidel? Taħdem - tmissx. Issa l-approċċi fid-dinja qed jinbidlu, u dak imsejjaħ Agile jissuġġerixxi li l-punt finali B mhuwiex viżibbli immedjatament.

X'inhu DevOps

Meta kumpanija tgħaddi mis-suq, taħdem ma 'klijent, kontinwament tesplora s-suq u tbiddel il-punt finali B. Barra minn hekk, aktar spiss il-kumpanija tbiddel id-direzzjoni tagħha, aktar tkun ta' suċċess fl-aħħar, minħabba li tagħżel aktar suq niċeċ.

L-istrateġija hija murija minn kumpanija interessanti li reċentement tgħallimt dwarha. One Box Shave huwa servizz ta’ kunsinna ta’ abbonament għal magni tal-leħja u aċċessorji tal-leħja f’kaxxa. Huma jafu kif jippersonalizzaw il-"kaxxa" tagħhom għal klijenti differenti. Dan isir minn ċertu softwer, li mbagħad jibgħat l-ordni lill-fabbrika Koreana li tipproduċi l-oġġetti.

Dan il-prodott inxtara minn Unilever għal $1 biljun. Issa jikkompeti ma' Gillette u neħħiet sehem sinifikanti tal-konsumaturi fis-suq Amerikan. One Box Shave jgħidu:

— 4 xfafar? Inti serjament? Għaliex għandek bżonn dan - ma ttejjebx il-kwalità tat-tqaxxir. Krema magħżula apposta, fwieħa u leħja ta' kwalità għolja b'żewġ xfafar isolvu ħafna aktar problemi minn dawk stupidi 4 xfafar Gillette! Se naslu għal 10 dalwaqt?

Hekk tinbidel id-dinja. Unilever jsostnu li għandhom sistema tal-IT friska li tippermettilek tagħmel dan. Fl-aħħar jidher qisu kunċett Time-to-suq, li ħadd ma diġà tkellem dwarha.

X'inhu DevOps

Il-punt ta 'Time-to-market mhuwiex kemm ta' spiss niskjeraw. Ħafna drabi tista' tuża, iżda ċ-ċikli tar-rilaxx se jkunu twal. Jekk ċikli ta 'rilaxx ta' tliet xhur jiġu sovrapposti lil xulxin, u jċaqalquhom b'ġimgħa, jirriżulta li l-kumpanija tidher li qed tiskjerixxi darba fil-ġimgħa. U mill-idea sal-implimentazzjoni finali tieħu 3 xhur.

Iż-żmien tas-suq huwa li jitnaqqas iż-żmien mill-idea għall-implimentazzjoni finali.

F'dan il-każ, is-softwer jinteraġixxi mas-suq. Dan huwa kif il-websajt One Box Shave jinteraġixxi mal-klijent. M'għandhomx salespeople - biss websajt fejn il-viżitaturi jikklikkjaw u jħallu x-xewqat. Għaldaqstant, xi ħaġa ġdida trid titpoġġa kontinwament fuq is-sit u tiġi aġġornata skont ix-xewqat. Pereżempju, fil-Korea t'Isfel iqaxxru b'mod differenti milli fir-Russja, u jħobbu r-riħa mhux tal-arżnu, iżda, pereżempju, tal-karrotti u l-vanilla.

Peress li huwa meħtieġ li jinbidel malajr il-kontenut tas-sit, l-iżvilupp tas-softwer jinbidel ħafna. Permezz tas-software irridu nsiru nafu dak li jrid il-klijent. Preċedentement, tgħallimna dan permezz ta 'xi modi roundabout, pereżempju, permezz tal-ġestjoni tan-negozju. Imbagħad iddisinjaha, poġġiejna r-rekwiżiti fis-sistema tal-IT, u kollox kien frisk. Issa huwa differenti - is-softwer huwa ddisinjat minn kull min hu involut fil-proċess, inklużi l-inġiniera, għax permezz ta’ speċifikazzjonijiet tekniċi jitgħallmu kif jaħdem is-suq u wkoll jaqsmu l-għarfien tagħhom man-negozju.

Pereżempju, f'Qik f'daqqa waħda tgħallimna li n-nies għoġbu ħafna jtellgħu listi ta 'kuntatti fuq is-server, u fornewna b'applikazzjoni. Fil-bidu ma ħsibniex dwarha. F'kumpanija klassika, kulħadd kien jiddeċiedi li dan kien bug, peress li l-ispeċ ma qalx li għandu jaħdem tajjeb u ġeneralment ġie implimentat fuq l-irkoppa, kienu jitfu l-karatteristika u qalu: "Ħadd ma għandu bżonn dan, il- l-iktar ħaġa importanti hija li l-funzjonalità prinċipali taħdem.” . U l-kumpanija tat-teknoloġija tara din bħala opportunità u tibda tibdel is-softwer skont dan.

X'inhu DevOps

Fl-1968, raġel viżjonarju, Melvin Conway, ifformula l-idea li ġejja.

L-organizzazzjoni li toħloq is-sistema hija ristretta minn disinn li jirreplika l-istruttura ta 'komunikazzjoni ta' dik l-organizzazzjoni.

F'aktar dettall, sabiex tipproduċi sistemi ta 'tip differenti, irid ikollok ukoll struttura ta' komunikazzjoni fi ħdan kumpanija ta 'tip differenti. Jekk l-istruttura tal-komunikazzjoni tiegħek hija ogħla ġerarkika, allura dan ma jippermettilekx toħloq sistemi li jistgħu jipprovdu indikatur għoli ħafna taż-Żmien għas-Suq.

Aqra dwar il-liġi ta’ Conway wieħed jista ' permezz ta' links. Huwa importanti biex nifhmu l-kultura jew il-filosofija DevOps għaliex l-unika ħaġa li tinbidel b'mod fundamentali fid-DevOps hija l-istruttura tal-komunikazzjoni bejn it-timijiet.

Mil-lat tal-proċess, qabel DevOps, l-istadji kollha: analitika, żvilupp, ittestjar, tħaddim, kienu lineari.X'inhu DevOps
Fil-każ ta 'DevOps, dawn il-proċessi kollha jseħħu simultanjament.

X'inhu DevOps

Time-to-market huwa l-uniku mod kif jista 'jsir. Għal nies li ħadmu fil-proċess l-antik, dan jidher kemmxejn kożmiku, u ġeneralment hekk.

Allura għaliex għandek bżonn DevOps?

Għall-iżvilupp tal-prodott diġitali. Jekk il-kumpanija tiegħek m'għandhiex prodott diġitali, DevOps mhuwiex meħtieġ - huwa importanti ħafna.

DevOps jegħleb il-limitazzjonijiet tal-veloċità tal-produzzjoni ta 'softwer sekwenzjali. Fiha l-proċessi kollha jseħħu simultanjament.

Id-diffikultà tiżdied. Meta l-evanġelisti DevOps jgħidulek li se tagħmilha aktar faċli għalik li tirrilaxxa s-softwer, dan huwa bla sens.

B'DevOps, l-affarijiet se jsiru biss aktar ikkumplikati.

Fil-konferenza fl-istand ta 'Avito, tista' tara kif kienet tiskjera kontenitur Docker - kompitu mhux realistiku. Il-kumplessità ssir projbittiva; trid tgħaqqad ħafna blalen fl-istess ħin.

DevOps jibdel kompletament il-proċess u l-organizzazzjoni fil-kumpanija — aktar preċiżament, mhuwiex DevOps li jinbidel, iżda l-prodott diġitali. Biex tasal għal DevOps, xorta trid tibdel dan il-proċess kompletament.

Mistoqsijiet għal speċjalista

X'għandek? Mistoqsijiet li tista’ tistaqsi lilek innifsek waqt li taħdem f’kumpanija u tiżviluppa bħala speċjalista.

Għandek strateġija biex toħloq prodott diġitali? Jekk hemm, dak diġà tajjeb. Dan ifisser li l-kumpanija tiegħek qed timxi lejn DevOps.

Il-kumpanija tiegħek diġà qed toħloq prodott diġitali? Dan ifisser li tista 'togħla livell ieħor ogħla u tagħmel l-affarijiet b'mod aktar interessanti - għal darb'oħra mil-lat DevOps. Qed nitkellem biss minn dan il-lat.

Il-kumpanija tiegħek hija waħda mill-mexxejja tas-suq fin-niċċa tal-prodott diġitali? Spotify, Yandex, Uber huma kumpaniji li issa qegħdin fil-quċċata tal-progress teknoloġiku.

Staqsi lilek innifsek dawn il-mistoqsijiet, u jekk it-tweġibiet kollha huma le, allura forsi m'għandekx tagħmel DevOps f'din il-kumpanija. Jekk is-suġġett ta 'DevOps huwa verament interessanti għalik, forsi... għandek tmur għal kumpanija oħra? Jekk il-kumpanija tiegħek trid tidħol fid-DevOps, imma weġibt "Le" għall-mistoqsijiet kollha, allura huwa bħal dak ir-rinoċeronti sabiħ li qatt mhu se jinbidel.

X'inhu DevOps

Organizzazzjoni

Kif għedt, skond il-Liġi ta 'Conway, l-organizzazzjoni ta' kumpanija tinbidel. Nibda b'dak li jipprevjeni lil DevOps milli jippenetra ġewwa l-kumpanija mil-lat organizzattiv.

Il-problema tal-"bjar"

Il-kelma Ingliża "Silo" hija tradotta hawnhekk għar-Russu bħala "ukoll". Il-punt ta 'din il-problema huwa li m'hemm l-ebda skambju ta' informazzjoni bejn it-timijiet. Kull tim iħaffer fil-fond fil-kompetenza tiegħu, mingħajr ma jibni mappa komuni biex jinnaviga.

F'ċerti modi dan ifakkarni f'persuna li għadha kif waslet f'Moska u għadha ma tafx kif tinnaviga l-mappa tal-metro. Il-Muscovites normalment jafu ż-żona tagħhom tajjeb ħafna, u f'Moska kollha jistgħu jinnavigaw bl-użu tal-mappa tal-metro. Meta tiġi Moska għall-ewwel darba, m'għandekx din il-ħila, u int sempliċement diżorjentat.

DevOps jissuġġerixxi li wieħed jgħaddi minn dan il-mument ta’ diżorjentazzjoni u li d-dipartimenti kollha jaħdmu flimkien biex jibnu mappa ta’ interazzjoni komuni.

Żewġ fatturi jfixklu dan.

Konsegwenza tas-sistema ta 'ġestjoni korporattiva. Hija mibnija fi "bjar" ġerarkiċi separati. Pereżempju, hemm ċerti KPIs f'kumpaniji li jappoġġjaw din is-sistema. Min-naħa l-oħra, l-imħuħ ta 'persuna li ssibha diffiċli biex tmur lil hinn mill-konfini tal-kompetenza tagħha u tinnaviga s-sistema kollha tfixkel. Huwa biss skomda. Immaġina li qiegħed fl-ajruport ta 'Bangkok - mhux se ssib triqtek malajr. DevOps huwa wkoll diffiċli biex jinnaviga, u għalhekk in-nies jgħidu li għandek bżonn issib gwida biex tasal hemm.

Iżda l-iktar ħaġa importanti hija li l-problema ta '"bjar" għal inġinier li huwa mimli bl-ispirtu ta' DevOps, qara Fowler u mazz ta 'kotba oħra, hija espressa fil-fatt li "bjar" ma jippermettux li tagħmel affarijiet "ovvji".. Spiss niltaqgħu flimkien wara DevOps Moska, nitkellmu lil xulxin, u n-nies jilmentaw:

— Ridna biss inniedu CI, iżda rriżulta li l-ġestjoni ma kellhiex bżonnha.

Dan iseħħ proprju għax CI и Proċess ta' Kunsinna Kontinwu huma fuq il-fruntiera ta 'ħafna eżamijiet. Sempliċement mingħajr ma tegħleb il-problema ta '"bjar" fil-livell organizzattiv, ma tkunx tista' timxi 'l quddiem, tagħmel x'tagħmel u tkun kemm tkun imdejjaq.

X'inhu DevOps

Kull parteċipant fil-proċess fil-kumpanija: żviluppaturi backend u frontend, ittestjar, DBA, operazzjoni, netwerk, ħaffer fid-direzzjoni tiegħu stess, u ħadd m'għandu mappa komuni ħlief il-maniġer, li b'xi mod jimmonitorjahom u jimmaniġġjahom bl-użu tal-"divide u jirbħu”.

In-nies qed jiġġieldu għal xi stilel jew bnadar, kulħadd qed iħaffer l-għarfien espert tiegħu.

Bħala riżultat, meta tqum il-kompitu li tgħaqqad dan kollu flimkien u tibni pipeline komuni, u m'għadx hemm bżonn li tiġġieled għall-istilel u l-bnadar, tqum il-mistoqsija - x'għandek tagħmel xorta? Irridu nilħqu ftehim b’xi mod, imma ħadd ma għallimna kif nagħmlu dan fl-iskola. Ilna mgħallma mill-iskola: it-tmien grad - naqra! - meta mqabbla mas-seba' grad! Huwa l-istess hawn.

Huwa l-istess fil-kumpanija tiegħek?

Biex tiċċekkja dan, tista’ tistaqsi lilek innifsek il-mistoqsijiet li ġejjin.

It-timijiet jużaw għodod komuni u jikkontribwixxu għal bidliet għal dawk l-għodod komuni?

Kemm-il darba t-timijiet jerġgħu jorganizzaw—xi speċjalisti minn tim wieħed jimxu għal tim ieħor? Huwa f'ambjent DevOps li dan isir normali, għaliex xi drabi persuna sempliċement ma tistax tifhem x'qed tagħmel qasam ieħor ta 'għarfien espert. Jmur f’dipartiment ieħor, jaħdem hemm għal ġimgħatejn biex joħloq għalih innifsu mappa ta’ orjentazzjoni u interazzjoni ma’ dan id-dipartiment.

Huwa possibbli li tifforma kumitat tal-bidla u tbiddel l-affarijiet? Jew jeħtieġ l-id b'saħħitha tal-ogħla ġestjoni u direzzjoni? Dan l-aħħar ktibt fuq Facebook kif bank wieħed ftit magħruf qed jimplimenta għodod permezz ta' ordnijiet: niktbu ordni, nimplimentawha għal sena, u naraw x'jiġri. Dan, ovvjament, huwa twil u imdejjaq.

Kemm huwa importanti għall-maniġers li jirċievu kisbiet personali mingħajr ma jqisu l-kisbiet tal-kumpanija?

Jekk twieġeb dawn il-mistoqsijiet għalik innifsek, isir aktar ċar jekk għandekx problema bħal din fil-kumpanija tiegħek.

Infrastruttura bħala kodiċi

Wara li din il-problema tgħaddi, l-ewwel prattika importanti, li mingħajrha huwa diffiċli li tavvanza aktar fid-DevOps, hija infrastruttura bħala kodiċi.

Ħafna drabi, l-infrastruttura bħala kodiċi hija pperċepita kif ġej:

— Ejja nawtomatizzaw kollox f'bash, inkopru lilna nfusna bi skripts sabiex l-amministraturi jkollhom inqas xogħol manwali!

Imma dan mhux minnu.

L-infrastruttura bħala kodiċi tfisser li tiddeskrivi s-sistema tal-IT li taħdem magħha f'forma ta' kodiċi sabiex tifhem kontinwament l-istat tagħha.

Flimkien ma’ timijiet oħra, inti toħloq mappa fil-forma ta’ kodiċi li kulħadd jista’ jifhem u jista’ jinnaviga u jinnaviga. Ma jimpurtax fuq xiex isir - Chef, Ansible, Salt, jew tuża fajls YAML f'Kubernetes - m'hemm l-ebda differenza.

Fil-konferenza, kollega minn 2GIS qal kif għamlu l-ħaġa interna tagħhom stess għal Kubernetes, li tiddeskrivi l-istruttura tas-sistemi individwali. Biex jiddeskrivu 500 sistema, kellhom bżonn għodda separata li tiġġenera din id-deskrizzjoni. Meta jkun hemm din id-deskrizzjoni, kulħadd jista 'jiċċekkja ma' xulxin, jimmonitorja l-bidliet, kif jibdlu u jtejjeb, x'inhu nieqes.

Naqbel, skripts bash individwali normalment ma jipprovdux dan il-fehim. F'waħda mill-kumpaniji fejn ħdimt, kien hemm saħansitra isem għall-iskrittura "tikteb biss" - meta l-iskrittura tkun miktuba, iżda m'għadux possibbli li taqrah. Naħseb li dan huwa familjari għalik ukoll.

Infrastruttura kif kodiċi kodiċi li jiddeskrivi l-istat attwali tal-infrastruttura. Ħafna timijiet tal-prodott, l-infrastruttura u s-servizz jaħdmu flimkien fuq dan il-kodiċi, u l-aktar importanti, jeħtieġ li kollha jifhmu kif dan il-kodiċi fil-fatt jaħdem.

Il-kodiċi jinżamm skont l-aħjar prattiki tal-kodiċi: żvilupp konġunt, reviżjoni tal-kodiċi, ipprogrammar XP, ittestjar, talbiet għall-ġibda, CI għall-infrastrutturi tal-kodiċi - dan kollu huwa adattat u jista 'jintuża.

Il-kodiċi jsir lingwa komuni għall-inġiniera kollha.

It-tibdil tal-infrastruttura fil-kodiċi ma jieħux ħafna ħin. Iva, il-kodiċi tal-infrastruttura jista 'jkollu wkoll dejn tekniku. Normalment it-timijiet jiltaqgħu magħha sena u nofs wara li bdew jimplimentaw "infrastruttura bħala kodiċi" fil-forma ta 'mazz ta' skripts jew saħansitra Ansible, li jiktbu bħal kodiċi spaghetti, u wkoll jitfgħu skripts bash fit-taħlita!

Huwa importanti: Jekk għadek ma ppruvajtx dan l-għalf, ftakar li Ansible mhuwiex bash! Aqra d-dokumentazzjoni bir-reqqa, studja dak li jiktbu dwarha.

L-infrastruttura bħala kodiċi hija s-separazzjoni tal-kodiċi tal-infrastruttura f'saffi separati.

Fil-kumpanija tagħna, aħna niddistingwu 3 saffi bażiċi, li huma ċari ħafna u sempliċi, iżda jista 'jkun hemm aktar minnhom. Tista' tħares lejn il-kodiċi tal-infrastruttura tiegħek u tgħid jekk għandekx din il-kundizzjoni jew le. Jekk l-ebda saffi ma jiġu enfasizzati, allura trid tieħu ftit ħin u tirrefactor ftit.
X'inhu DevOps

saff bażi - dan huwa kif l-OS, il-backups u affarijiet oħra ta 'livell baxx huma kkonfigurati, pereżempju, kif Kubernetes jiġi skjerat fil-livell bażiku.

Livell tas-servizz - dawn huma s-servizzi li inti tipprovdi lill-iżviluppatur: illoggjar bħala servizz, monitoraġġ bħala servizz, database bħala servizz, balancer bħala servizz, kju bħala servizz, Kunsinna Kontinwa bħala servizz - mazz ta 'servizzi li timijiet individwali jistgħu jipprovdu għall-iżvilupp. Dan kollu jeħtieġ li jiġi deskritt f'moduli separati fis-sistema ta 'ġestjoni tal-konfigurazzjoni tiegħek.

Is-saff fejn isiru l-applikazzjonijiet u jiddeskrivi kif se jiżvolġu fuq iż-żewġ saffi ta 'qabel.

Mistoqsijiet ta' kontroll

Il-kumpanija tiegħek għandha repożitorju ta' infrastruttura komuni? Qed timmaniġġja d-dejn tekniku fl-infrastruttura tiegħek? Tuża prattiki ta' żvilupp f'repożitorju tal-infrastruttura? L-infrastruttura tiegħek hija mqatta' f'saffi? Tista 'tiċċekkja d-dijagramma Base-service-APP. Kemm hu diffiċli li tagħmel bidla?

Jekk esperjenzajt li damet ġurnata u nofs biex tagħmel bidliet, dan ifisser li għandek dejn tekniku u trid taħdem miegħu. Inti biss stumbled fuq rake ta 'dejn tekniku fil-kodiċi infrastruttura tiegħek. Niftakar ħafna stejjer bħal dawn meta, sabiex tibdel xi CCTL, għandek bżonn tikteb mill-ġdid nofs il-kodiċi tal-infrastruttura, għax il-kreattività u x-xewqa li awtomat kollox wasslu għall-fatt li kollox huwa msaddad kullimkien, il-manki kollha tneħħew, u huwa meħtieġ li jiġi refactor.

Kunsinna Kontinwa

Ejja nqabblu d-debitu mal-kreditu. L-ewwel tiġi deskrizzjoni ta 'l-infrastruttura, li tista' tkun pjuttost bażika. M'għandekx għalfejn tiddeskrivi kollox fid-dettall, iżda hija meħtieġa xi deskrizzjoni bażika sabiex tkun tista' taħdem magħha. Inkella, mhux ċar x'għandek tagħmel bil-kunsinna kontinwa li jmiss. Dawn il-prattiki kollha jseħħu fl-istess ħin meta tasal għal DevOps, iżda jibda billi tifhem dak li għandek u kif timmaniġġjah. Din hija preċiżament il-prattika tal-infrastruttura bħala kodiċi.

Ladarba jidher ċar li għandek u kif timmaniġġjaha, tibda tifhem kif tibgħat il-kodiċi tal-iżviluppatur għall-produzzjoni kemm jista 'jkun malajr. Jiġifieri flimkien mal-iżviluppatur - niftakru dwar il-problema ta '"bjar", jiġifieri, mhumiex nies individwali li joħorġu b'dan, iżda tim.

Meta nkunu ma’ Vanya Evtukhovich raw l-ewwel ktieb Jez Umli u gruppi ta’ awturi "Kunsinna Kontinwa", li ġiet rilaxxata fl-2009, ħsibna għal żmien twil dwar kif tittraduċi t-titlu tagħha għar-Russu. Huma riedu jittraduċuha bħala "Konsenjament twassil", iżda, sfortunatament, ġiet tradotta bħala "Konsenja kontinwa". Jidhirli li hemm xi ħaġa Russa f’isimna, bi pressjoni.

Kontinwament twassil mezzi

Il-kodiċi li jinsab fir-repożitorju tal-prodott jista' dejjem jitniżżel għall-produzzjoni. Jista 'ma jkunx deflated, iżda huwa dejjem lest għal dan. Għaldaqstant, dejjem tikteb kodiċi b'sensazzjoni diffiċli biex tispjega xi ansjetà taħt it-tailbone tiegħek. Ħafna drabi jidher meta toħroġ il-kodiċi tal-infrastruttura. Dan is-sentiment ta 'xi ansjetà għandu jkun preżenti - iqanqal proċessi tal-moħħ li jippermettulek tikteb kodiċi ftit differenti. Dan għandu jiġi rreġistrat fir-regoli fi ħdan l-iżvilupp.

Biex twassal b'mod konsistenti, għandek bżonn format ta' artifact li jgħaddi minn pjattaforma ta' infrastruttura. Jekk tarmi "ħela tal-ħajja" ta 'formati differenti fuq pjattaforma ta' infrastruttura, allura ssir unifikata, huwa diffiċli li tinżamm, u tqum il-problema tad-dejn tekniku. Il-format tal-artifact jeħtieġ li jiġi allinjat - dan huwa wkoll kompitu kollettiv: ilkoll jeħtieġ li niltaqgħu flimkien, insiru moħna u noħorġu b'dan il-format.

L-artifact jittejjeb kontinwament u jinbidel biex jixraq lill-ambjent tal-produzzjoni hekk kif jimxi permezz tal-pipeline tal-kunsinna. Meta artifact jiċċaqlaq tul il-pipeline, kontinwament jiltaqa 'ma' xi affarijiet li huma inkonvenjenti għalih, li huma simili għal dak li jiltaqa 'ma' l-artifact li tpoġġi fil-produzzjoni. Jekk fl-iżvilupp klassiku dan isir minn amministratur tas-sistema li jagħmel it-tnedija, allura fil-proċess DevOps dan jiġri l-ħin kollu: hawn ittestjawh b'xi testijiet, hawn tefgħuh f'cluster Kubernetes, li huwa xi ftit jew wisq simili. għall-produzzjoni, imbagħad f'daqqa waħda bdew l-ittestjar tat-tagħbija.

Dan huwa kemmxejn reminixxenti tal-logħba Pac-Man - l-artifact jgħaddi minn xi tip ta 'storja. Fl-istess ħin, huwa importanti li tikkontrolla jekk il-kodiċi fil-fatt jgħaddix mill-istorja u jekk huwiex b'xi mod relatat mal-produzzjoni tiegħek. Stejjer mill-produzzjoni jistgħu jiġu mkaxkra fil-proċess ta' Kunsinna Kontinwa: kien hekk meta waqgħet xi ħaġa, issa ejja nipprogrammaw dan ix-xenarju ġewwa s-sistema. Kull darba li l-kodiċi se jgħaddi minn dan ix-xenarju wkoll, u int mhux se tiltaqa 'ma' din il-problema l-ħin li jmiss. Int titgħallem dwarha ħafna aktar kmieni milli tasal lill-klijent tiegħek.

Strateġiji ta' skjerament differenti. Pereżempju, tuża l-ittestjar AB jew l-iskjeramenti tal-kanarji biex tittestja l-kodiċi b'mod differenti fuq klijenti differenti, tikseb informazzjoni dwar kif jaħdem il-kodiċi, u ħafna aktar kmieni milli meta jiġi mxerred għal 100 miljun utent.

"Twassil b'mod konsistenti" tidher bħal din.

X'inhu DevOps

Il-proċess tal-kunsinna Dev, CI, Test, PreProd, Prod mhuwiex ambjent separat, dawn huma stadji jew stazzjonijiet b'somom li jifilħu n-nar li minnhom jgħaddi l-artifatt tiegħek.

Jekk għandek kodiċi tal-infrastruttura li huwa deskritt bħala APP tas-Servizz Bażi allura jgħin tinsiex l-iskripts kollha, u iktebhom bħala kodiċi għal dan l-artifact, jippromwovu artifact u ibdelha kif tmur.

Mistoqsijiet ta 'awto-test

Iż-żmien mid-deskrizzjoni tal-karatteristika sal-ħruġ fil-produzzjoni f'95% tal-każijiet huwa inqas minn ġimgħa? Il-kwalità tal-artifact titjieb f'kull stadju tal-pipeline? Hemm xi storja li tgħaddi minnha? Tuża strateġiji ta' skjerament differenti?

Jekk it-tweġibiet kollha huma iva, allura inti oerhört jibred! Ikteb it-tweġibiet tiegħek fil-kummenti - inkun kuntent).

Feedback

Din hija l-aktar prattika diffiċli minn kulħadd. Fil-konferenza DevOpsConf, kollega minn Infobip, li jitkellem dwarha, kien ftit konfuż fi kliemu, għaliex din hija verament prattika kumplessa ħafna dwar il-fatt li għandek bżonn tissorvelja kollox!

X'inhu DevOps

Pereżempju, żmien twil ilu, meta ħdimt fil-Qik u indunajna li kellna bżonn nissorveljaw kollox. Għamilna dan, u issa għandna 150 oġġett f'Zabbix, li huma mmonitorjati kontinwament. Kien tal-biża, id-direttur tekniku dawwar subgħajh mat-tempju tiegħu:

- Guys, għaliex qed stupraw is-server b'xi ħaġa mhux ċara?

Iżda mbagħad seħħ inċident li wera li din hija verament strateġija sabiħa ħafna.

Wieħed mis-servizzi beda jikkraxxja kontinwament. Inizjalment, ma waqax, li huwa interessanti, il-kodiċi ma ġiex miżjud hemmhekk, minħabba li kien sensar bażiku, li prattikament ma kellu l-ebda funzjonalità tan-negozju - sempliċement bagħat messaġġi bejn is-servizzi individwali. Is-servizz ma nbidilx għal 4 xhur, u f'daqqa waħda beda jikkraxxja bl-iżball "Segmentation fault".

Konna ixxukkjati, ftaħna ċ-ċarts tagħna f'Zabbix, u rriżulta li ġimgħa u nofs ilu, l-imġieba tat-talbiet fis-servizz API li juża dan is-sensar inbidlet ħafna. Sussegwentement rajna li nbidlet il-frekwenza li jintbagħat ċertu tip ta’ messaġġ. Aktar tard sirna nafu li dawn kienu klijenti android. Staqsejna:

— Guys, x’ġarakom ġimgħa u nofs ilu?

Bi tweġiba, smajna storja interessanti dwar kif kienu ddisinjaw mill-ġdid l-UI. Huwa improbabbli li xi ħadd immedjatament jgħid li biddel il-librerija HTTP. Għall-klijenti ta 'Android, huwa bħal tibdil tas-sapun fil-kamra tal-banju - sempliċement ma jiftakrux. B'riżultat ta 'dan, wara 40 minuta ta' konversazzjoni, sirna nafu li bidlu l-librerija HTTP, u l-ħinijiet default tagħha nbidlu. Dan wassal biex l-imġieba tat-traffiku fuq is-server API tinbidel, li wasslet għal sitwazzjoni li kkawża tellieqa fi ħdan is-sensar, u bdiet tiġrifa.

Mingħajr monitoraġġ profond huwa ġeneralment impossibbli li tiftaħ dan. Jekk l-organizzazzjoni għad għandha l-problema ta '"bjar", meta kulħadd jitfa' flus lil xulxin, dan jista 'jgħix għas-snin. Inti sempliċiment terġa 'tibda s-server għaliex huwa impossibbli li ssolvi l-problema. Meta timmonitorja, issegwi, issegwi l-avvenimenti kollha li għandek, u tuża l-monitoraġġ bħala ttestjar - ikteb il-kodiċi u indika immedjatament kif timmonitorjah, ukoll fil-forma ta 'kodiċi (diġà għandna l-infrastruttura bħala kodiċi), kollox isir ċar kif fuq il-pala. Anke problemi kumplessi bħal dawn jiġu ssorveljati faċilment.

X'inhu DevOps

Iġbor l-informazzjoni kollha dwar x'jiġri mill-artifact f'kull stadju tal-proċess tal-kunsinna - mhux fil-produzzjoni.

Ittella l-monitoraġġ fuq CI, u xi affarijiet bażiċi diġà jkunu viżibbli hemmhekk. Aktar tard tarahom fit-Test, PredProd, u l-ittestjar tat-tagħbija. Iġbor informazzjoni fl-istadji kollha, mhux biss metriċi, statistika, iżda wkoll zkuk: kif ħarġet l-applikazzjoni, anomaliji - iġbor kollox.

Inkella jkun diffiċli biex insemmu. Diġà għedt li DevOps hija aktar kumplessa. Biex tlaħħaq ma 'din il-kumplessità, jeħtieġ li jkollok analiżi normali.

Mistoqsijiet għall-kontroll personali

Il-monitoraġġ u l-illoggjar tiegħek huma l-għodda tal-iżvilupp għalik? Meta tikteb il-kodiċi, l-iżviluppaturi tiegħek, inkluż int, jaħsbu dwar kif tissorveljah?

Tisma' dwar problemi mingħand il-klijenti? Tifhem aħjar lill-klijent mill-monitoraġġ u l-illoggjar? Tifhem is-sistema aħjar mill-monitoraġġ u l-illoggjar? Tibdel is-sistema sempliċement għax rajt li t-tendenza fis-sistema qed tikber u tifhem li fi żmien 3 ġimgħat oħra kollox se jmut?

Ladarba jkollok dawn it-tliet komponenti, tista 'taħseb dwar x'tip ta' pjattaforma ta 'infrastruttura għandek fil-kumpanija tiegħek.

Pjattaforma infrastrutturali

Il-punt mhuwiex li huwa sett ta 'għodod differenti li kull kumpanija għandha.

Il-punt ta 'pjattaforma infrastrutturali huwa li t-timijiet kollha jużaw dawn l-għodod u jiżviluppawhom flimkien.

Huwa ċar li hemm timijiet separati li huma responsabbli għall-iżvilupp ta 'biċċiet individwali tal-pjattaforma tal-infrastruttura. Iżda fl-istess ħin, kull inġinier iġorr ir-responsabbiltà għall-iżvilupp, il-prestazzjoni u l-promozzjoni tal-pjattaforma tal-infrastruttura. Fuq livell intern isir għodda komuni.

It-timijiet kollha jiżviluppaw il-pjattaforma tal-infrastruttura u jittrattawha b'attenzjoni bħala l-IDE tagħhom stess. Fl-IDE tiegħek tinstalla plugins differenti biex tagħmel kollox sabiħ u veloċi, u tikkonfigura hotkeys. Meta tiftaħ Sublime, Atom jew Visual Studio Code, l-iżbalji tal-kodiċi qed jitferrgħu u tirrealizza li huwa impossibbli li taħdem għal kollox, immedjatament tħossok imdejjaq u tiġri biex tirranġa l-IDE tiegħek.

Ittratta l-pjattaforma tal-infrastruttura tiegħek bl-istess mod. Jekk tifhem li hemm xi ħaġa ħażina fiha, ħalli talba jekk ma tistax tirranġaha lilek innifsek. Jekk hemm xi ħaġa sempliċi, editja lilek innifsek, ibgħat talba ta 'ġibda, il-guys jikkunsidrawha u żidha. Dan huwa approċċ kemmxejn differenti għall-għodod tal-inġinerija fir-ras tal-iżviluppatur.

Il-pjattaforma tal-infrastruttura tiżgura t-trasferiment tal-artifact mill-iżvilupp għall-klijent b'titjib kostanti fil-kwalità. L-IP huwa pprogrammat b'sett ta' stejjer li jiġru mal-kodiċi fil-produzzjoni. Matul is-snin ta 'żvilupp, hemm ħafna minn dawn l-istejjer, xi wħud minnhom huma uniċi u għandhom x'jaqsmu miegħek biss - ma jistgħux jiġu Googled.

F'dan il-punt, il-pjattaforma tal-infrastruttura ssir il-vantaġġ kompetittiv tiegħek, għax għandha xi ħaġa mibnija fiha li mhix fl-għodda tal-kompetitur. Aktar ma tkun profonda l-IP tiegħek, iktar ikun kbir il-vantaġġ kompetittiv tiegħek f'termini ta 'Time-to-market. Jidher hawn problema lock tal-bejjiegħ: Tista 'tieħu l-pjattaforma ta' xi ħadd ieħor, iżda billi tuża l-esperjenza ta 'xi ħadd ieħor, mhux se tifhem kemm hija rilevanti għalik. Iva, mhux kull kumpanija tista 'tibni pjattaforma bħal Amazon. Din hija linja diffiċli fejn l-esperjenza tal-kumpanija hija rilevanti għall-pożizzjoni tagħha fis-suq, u ma tistax tuża lock tal-bejjiegħ hemmhekk. Dan huwa importanti wkoll li wieħed jaħseb dwaru.

L-iskema

Din hija dijagramma bażika ta’ pjattaforma ta’ infrastruttura li tgħinek twaqqaf il-prattiki u l-proċessi kollha f’kumpanija DevOps.

X'inhu DevOps

Ejja nħarsu lejn fiex tikkonsisti.

Sistema ta' orkestrazzjoni tar-riżorsi, li jipprovdi CPU, memorja, disk għal applikazzjonijiet u servizzi oħra. Barra minn dan - servizzi ta’ livell baxx: monitoraġġ, illoggjar, CI/CD Engine, ħażna ta' artifact, infrastruttura bħala kodiċi tas-sistema.

Servizzi ta' livell ogħla: database bħala servizz, kjuwijiet bħala servizz, Load Balance bħala servizz, ridimensjonar tal-immaġni bħala servizz, fabbrika tal-Big Data bħala servizz. Barra minn dan - pipeline li jagħti kodiċi mmodifikat kontinwament lill-klijent tiegħek.

Tirċievi informazzjoni dwar kif taħdem is-software tiegħek għall-klijent, tibdelha, terġa’ tipprovdi dan il-kodiċi, tirċievi informazzjoni – u għalhekk tiżviluppa kontinwament kemm il-pjattaforma tal-infrastruttura kif ukoll is-software tiegħek.

Fid-dijagramma, il-pipeline tal-kunsinna jikkonsisti f'ħafna stadji. Iżda din hija dijagramma skematika li tingħata bħala eżempju - m'hemmx għalfejn tirrepetiha waħda waħda. L-istadji jinteraġixxu mas-servizzi bħallikieku kienu servizzi—kull briks tal-pjattaforma jġorr l-istorja tiegħu: kif jiġu allokati r-riżorsi, kif titnieda l-applikazzjoni, taħdem bir-riżorsi, tiġi mmonitorjata u tinbidel.

Huwa importanti li tifhem li kull parti tal-pjattaforma ġġorr storja, u staqsi lilek innifsek liema storja ġġorr dan il-briks, forsi għandha tintrema u tinbidel b'servizz ta 'parti terza. Pereżempju, huwa possibbli li tinstalla Okmeter minflok briks? Forsi l-guys diġà żviluppaw din il-kompetenza ħafna aktar milli għandna. Imma forsi le - forsi għandna kompetenza unika, irridu ninstallaw Prometheus u niżviluppawha aktar.

Ħolqien tal-pjattaforma

Dan huwa proċess ta 'komunikazzjoni kumpless. Meta jkollok prattiki bażiċi, tibda komunikazzjoni bejn inġiniera u speċjalisti differenti li jiżviluppaw rekwiżiti u standards, u kontinwament jibdluhom għal għodod u approċċi differenti. Il-kultura li għandna fid-DevOps hija importanti hawn.

X'inhu DevOps
Bil-kultura kollox huwa sempliċi ħafna - huwa dwar il-kollaborazzjoni u l-komunikazzjoni, jiġifieri, ix-xewqa li jaħdmu f'qasam komuni ma 'xulxin, ix-xewqa li jħaddmu strument wieħed flimkien. M'hemm l-ebda xjenza rokit hawn - kollox huwa sempliċi ħafna, banali. Pereżempju, ilkoll ngħixu fid-daħla u nżommuha nadifa - tali livell ta 'kultura.

X'għandek?

Għal darb'oħra, mistoqsijiet li tista' tistaqsi lilek innifsek.

Il-pjattaforma tal-infrastruttura hija ddedikata? Min hu responsabbli għall-iżvilupp tiegħu? Tifhem il-vantaġġi kompetittivi tal-pjattaforma tal-infrastruttura tiegħek?

Għandek bżonn kontinwament tistaqsi lilek innifsek dawn il-mistoqsijiet. Jekk xi ħaġa tista 'tiġi trasferita għal servizzi ta' partijiet terzi, għandha tiġi trasferita; jekk servizz ta 'parti terza jibda jimblokka l-moviment tiegħek, allura għandek bżonn tibni sistema fik innifsek.

Allura, DevOps...

... din hija sistema kumplessa, għandu jkollha:

  • Prodott diġitali.
  • Moduli tan-negozju li jiżviluppaw dan il-prodott diġitali.
  • Timijiet tal-prodott li jiktbu kodiċi.
  • Prattiki ta' Kunsinna Kontinwa.
  • Pjattaformi bħala servizz.
  • Infrastruttura bħala servizz.
  • Infrastruttura bħala kodiċi.
  • Prattiċi separati għaż-żamma tal-affidabbiltà, mibnija f'DevOps.
  • Prattika ta 'feedback li tiddeskrivi dan kollu.

X'inhu DevOps

Tista' tuża din id-dijagramma, billi tenfasizza fiha dak li diġà għandek fil-kumpanija tiegħek f'xi forma: żviluppat jew għad trid tiġi żviluppata.

Se jintemm fi ftit ġimgħat DevOpsConf 2019. bħala parti minn RIT++. Ejja għall-konferenza, fejn issib ħafna rapporti interessanti dwar kunsinna kontinwa, infrastruttura bħala kodiċi u trasformazzjoni DevOps. Ibbukkja l-biljetti tiegħek, l-aħħar skadenza tal-prezz hija l-20 ta’ Mejju

Sors: www.habr.com

Żid kumment