DevOps un haoss: programmatÅ«ras piegÄde decentralizÄtÄ pasaulÄ
Antons Veiss, Otomato Software dibinÄtÄjs un direktors, viens no pirmÄs DevOps sertifikÄcijas iniciatoriem un instruktoriem IzraÄlÄ, uzstÄjÄs pagÄjuÅ”ajÄ gadÄ. DevOpsDays Maskava par haosa teoriju un galvenajiem haosa inženierijas principiem, kÄ arÄ« paskaidroja, kÄ darbojas ideÄlÄ nÄkotnes DevOps organizÄcija.
Esam sagatavojuÅ”i ziÅojuma teksta versiju.
Labrīt
DevOpsDays MaskavÄ otro gadu pÄc kÄrtas, Ŕī ir mana otrÄ reize uz Ŕīs skatuves, daudzi no jums Å”ajÄ telpÄ ir otro reizi. Ko tas nozÄ«mÄ? Tas nozÄ«mÄ, ka DevOps kustÄ«ba KrievijÄ aug, vairojas, un pats galvenais, tas nozÄ«mÄ, ka ir pienÄcis laiks runÄt par to, kas ir DevOps 2018. gadÄ.
Paceliet rokas, kurÅ” domÄ, ka DevOps jau ir profesija 2018. gadÄ? Ir tÄdi. Vai telpÄ ir kÄds DevOps inženieris, kura darba aprakstÄ ir rakstÄ«ts āDevOps inženierisā? Vai telpÄ ir kÄdi DevOps pÄrvaldnieki? TÄda nav. DevOps arhitekti? ArÄ« nÄ. Nepietiekami. Vai tieÅ”Äm neviens nesaka, ka ir DevOps inženieris?
TÄtad lielÄkÄ daļa no jums domÄ, ka tas ir anti-modelis? Ka tÄdai profesijai nevajadzÄtu pastÄvÄt? MÄs varam domÄt, ko vien vÄlamies, bet, kamÄr domÄjam, nozare svinÄ«gi virzÄs uz priekÅ”u DevOps trompetes skaÅÄs.
KurÅ” ir dzirdÄjis par jaunu tÄmu DevDevOps? Å Ä« ir jauna tehnika, kas ļauj efektÄ«vi sadarboties starp izstrÄdÄtÄjiem un devops. Un ne tik jauns. Spriežot pÄc Twitter, viÅi par to jau sÄka runÄt pirms 4 gadiem. Un lÄ«dz Å”im interese par to aug un pieaug, tas ir, ir problÄma. ProblÄma ir jÄatrisina.
MÄs esam radoÅ”i cilvÄki, mÄs ne tikai atpÅ«Å”amies. MÄs sakÄm: DevOps nav pietiekami visaptveroÅ”s vÄrds, tajÄ joprojÄm trÅ«kst dažÄdu, interesantu elementu. Un mÄs ejam uz mÅ«su slepenajÄm laboratorijÄm un sÄkam ražot interesantas mutÄcijas: DevTestOps, GitOps, DevSecOps, BizDevOps, ProdOps.
LoÄ£ika ir dzelžaina, vai ne? MÅ«su piegÄdes sistÄma nedarbojas, mÅ«su sistÄmas ir nestabilas un lietotÄji ir neapmierinÄti, mums nav laika laicÄ«gi ieviest programmatÅ«ru, mÄs neiekļaujamies budžetÄ. KÄ mÄs to visu atrisinÄsim? MÄs izdomÄsim jaunu vÄrdu! Tas beigsies ar "Ops" un problÄma ir atrisinÄta.
TÄpÄc es saucu Å”o pieeju - "Os, un problÄma ir atrisinÄta."
Tas viss pazÅ«d otrajÄ plÄnÄ, ja atgÄdinÄm sev, kÄpÄc mÄs to visu izdomÄjÄm. MÄs izdomÄjÄm visu Å”o DevOps lietu, lai programmatÅ«ras piegÄdi un mÅ«su paÅ”u darbu Å”ajÄ procesÄ padarÄ«tu pÄc iespÄjas netraucÄtu, nesÄpÄ«gÄku, efektÄ«vÄku un, pats galvenais, patÄ«kamÄku.
DevOps izauga no sÄpÄm. Un mÄs esam noguruÅ”i no cieÅ”anÄm. Un, lai tas viss notiktu, mÄs paļaujamies uz mūžzaļÄm praksÄm: efektÄ«vu sadarbÄ«bu, plÅ«smas praksi un, pats galvenais, sistÄmisku domÄÅ”anu, jo bez tÄ neviens DevOps nedarbojas.
Kas ir sistÄma?
Un, ja mÄs jau runÄjam par sistÄmu domÄÅ”anu, atgÄdinÄsim sev, kas ir sistÄma.
Ja esat revolucionÄrs hakeris, tad jums sistÄma ir nepÄrprotami ļauna. Tas ir mÄkonis, kas karÄjas pÄr jums un liek jums darÄ«t lietas, kuras jÅ«s nevÄlaties darÄ«t.
No sistÄmiskÄs domÄÅ”anas viedokļa sistÄma ir veselums, kas sastÄv no daļÄm. Å ajÄ ziÅÄ katrs no mums ir sistÄma. OrganizÄcijas, kurÄs mÄs strÄdÄjam, ir sistÄmas. Un to, ko jÅ«s un es veidojam, sauc par sistÄmu.
Tas viss ir daļa no vienas lielas sociÄli tehnoloÄ£iskas sistÄmas. Un tikai tad, ja mÄs sapratÄ«sim, kÄ Å”Ä« sociÄli tehnoloÄ£iskÄ sistÄma darbojas kopÄ, tikai tad mÄs varÄsim patieÅ”Äm kaut ko optimizÄt Å”ajÄ jautÄjumÄ.
No sistÄmas domÄÅ”anas viedokļa sistÄmai ir dažÄdas interesantas Ä«paŔības. PirmkÄrt, tas sastÄv no daļÄm, kas nozÄ«mÄ, ka tÄ uzvedÄ«ba ir atkarÄ«ga no detaļu uzvedÄ«bas. TurklÄt visas tÄ daļas ir arÄ« savstarpÄji atkarÄ«gas. IzrÄdÄs, jo vairÄk sistÄmas daļu ir, jo grÅ«tÄk ir saprast vai paredzÄt tÄs uzvedÄ«bu.
No uzvedÄ«bas viedokļa ir vÄl viens interesants fakts. SistÄma var darÄ«t kaut ko tÄdu, ko nevar paveikt neviena no tÄs atseviŔķÄm daļÄm.
KÄ teica Dr Rasels Akofs (viens no sistÄmiskÄs domÄÅ”anas pamatlicÄjiem), to ir diezgan viegli pierÄdÄ«t ar domu eksperimentu. PiemÄram, kurÅ” telpÄ zina, kÄ rakstÄ«t kodu? Roku ir daudz, un tas ir normÄli, jo tÄ ir viena no galvenajÄm prasÄ«bÄm mÅ«su profesijai. Vai jÅ«s zinÄt, kÄ rakstÄ«t, bet vai jÅ«su rokas var rakstÄ«t kodu atseviŔķi no jums? Ir cilvÄki, kas sacÄ«s: "Kodu raksta nevis manas rokas, bet gan manas smadzenes." Vai jÅ«su smadzenes var rakstÄ«t kodu atseviŔķi no jums? Nu droÅ”i vien nÄ.
Smadzenes ir pÄrsteidzoÅ”a iekÄrta, mÄs pat nezinÄm 10% no tÄ, kÄ tÄs tur darbojas, taÄu tÄs nevar darboties atseviŔķi no sistÄmas, kas ir mÅ«su Ä·ermenis. Un to ir viegli pierÄdÄ«t: atveriet savu galvaskausu, izÅemiet smadzenes, novietojiet tÄs datora priekÅ”Ä, ļaujiet viÅam mÄÄ£inÄt uzrakstÄ«t kaut ko vienkÄrÅ”u. PiemÄram, Python valodÄ "Sveika, pasaule".
Ja sistÄma var izdarÄ«t kaut ko tÄdu, ko neviena no tÄs daļÄm nevar izdarÄ«t atseviŔķi, tas nozÄ«mÄ, ka tÄs uzvedÄ«bu nenosaka tÄs daļu uzvedÄ«ba. Kas tad to nosaka? To nosaka mijiedarbÄ«ba starp Ŕīm daļÄm. Un attiecÄ«gi, jo vairÄk daļu, jo sarežģītÄka mijiedarbÄ«ba, jo grÅ«tÄk ir saprast un paredzÄt sistÄmas uzvedÄ«bu. Un tas padara Å”Ädu sistÄmu haotisku, jo jebkuras, pat visnenozÄ«mÄ«gÄkÄs, neredzamÄs izmaiÅas jebkurÄ sistÄmas daÄ¼Ä var novest pie pilnÄ«gi neparedzamiem rezultÄtiem.
Å o jutÄ«gumu pret sÄkotnÄjiem apstÄkļiem pirmais atklÄja un pÄtÄ«ja amerikÄÅu meteorologs Eds Lorencs. PÄc tam to sauca par "tauriÅa efektu" un izraisÄ«ja zinÄtniskÄs domas kustÄ«bas attÄ«stÄ«bu, ko sauca par "haosa teoriju". Å Ä« teorija kļuva par vienu no galvenajÄm paradigmas maiÅÄm 20. gadsimta zinÄtnÄ.
Haosa teorija
CilvÄki, kas pÄta haosu, sauc sevi par haosologiem.
PatiesÄ«bÄ Å”Ä« ziÅojuma iemesls bija tas, ka, strÄdÄjot ar sarežģītÄm sadalÄ«tÄm sistÄmÄm un lielÄm starptautiskÄm organizÄcijÄm, kÄdÄ brÄ«dÄ« es sapratu, ka es jÅ«tos tÄ. Esmu haosologs. Tas bÅ«tÄ«bÄ ir gudrs veids, kÄ pateikt: "Es nesaprotu, kas Å”eit notiek, un es nezinu, ko ar to darÄ«t."
DomÄju, ka daudzi no jums arÄ« bieži tÄ jÅ«tas, tÄpÄc arÄ« esat haosologi. Es aicinu jÅ«s uz haosologu Ä£ildi. SistÄmas, kuras jÅ«s un es, dÄrgie kolÄÄ£i haosologi, pÄtÄ«sim, sauc par "sarežģītÄm adaptÄ«vÄm sistÄmÄm".
Kas ir pielÄgoÅ”anÄs spÄja? PielÄgoÅ”anÄs spÄja nozÄ«mÄ, ka detaļu individuÄlÄ un kolektÄ«vÄ uzvedÄ«ba Å”ÄdÄ adaptÄ«vÄ sistÄmÄ mainÄs un paÅ”organizÄjas, reaÄ£Äjot uz notikumiem vai mikronotikumu Ä·ÄdÄm sistÄmÄ. Tas ir, sistÄma pielÄgojas pÄrmaiÅÄm paÅ”organizÄÅ”anÄs ceļÄ. Un Ŕī paÅ”organizÄÅ”anÄs spÄja ir balstÄ«ta uz brÄ«vu autonomo aÄ£entu brÄ«vprÄtÄ«gu, pilnÄ«bÄ decentralizÄtu sadarbÄ«bu.
VÄl viena interesanta Å”Ädu sistÄmu Ä«paŔība ir tÄ, ka tÄs ir brÄ«vi mÄrogojamas. Kas mÅ«s, kÄ haosologus-inženierus, neapÅ”aubÄmi vajadzÄtu interesÄt. TÄtad, ja mÄs sakÄm, ka sarežģītas sistÄmas uzvedÄ«bu nosaka tÄs daļu mijiedarbÄ«ba, tad par ko mums vajadzÄtu interesÄties? MijiedarbÄ«ba.
Ir vÄl divi interesanti atklÄjumi.
PirmkÄrt, mÄs saprotam, ka sarežģītu sistÄmu nevar vienkÄrÅ”ot, vienkÄrÅ”ojot tÄs daļas. OtrkÄrt, vienÄ«gais veids, kÄ vienkÄrÅ”ot sarežģītu sistÄmu, ir vienkÄrÅ”ot mijiedarbÄ«bu starp tÄs daļÄm.
KÄ mÄs mijiedarbojamies? JÅ«s un es esam daļa no lielas informÄcijas sistÄmas, ko sauc par cilvÄku sabiedrÄ«bu. MÄs mijiedarbojamies caur kopÄ«gu valodu, ja mums tÄ ir, ja mÄs to atrodam.
TaÄu valoda pati par sevi ir sarežģīta adaptÄ«va sistÄma. AttiecÄ«gi, lai mijiedarbotos efektÄ«vÄk un vienkÄrÅ”Äk, mums ir jÄizveido sava veida protokoli. Tas ir, kaut kÄda simbolu un darbÄ«bu secÄ«ba, kas padarÄ«s informÄcijas apmaiÅu starp mums vienkÄrÅ”Äku, paredzamÄku, saprotamÄku.
Es gribu teikt, ka tendences uz sarežģītÄ«bu, uz pielÄgoÅ”anÄs spÄju, uz decentralizÄciju, uz haosu var izsekot it visÄ. Un sistÄmÄs, kuras veidojam jÅ«s un es, un tajÄs sistÄmÄs, kuru daļa esam mÄs.
Un, lai nebÅ«tu nepamatoti, apskatÄ«sim, kÄ mainÄs mÅ«su radÄ«tÄs sistÄmas.
JÅ«s gaidÄ«jÄt Å”o vÄrdu, es saprotu. MÄs esam DevOps konferencÄ, Å”odien Å”is vÄrds tiks dzirdÄts apmÄram simts tÅ«kstoÅ”us reižu un tad mÄs par to sapÅosim naktÄ«.
Mikropakalpojumi ir pirmÄ programmatÅ«ras arhitektÅ«ra, kas radÄs kÄ reakcija uz DevOps praksi, kas ir izstrÄdÄta, lai padarÄ«tu mÅ«su sistÄmas elastÄ«gÄkas, mÄrogojamÄkas un nodroÅ”inÄtu nepÄrtrauktu piegÄdi. KÄ viÅa to dara? Samazinot pakalpojumu apjomu, samazinot Å”o pakalpojumu apstrÄdÄjamo problÄmu loku, samazinot piegÄdes laiku. Tas ir, mÄs samazinÄm un vienkÄrÅ”ojam sistÄmas daļas, palielinÄm to skaitu, un attiecÄ«gi nepÄrtraukti palielinÄs mijiedarbÄ«bas sarežģītÄ«ba starp Ŕīm daļÄm, tas ir, rodas jaunas problÄmas, kas mums ir jÄatrisina.
Mikropakalpojumi nav beigas, mikropakalpojumi vispÄr jau ir vakar, jo nÄk Serverless. Visi serveri nodega, nav serveru, nav operÄtÄjsistÄmu, tikai tÄ«rs izpildÄms kods. KonfigurÄcijas ir atseviŔķas, stÄvokļi ir atseviŔķi, visu kontrolÄ notikumi. Skaistums, tÄ«rÄ«ba, klusums, nekÄdu pasÄkumu, nekas nenotiek, pilnÄ«ga kÄrtÄ«ba.
Kur ir sarežģītÄ«ba? GrÅ«tÄ«bas, protams, ir mijiedarbÄ«bÄ. Cik daudz viena funkcija var paveikt viena pati? KÄ tas mijiedarbojas ar citÄm funkcijÄm? ZiÅojumu rindas, datu bÄzes, balansÄtÄji. KÄ atjaunot kÄdu notikumu, ja notikusi kļūme? Daudz jautÄjumu un maz atbilžu.
Mikropakalpojumi un bez servera ir tas, ko mÄs, gudrie hipsteri, saucam par Cloud Native. Tas viss ir par mÄkoni. TaÄu mÄkoÅa mÄrogojamÄ«ba pÄc bÅ«tÄ«bas ir ierobežota. MÄs esam pieraduÅ”i uzskatÄ«t to par izplatÄ«tu sistÄmu. PatiesÄ«bÄ, kur dzÄ«vo mÄkoÅpakalpojumu sniedzÄju serveri? Datu centros. Tas ir, mums Å”eit ir sava veida centralizÄts, ļoti ierobežots, izplatÄ«ts modelis.
Å odien mÄs saprotam, ka lietu internets vairs nav tikai lieli vÄrdi, ka pat saskaÅÄ ar pieticÄ«gÄm prognozÄm tuvÄko piecu lÄ«dz desmit gadu laikÄ mÅ«s sagaida miljardiem ar internetu pieslÄgtu ierÄ«Äu. MilzÄ«gs daudzums noderÄ«gu un bezjÄdzÄ«gu datu, kas tiks sapludinÄti mÄkonÄ« un augÅ”upielÄdÄti no mÄkoÅa.
MÄkonis neizturÄs, tÄpÄc mÄs arvien vairÄk runÄjam par to, ko sauc par malu skaitļoÅ”anu. Vai arÄ« man patÄ«k brÄ«niŔķīgÄ āmiglas skaitļoÅ”anasā definÄ«cija. To apvij romantisma un noslÄpumaina mistika.
Miglas skaitļoÅ”ana. Lieta ir tÄda, ka mÄkoÅi ir centralizÄti Å«dens, tvaiku, ledus un akmeÅu kopas. Un migla ir Å«dens pilieni, kas ir izkaisÄ«ti ap mums atmosfÄrÄ.
Miglas paradigmÄ lielÄko daļu darba Å”ie pilieni veic pilnÄ«gi autonomi vai sadarbÄ«bÄ ar citiem pilieniem. Un viÅi vÄrÅ”as pie mÄkoÅa tikai tad, kad viÅi patieÅ”Äm kļūst ļoti nospiesti.
Tas ir, atkal decentralizÄcija, autonomija un, protams, daudzi no jums jau saprot, kur tas viss notiek, jo jÅ«s nevarat runÄt par decentralizÄciju, nepieminot blokÄ·Ädi.
Ir tie, kas tic, tie ir tie, kas ir ieguldÄ«juÅ”i kriptovalÅ«tÄ. Ir tÄdi, kas tic, bet baidÄs, kÄ es, piemÄram. Un ir tÄdi, kas netic. Å eit jÅ«s varat izturÄties atŔķirÄ«gi. Ir tehnoloÄ£ijas, jauna nezinÄma lieta, ir problÄmas. TÄpat kÄ jebkura jauna tehnoloÄ£ija, tÄ rada vairÄk jautÄjumu, nekÄ sniedz atbildes.
AžiotÄža ap blokÄ·Ädi ir saprotama. Zelta skrieÅ”anÄs malÄ, tehnoloÄ£ija pati par sevi sniedz ievÄrojamus solÄ«jumus gaiÅ”Äkai nÄkotnei: lielÄka brÄ«vÄ«ba, lielÄka autonomija, sadalÄ«ta globÄla uzticÄÅ”anÄs. Ko negribÄt?
AttiecÄ«gi arvien vairÄk inženieru visÄ pasaulÄ sÄk izstrÄdÄt decentralizÄtas lietojumprogrammas. Un tas ir spÄks, ko nevar atmest, vienkÄrÅ”i sakot: "Ahh, blokÄ·Äde ir tikai slikti Ä«stenota izplatÄ«ta datubÄze." Vai arÄ«, kÄ mÄdz teikt skeptiÄ·i: "Blockchain nav reÄlu lietojumprogrammu." Ja tÄ padomÄ, pirms 150 gadiem viÅi to paÅ”u teica par elektrÄ«bu. Un viÅiem pat savÄ ziÅÄ bija taisnÄ«ba, jo tas, ko elektrÄ«ba padara iespÄjamu mÅ«sdienÄs, nekÄdi nebija iespÄjams 19. gadsimtÄ.
Starp citu, kurÅ” zina, kÄds logotips ir uz ekrÄna? Å is ir Hyperledger. Å is ir projekts, kas tiek izstrÄdÄts The Linux Foundation paspÄrnÄ un ietver blokÄ·Ädes tehnoloÄ£iju komplektu. Tas patiesi ir mÅ«su atvÄrtÄ pirmkoda kopienas spÄks.
Haosa inženierija
TÄtad sistÄma, kuru mÄs izstrÄdÄjam, kļūst arvien sarežģītÄka, haotiskÄka un arvien adaptÄ«vÄka. Netflix ir mikropakalpojumu sistÄmu pionieri. ViÅi bija vieni no pirmajiem, kas to saprata, viÅi izstrÄdÄja rÄ«ku komplektu, ko viÅi sauca par Simian armiju, no kuriem slavenÄkais bija Haosa mÄrkaÄ·is. ViÅÅ” definÄja to, kas kļuva pazÄ«stams kÄ "haosa inženierijas principi".
Starp citu, strÄdÄjot pie ziÅojuma, mÄs pat tulkojÄm Å”o tekstu krievu valodÄ, tÄpÄc dodieties uz saite, lasÄ«t, komentÄt, rÄt.
ÄŖsumÄ haosa inženierijas principi saka sekojoÅ”o. Sarežģītas sadalÄ«tÄs sistÄmas pÄc bÅ«tÄ«bas ir neparedzamas un pÄc bÅ«tÄ«bas kļūdainas. Kļūdas ir neizbÄgamas, kas nozÄ«mÄ, ka mums ir jÄpieÅem Ŕīs kļūdas un jÄstrÄdÄ ar Ŕīm sistÄmÄm pavisam citÄdi.
Mums paÅ”iem ir jÄcenÅ”as ieviest Ŕīs kļūdas savÄs ražoÅ”anas sistÄmÄs, lai pÄrbaudÄ«tu mÅ«su sistÄmu pielÄgoÅ”anÄs spÄjas, paÅ”organizÄÅ”anÄs spÄju, izdzÄ«voÅ”anu.
Un tas visu maina. Ne tikai tas, kÄ mÄs ielaižam sistÄmas ražoÅ”anÄ, bet arÄ« kÄ mÄs tÄs izstrÄdÄjam, kÄ mÄs tÄs pÄrbaudÄm. Nav koda stabilizÄcijas vai iesaldÄÅ”anas procesa, gluži pretÄji, pastÄv pastÄvÄ«gs destabilizÄcijas process. MÄs cenÅ”amies iznÄ«cinÄt sistÄmu un redzÄt, ka tÄ turpina izdzÄ«vot.
IzkliedÄtie sistÄmu integrÄcijas protokoli
TÄdÄļ mÅ«su sistÄmÄm ir kaut kÄ jÄmainÄs. Lai tie kļūtu stabilÄki, tiem ir nepiecieÅ”ami jauni protokoli mijiedarbÄ«bai starp to daļÄm. Lai Ŕīs daļas varÄtu vienoties un nonÄkt pie kaut kÄdas paÅ”organizÄÅ”anÄs. Un rodas visdažÄdÄkie jauni rÄ«ki, jauni protokoli, kurus es saucu par āizplatÄ«tu sistÄmu mijiedarbÄ«bas protokoliemā.
Par ko es runÄju? PirmkÄrt, projekts Opentracing. Daži mÄÄ£ina izveidot vispÄrÄju izplatÄ«tu izsekoÅ”anas protokolu, kas ir absolÅ«ti neaizstÄjams rÄ«ks sarežģītu izplatÄ«tu sistÄmu atkļūdoÅ”anai.
TÄlÄk - AtvÄrts politikas aÄ£ents. MÄs sakÄm, ka nevaram paredzÄt, kas notiks ar sistÄmu, proti, jÄpalielina tÄs novÄrojamÄ«ba, novÄrojamÄ«ba. Opentracing pieder rÄ«ku saimei, kas nodroÅ”ina mÅ«su sistÄmÄm novÄrojamÄ«bu. Bet mums ir nepiecieÅ”ama novÄrojamÄ«ba, lai noteiktu, vai sistÄma darbojas tÄ, kÄ mÄs to sagaidÄm, vai nÄ. KÄ mÄs definÄjam sagaidÄmo uzvedÄ«bu? DefinÄjot kaut kÄdu politiku, kaut kÄdu noteikumu kopumu. AtvÄrtÄs politikas aÄ£enta projekts strÄdÄ, lai definÄtu Å”o noteikumu kopumu visÄ spektrÄ, sÄkot no piekļuves lÄ«dz resursu pieŔķirÅ”anai.
KÄ jau teicÄm, mÅ«su sistÄmas arvien vairÄk ir balstÄ«tas uz notikumiem. Bez servera ir lielisks notikumu vadÄ«tu sistÄmu piemÄrs. Lai mÄs varÄtu pÄrsÅ«tÄ«t notikumus starp sistÄmÄm un izsekot tiem, mums ir vajadzÄ«ga kopÄ«ga valoda, kÄds kopÄ«gs protokols, kÄ mÄs runÄjam par notikumiem, kÄ mÄs tos pÄrraidÄm viens otram. TÄ saucÄs projekts MÄkoÅu notikumi.
PastÄvÄ«gÄ izmaiÅu straume, kas plÅ«st pÄri mÅ«su sistÄmÄm, pastÄvÄ«gi destabilizÄjot tÄs, ir nepÄrtraukta programmatÅ«ras artefaktu plÅ«sma. Lai mÄs saglabÄtu Å”o pastÄvÄ«go izmaiÅu plÅ«smu, mums ir nepiecieÅ”ams kaut kÄds kopÄ«gs protokols, ar kura palÄ«dzÄ«bu mÄs varam runÄt par to, kas ir programmatÅ«ras artefakts, kÄ tas tiek pÄrbaudÄ«ts, kÄdu pÄrbaudi tas ir izturÄjis. TÄ sauca projektu Grafeas. Tas ir, izplatÄ«ts metadatu protokols programmatÅ«ras artefaktiem.
Un visbeidzot, ja mÄs vÄlamies, lai mÅ«su sistÄmas bÅ«tu pilnÄ«gi neatkarÄ«gas, adaptÄ«vas un paÅ”organizÄtas, mums ir jÄdod tÄm tiesÄ«bas uz paÅ”identifikÄciju. Projekts sauc spiffe Tas ir tieÅ”i tas, ko viÅÅ” dara. Å is ir arÄ« projekts Cloud Native Computing Foundation paspÄrnÄ.
Visi Å”ie projekti ir jauni, tiem visiem ir vajadzÄ«ga mÅ«su mÄ«lestÄ«ba, mÅ«su apstiprinÄjums. Tas viss ir atvÄrtais avots, mÅ«su testÄÅ”ana, mÅ«su ievieÅ”ana. Tie parÄda, kurp virzÄs tehnoloÄ£ija.
TaÄu DevOps nekad nav bijusi galvenokÄrt saistÄ«ta ar tehnoloÄ£ijÄm, tÄ vienmÄr ir bijusi cilvÄku sadarbÄ«ba. Un attiecÄ«gi, ja vÄlamies, lai mÅ«su izstrÄdÄtÄs sistÄmas mainÄ«tos, tad jÄmainÄs mums paÅ”iem. PatiesÄ«bÄ mÄs tik un tÄ mainÄmies; mums nav lielas izvÄles.
Ir brÄ«niŔķīgs grÄmata Britu rakstniece ReiÄela Botsmena, kurÄ viÅa raksta par uzticÄ«bas evolÅ«ciju cilvÄces vÄsturÄ. ViÅa stÄsta, ka sÄkotnÄji primitÄ«vÄs sabiedrÄ«bÄs uzticÄÅ”anÄs bija lokÄla, proti, mÄs uzticÄjÄmies tikai tiem, kurus pazÄ«stam personÄ«gi.
Tad bija ļoti ilgs periods - tumÅ”ais laiks, kad uzticÄ«ba bija centralizÄta, kad mÄs sÄkÄm uzticÄties cilvÄkiem, kurus mÄs nepazÄ«stam, pamatojoties uz to, ka piederam vienai valsts vai valsts iestÄdei.
Un tas ir tas, ko mÄs redzam mÅ«su mÅ«sdienu pasaulÄ: uzticÄ«ba kļūst arvien vairÄk sadalÄ«ta un decentralizÄtÄka, un tÄs pamatÄ ir informÄcijas plÅ«smas brÄ«vÄ«ba, informÄcijas pieejamÄ«ba.
Ja padomÄjat, tieÅ”i Ŕī pieejamÄ«ba, kas padara Å”o uzticÄ«bu iespÄjamu, ir tas, ko jÅ«s un es Ä«stenojam. Tas nozÄ«mÄ, ka ir jÄmainÄs gan mÅ«su sadarbÄ«bas veidam, gan tam, kÄ mÄs to darÄm, jo āāsenÄs centralizÄtÄs, hierarhiskÄs IT organizÄcijas vairs nedarbojas. ViÅi sÄk izmirt.
DevOps organizÄcijas pamati
IdeÄla nÄkotnes DevOps organizÄcija ir decentralizÄta, adaptÄ«va sistÄma, kas sastÄv no autonomÄm komandÄm, no kurÄm katra sastÄv no autonomÄm personÄm. Å Ä«s komandas ir izkaisÄ«tas visÄ pasaulÄ, efektÄ«vi sadarbojas savÄ starpÄ, izmantojot asinhrono saziÅu, izmantojot ļoti caurspÄ«dÄ«gus saziÅas protokolus. Ä»oti skaisti, vai ne? Ä»oti skaista nÄkotne.
Protams, nekas no tÄ nav iespÄjams bez kultÅ«ras izmaiÅÄm. Mums ir jÄbÅ«t transformÄjoÅ”ai vadÄ«bai, personÄ«gai atbildÄ«bai, iekÅ”Äjai motivÄcijai.
Tas ir DevOps organizÄciju pamats: informÄcijas caurskatÄmÄ«ba, asinhrona komunikÄcija, transformÄcijas vadÄ«ba, decentralizÄcija.
Izdegt
SistÄmas, kurÄs mÄs esam daļa, un tÄs, kuras mÄs veidojam, kļūst arvien haotiskÄkas, un mums, cilvÄkiem, ir grÅ«ti tikt galÄ ar Å”o domu, ir grÅ«ti atteikties no kontroles ilÅ«zijas. MÄs cenÅ”amies turpinÄt tos kontrolÄt, un tas bieži noved pie izdegÅ”anas. To saku no savas pieredzes, arÄ« apdegu, invalÄ«du arÄ« neparedzÄtas kļūmes ražoÅ”anÄ.
IzdegÅ”ana notiek, kad mÄs cenÅ”amies kontrolÄt kaut ko, kas pÄc savas bÅ«tÄ«bas ir nekontrolÄjams. Kad mÄs izdegam, viss zaudÄ savu nozÄ«mi, jo mÄs zaudÄjam vÄlmi darÄ«t kaut ko jaunu, mÄs nostÄjamies aizsardzÄ«bÄ un sÄkam aizstÄvÄt to, kas mums ir.
Inženiera profesija, kÄ man bieži patÄ«k sev atgÄdinÄt, pirmÄm kÄrtÄm ir radoÅ”a profesija. Ja mums zÅ«d vÄlme kaut ko radÄ«t, tad pÄrvÄrÅ”amies par pelniem, pÄrvÄrÅ”amies par pelniem. CilvÄki izdeg, veselas organizÄcijas izdeg.
ManuprÄt, tikai samierinÄÅ”anÄs ar haosa radoÅ”o spÄku, tikai sadarbÄ«bas veidoÅ”ana pÄc tÄs principiem ir tas, kas palÄ«dzÄs nepazaudÄt to, kas ir labs mÅ«su profesijÄ.
To es novÄlu jums: mÄ«lÄt savu darbu, mÄ«lÄt to, ko mÄs darÄm. Å Ä« pasaule barojas ar informÄciju, mums ir tas gods to barot. TÄpÄc pÄtÄ«sim haosu, bÅ«sim haosologi, nesÄ«sim vÄrtÄ«bu, radÄ«sim kaut ko jaunu, nu, problÄmas, kÄ jau esam noskaidrojuÅ”i, ir neizbÄgamas, un, kad tÄs parÄdÄs, mÄs vienkÄrÅ”i teiksim āOps!ā Un problÄma ir atrisinÄta.
Kas cits, izÅemot Chaos Monkey?
PatiesÄ«bÄ visi Å”ie instrumenti ir tik jauni. Tas pats Netflix izveidoja rÄ«kus sev. Izveidojiet savus rÄ«kus. Izlasiet haosa inženierijas principus un ievÄrojiet Å”os principus, nevis mÄÄ£iniet atrast citus rÄ«kus, ko kÄds cits jau ir izveidojis.
MÄÄ£iniet saprast, kÄ jÅ«su sistÄmas sabojÄjas, un sÄciet tÄs sabojÄt, un skatiet, kÄ tÄs darbojas. Tas ir pirmais. Un jÅ«s varat meklÄt rÄ«kus. Ir visÄdi projekti.
Es Ä«sti nesapratu to brÄ«di, kad jÅ«s teicÄt, ka sistÄmu nevar vienkÄrÅ”ot, vienkÄrÅ”ojot tÄs sastÄvdaļas, un nekavÄjoties pÄrgÄju uz mikropakalpojumiem, kas vienkÄrÅ”o sistÄmu, vienkÄrÅ”ojot paÅ”us komponentus un sarežģījot mijiedarbÄ«bu. TÄs bÅ«tÄ«bÄ ir divas daļas, kas ir pretrunÄ viena otrai.
TieÅ”i tÄ, mikropakalpojumi kopumÄ ir ļoti strÄ«dÄ«gs temats. Faktiski detaļu vienkÄrÅ”oÅ”ana palielina elastÄ«bu. Ko nodroÅ”ina mikropakalpojumi? Tie sniedz mums elastÄ«bu un Ätrumu, bet noteikti nedod mums vienkÄrŔību. Tie palielina grÅ«tÄ«bas.
TÄtad DevOps filozofijÄ mikropakalpojumi nav tik laba lieta?
Jebkurai precei ir otrÄ puse. Ieguvums ir tÄds, ka tas palielina elastÄ«bu, ļaujot mums veikt izmaiÅas ÄtrÄk, taÄu tas palielina visas sistÄmas sarežģītÄ«bu un lÄ«dz ar to arÄ« trauslumu.
TomÄr, kas ir lielÄks uzsvars: uz mijiedarbÄ«bas vienkÄrÅ”oÅ”anu vai daļu vienkÄrÅ”oÅ”anu?
Uzsvars, protams, tiek likts uz mijiedarbÄ«bas vienkÄrÅ”oÅ”anu, jo, ja mÄs uz to skatÄmies no tÄ viedokļa, kÄ mÄs strÄdÄjam ar jums, tad, pirmkÄrt, mums ir jÄpievÄrÅ” uzmanÄ«ba mijiedarbÄ«bas vienkÄrÅ”oÅ”anai, nevis darba vienkÄrÅ”oÅ”anai. katram no mums atseviŔķi. Jo vienkÄrÅ”ot darbu nozÄ«mÄ pÄrvÄrsties par robotiem. Å eit McDonaldÄ tas darbojas normÄli, ja tev ir instrukcija: te liek burgeru, te uzlej mÄrci. MÅ«su radoÅ”ajÄ darbÄ tas vispÄr nedarbojas.
Vai tÄ ir taisnÄ«ba, ka viss, ko jÅ«s teicÄt, dzÄ«vo pasaulÄ bez konkurences, un haoss tur ir tik laipns, un Å”ajÄ haosÄ nav nekÄdu pretrunu, neviens nevÄlas nevienu Äst vai nogalinÄt? KÄ klÄjas konkurencei un DevOps?
Nu, tas ir atkarÄ«gs no tÄ, par kÄdu konkurenci mÄs runÄjam. Vai runa ir par konkurenci darba vietÄ vai konkurenci starp uzÅÄmumiem?
Par pakalpojumu konkurenci, kas pastÄv, jo pakalpojumi nav vairÄki uzÅÄmumi. MÄs veidojam jauna veida informÄcijas vidi, un jebkura vide nevar dzÄ«vot bez konkurences. Visur valda konkurence.
Tas pats Netflix, mÄs tos uztveram kÄ paraugu. KÄpÄc viÅi to izdomÄja? Jo viÅiem vajadzÄja bÅ«t konkurÄtspÄjÄ«giem. Å Ä« elastÄ«ba un kustÄ«bas Ätrums ir tieÅ”i ļoti konkurÄtspÄjÄ«ga prasÄ«ba; tas ievieÅ” haosu mÅ«su sistÄmÄs. Tas ir, haoss nav kaut kas tÄds, ko mÄs apzinÄti darÄm, jo āāmÄs to vÄlamies, tas ir kaut kas, kas notiek tÄpÄc, ka pasaule to pieprasa. Mums vienkÄrÅ”i jÄpielÄgojas. Un haoss, tas ir tieÅ”i konkurences rezultÄts.
Vai tas nozÄ«mÄ, ka haoss ir it kÄ mÄrÄ·u neesamÄ«ba? Vai arÄ« tie mÄrÄ·i, kurus mÄs nevÄlamies redzÄt? MÄs esam mÄjÄ un nesaprotam citu mÄrÄ·us. Konkurence patiesÄ«bÄ ir tÄpÄc, ka mums ir skaidri mÄrÄ·i un mÄs zinÄm, kur nonÄksim katrÄ nÄkamajÄ laika momentÄ. TÄ, manuprÄt, ir DevOps bÅ«tÄ«ba.
Apskatiet arÄ« jautÄjumu. Es domÄju, ka mums visiem ir viens mÄrÄ·is: izdzÄ«vot un darÄ«t to ar
lielÄkais prieks. Un jebkuras organizÄcijas konkurences mÄrÄ·is ir vienÄds. IzdzÄ«voÅ”ana bieži notiek ar konkurenci, jÅ«s neko nevarat darÄ«t.
Å Ä« gada konference DevOpsDays Maskava 7. decembrÄ« notiks TechnopolÄ. Pieteikumus atskaitÄm pieÅemam lÄ«dz 11. novembrim. Rakstiet mums, ja vÄlaties runÄt.
DalÄ«bnieku reÄ£istrÄcija ir atvÄrta, biļetes maksÄ 7000 rubļu. Pievienojies mums!