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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.
DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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ā€.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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ā.

DevOps un haoss: programmatūras piegāde decentralizētā pasaulē

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!

Avots: www.habr.com

Pievieno komentāru