ProHoster > SeptiÅi transformÄcijas arhetipi, kuru pamatÄ ir DevOps principi
SeptiÅi transformÄcijas arhetipi, kuru pamatÄ ir DevOps principi
JautÄjums ākÄ ieviest devopsā pastÄv jau gadiem ilgi, taÄu labu materiÄlu nav daudz. Dažreiz jÅ«s kļūstat par upuri reklÄmÄm no ne pÄrÄk gudriem konsultantiem, kuriem ir jÄpÄrdod savs laiks, neatkarÄ«gi no tÄ, kÄ. Dažreiz tie ir neskaidri, ÄrkÄrtÄ«gi vispÄrÄ«gi vÄrdi par to, kÄ megakorporÄciju kuÄ£i ara Visuma plaÅ”umus. Rodas jautÄjums: ko tas mums nozÄ«mÄ? CienÄ«jamais autor, vai varat skaidri formulÄt savas idejas sarakstÄ?
Tas viss izriet no tÄ, ka nav uzkrÄta liela reÄla prakse un izpratne par uzÅÄmuma kultÅ«ras transformÄciju iznÄkumu. IzmaiÅas kultÅ«rÄ ir ilgtermiÅa lietas, kuru rezultÄti neparÄdÄ«sies ne pÄc nedÄļas, ne pÄc mÄneÅ”a. Mums ir vajadzÄ«gs kÄds pietiekami vecs, lai bÅ«tu redzÄjis, kÄ uzÅÄmumi ir veidoti un neveiksmÄ«gi gadu gaitÄ.
Džons Viliss - viens no DevOps tÄviem. Džonam ir gadu desmitiem ilga pieredze darbÄ ar ļoti daudziem uzÅÄmumiem. Nesen Džons sÄka pamanÄ«t konkrÄtus modeļus, kas rodas, strÄdÄjot ar katru no tiem. Izmantojot Å”os arhetipus, Džons virza uzÅÄmumus uz patieso DevOps transformÄcijas ceļu. VairÄk par Å”iem arhetipiem lasiet viÅa ziÅojuma tulkojumÄ no konferences DevOops 2018.
Par runÄtÄju:
VairÄk nekÄ 35 gadus IT pÄrvaldÄ«bÄ, piedalÄ«jies OpenCloud priekÅ”gÄjÄja izveidÄ Canonical, piedalÄ«jies 10 jaunuzÅÄmumos, no kuriem divi tika pÄrdoti Dell un Docker. PaÅ”laik viÅÅ” ir SJ Technologies DevOps un digitÄlÄs prakses viceprezidents.
NÄkamais ir stÄsts no JÄÅa viedokļa.
Mani sauc Džons Viliss, un visvieglÄk mani atrast ir vietnÄ Twitter. @botchagalupe. Man ir tÄds pats aizstÄjvÄrds pakalpojumÄ Gmail un GitHub. A ar Å”o saiti jÅ«s varat atrast manu ziÅojumu video ierakstus un prezentÄcijas tiem.
Man ir daudzas tikÅ”anÄs ar dažÄdu lielu uzÅÄmumu CIO. ViÅi ļoti bieži sÅ«dzas, ka nesaprot, kas ir DevOps, un visi, kas mÄÄ£ina viÅiem to izskaidrot, runÄ par kaut ko citu. VÄl viena izplatÄ«ta sÅ«dzÄ«ba ir tÄda, ka DevOps nedarbojas, lai gan Ŕķiet, ka direktori dara visu, kÄ viÅiem paskaidrots. MÄs runÄjam par lieliem uzÅÄmumiem, kas ir vairÄk nekÄ simts gadus veci. PÄc sarunas ar viÅiem nonÄcu pie secinÄjuma, ka daudzÄm problÄmÄm vislabÄk piemÄrotas nevis augstÄs tehnoloÄ£ijas, bet gan salÄ«dzinoÅ”i zemo tehnoloÄ£iju risinÄjumi. VairÄkas nedÄļas es vienkÄrÅ”i runÄju ar cilvÄkiem no dažÄdÄm nodaļÄm. Tas, ko redzat paÅ”Ä pirmajÄ bildÄ ierakstÄ, ir mans pÄdÄjais projekts, lÅ«k, kÄ telpa izskatÄ«jÄs pÄc trÄ«s darba dienÄm.
Kas ir DevOps?
PatieÅ”Äm, ja pajautÄsiet 10 dažÄdiem cilvÄkiem, viÅi sniegs 10 dažÄdas atbildes. Bet Å”eit ir interesanta lieta: visas desmit Ŕīs atbildes bÅ«s pareizas. Å eit nav nepareizas atbildes. Es diezgan iedziļinÄjos DevOps, apmÄram 10 gadus, un biju pirmais amerikÄnis pirmajÄ DevOpsDay. Es neteikÅ”u, ka esmu gudrÄks par visiem DevOps iesaistÄ«tajiem, taÄu diez vai ir kÄds, kurÅ” tam ir veltÄ«jis tik daudz pūļu. Es uzskatu, ka DevOps rodas, kad cilvÄkkapitÄls un tehnoloÄ£ijas saplÅ«st. MÄs bieži aizmirstam par cilvÄcisko dimensiju, lai gan mÄs daudz runÄjam par visu veidu kultÅ«rÄm.
Tagad mums ir daudz datu, piecus gadus ilga akadÄmiskÄ izpÄte, teoriju pÄrbaude rÅ«pnieciskÄ mÄrogÄ. Å ie pÄtÄ«jumi mums liecina, ka, apvienojot dažus uzvedÄ«bas modeļus organizÄcijas kultÅ«rÄ, jÅ«s varat sasniegt 2000 reižu paÄtrinÄjumu. Å im paÄtrinÄjumam ir lÄ«dzvÄrtÄ«gs stabilitÄtes uzlabojums. Å is ir kvantitatÄ«vs mÄrÄ«jums ieguvumam, ko DevOps var sniegt jebkuram uzÅÄmumam. Pirms pÄris gadiem par DevOps runÄju ar Fortune 5000 kompÄnijas izpilddirektoru.Kad gatavojos prezentÄcijai, ļoti nervozÄju, jo 5 minÅ«tÄs bija jÄapkopo sava gadu pieredze.
BeigÄs iedevu sekojoÅ”o DevOps definÄ«cija: tas ir prakÅ”u un modeļu kopums, kas ļauj pÄrveidot cilvÄkkapitÄlu augstas veiktspÄjas organizÄcijas kapitÄlÄ. PiemÄrs ir veids, kÄ Toyota ir darbojusies pÄdÄjos 50 vai 60 gadus.
(TurpmÄk Å”Ädas diagrammas tiek sniegtas nevis kÄ izziÅas materiÄls, bet gan kÄ ilustrÄcijas. Katram jaunam uzÅÄmumam to saturs bÅ«s atŔķirÄ«gs. TaÄu attÄlu var apskatÄ«t atseviŔķi un palielinÄt Å”ajÄ saitÄ.)
Viena no veiksmÄ«gÄkajÄm Å”ÄdÄm praksÄm ir vÄrtÄ«bu plÅ«sma kartÄÅ”ana. Par to ir uzrakstÄ«tas vairÄkas labas grÄmatas, no kurÄm veiksmÄ«gÄkÄs ir KÄrena MÄrtina. TaÄu pÄdÄjÄ gada laikÄ esmu nonÄcis pie secinÄjuma, ka pat Ŕī pieeja ir pÄrÄk augsto tehnoloÄ£iju. Tam noteikti ir daudz priekÅ”rocÄ«bu, un es to esmu daudz izmantojis. Bet, kad izpilddirektors jautÄ, kÄpÄc viÅa uzÅÄmums nevar pÄriet uz jaunÄm sliedÄm, ir pÄragri runÄt par vÄrtÄ«bu plÅ«smas kartÄÅ”anu. Ir daudzi daudz bÅ«tiskÄki jautÄjumi, uz kuriem vispirms ir jÄatbild.
Es domÄju, ka kļūda, ko pieļauj daudzi mani kolÄÄ£i, ir tÄda, ka viÅi vienkÄrÅ”i sniedz uzÅÄmumam piecu punktu rokasgrÄmatu un pÄc seÅ”iem mÄneÅ”iem atgriežas un paskatÄs, kas noticis. Pat tÄdÄ labÄ shÄmÄ kÄ vÄrtÄ«bu plÅ«smas kartÄÅ”ana ir, teiksim, aklÄs zonas. PÄc simtiem interviju ar dažÄdu uzÅÄmumu direktoriem esmu izstrÄdÄjis noteiktu modeli, kas ļauj mums sadalÄ«t problÄmu tÄ sastÄvdaļÄs, un tagad mÄs apspriedÄ«sim katru no Å”iem komponentiem secÄ«bÄ. Pirms jebkuru tehnoloÄ£isko risinÄjumu pielietoÅ”anas es izmantoju Å”o modeli, un rezultÄtÄ visas manas sienas ir pÄrklÄtas ar diagrammÄm. Nesen es strÄdÄju ar ieguldÄ«jumu fondu, un man bija 100-150 Å”Ädas shÄmas.
Slikta kultÅ«ra brokastÄ«s Äd labas pieejas
GalvenÄ doma ir Å”Äda: nekÄds Lean, Agile, SAFE un DevOps daudzums nepalÄ«dzÄs, ja pati organizÄcijas kultÅ«ra ir slikta. Tas ir kÄ nirÅ”ana dziļumÄ bez akvalangu aprÄ«kojuma vai darbÄ«ba bez rentgena. Citiem vÄrdiem sakot, pÄrfrÄzÄjot Drukeru un Demingu: slikta organizÄcijas kultÅ«ra aprÄ«s jebkuru labu sistÄmu, ar to neaizroties.
Lai atrisinÄtu Å”o galveno problÄmu, jums jÄveic Å”Ädas darbÄ«bas:
PadarÄ«t visu darbu redzamu: jums ir jÄpadara viss darbs redzams. Ne tÄdÄ nozÄ«mÄ, ka tas obligÄti ir jÄparÄda uz kÄda ekrÄna, bet gan tÄdÄ nozÄ«mÄ, ka tam ir jÄbÅ«t novÄrojamam.
KonsolidÄtÄs darba vadÄ«bas sistÄmas: vadÄ«bas sistÄmas ir jÄkonsolidÄ. āCilÅ”uā zinÄÅ”anu un institucionÄlo zinÄÅ”anu problÄmÄ 9 gadÄ«jumos no 10 pudeles kakls ir cilvÄki. GrÄmatÄ "FÄniksa projekts" ProblÄma bija ar vienu cilvÄku Brentu, kura dÄļ projekts trÄ«s gadus atpalika no grafika. Un es visur saskÄros ar Å”iem "Brentiem". Lai novÄrstu Ŕīs vÄjÄs vietas, es izmantoju nÄkamos divus mÅ«su saraksta vienumus.
Ierobežojumu teorijas metodoloģija: ierobežojumu teorija.
Sadarbības uzlauzumi: sadarbības hacks.
Toyota Kata (Treneris Kata): Es daudz nerunÄÅ”u par Toyota Kata. Ja interesÄ, manÄ githubÄ ir prezentÄcijas gandrÄ«z par katru no Ŕīm tÄmÄm.
Uz tirgu orientÄta organizÄcija: uz tirgu orientÄta organizÄcija.
Revidenti ar maiÅu pa kreisi: audits cikla sÄkumposmÄ.
Es sÄku strÄdÄt ar organizÄciju ļoti vienkÄrÅ”i: dodos uz uzÅÄmumu un runÄju ar darbiniekiem. KÄ redzat, nav augsto tehnoloÄ£iju. Viss, kas jums nepiecieÅ”ams, ir kaut kas, uz kura rakstÄ«t. Es sapulcinu vairÄkas komandas vienÄ telpÄ un analizÄju, ko tÄs man saka no manu 7 arhetipu perspektÄ«vas. Un tad es viÅiem paÅ”iem iedodu marÄ·ieri un lÅ«dzu pierakstÄ«t uz tÄfeles visu, ko viÅi lÄ«dz Å”im ir teikuÅ”i skaļi. Parasti Å”Äda veida sanÄksmÄs ir viens cilvÄks, kurÅ” visu pieraksta, un labÄkajÄ gadÄ«jumÄ var pierakstÄ«t 10% no diskusijas. Ar manu metodi Å”o skaitli var palielinÄt lÄ«dz aptuveni 40%.
(Å o ilustrÄciju var apskatÄ«t atseviŔķi skatÄ«t saiti)
Mana pieeja ir balstÄ«ta uz Viljama Å neidera darbu. Reinženierijas alternatÄ«va). Pieejas pamatÄ ir ideja, ka jebkuru organizÄciju var iedalÄ«t Äetros kvadrÄtos. Å Ä« shÄma man parasti ir rezultÄts, strÄdÄjot ar simtiem citu shÄmu, kas rodas, analizÄjot organizÄciju. PieÅemsim, ka mums ir organizÄcija ar augstu kontroles lÄ«meni, bet ar zemu kompetenci. Tas ir ÄrkÄrtÄ«gi nevÄlams variants: kad visi spÄrno lÄ«niju, bet neviens nezina, ko darÄ«t.
Nedaudz labÄks variants ir tÄds ar augstu kontroles un kompetences lÄ«meni. Ja Å”Äds uzÅÄmums ir rentabls, tad varbÅ«t tam nav nepiecieÅ”ams DevOps. VisinteresantÄk ir strÄdÄt ar uzÅÄmumu, kuram ir augsts kontroles lÄ«menis, zema kompetence un sadarbÄ«ba, bet tajÄ paÅ”Ä laikÄ augsts kultÅ«ras (kopÅ”anas) lÄ«menis. Tas nozÄ«mÄ, ka uzÅÄmumÄ ir daudz cilvÄku, kuriem patÄ«k tur strÄdÄt un darbaspÄka mainÄ«ba ir zema.
(Å o ilustrÄciju var apskatÄ«t atseviŔķi skatÄ«t saiti)
Man Ŕķiet, ka metodes ar stingrÄm vadlÄ«nijÄm galu galÄ kavÄ patiesÄ«bas sasniegÅ”anu. Jo Ä«paÅ”i vÄrtÄ«bu plÅ«smas kartÄÅ”anÄ ir daudz noteikumu par informÄcijas strukturÄÅ”anu. Darba sÄkumposmÄ, par ko es runÄju tagad, Å”ie noteikumi nevienam nav vajadzÄ«gi. Ja cilvÄks ar marÄ·ieri rokÄs uz tÄfeles apraksta reÄlo situÄciju uzÅÄmumÄ, tas ir labÄkais veids, kÄ izprast lietu stÄvokli. Å Äda informÄcija nenonÄk pie direktoriem. Å ajÄ brÄ«dÄ« ir stulbi pÄrtraukt cilvÄku un teikt, ka viÅÅ” kaut kÄdu bultu uzzÄ«mÄjis nepareizi. Å ajÄ posmÄ labÄk ir izmantot vienkÄrÅ”us noteikumus, piemÄram: daudzlÄ«meÅu abstrakciju var izveidot, vienkÄrÅ”i izmantojot daudzkrÄsainus marÄ·ierus.
Es atkÄrtoju, nav augsto tehnoloÄ£iju. Melnais marÄ·ieris attÄlo objektÄ«vo realitÄti, kÄ viss darbojas. Ar sarkanu marÄ·ieri cilvÄki atzÄ«mÄ to, kas viÅiem nepatÄ«k paÅ”reizÄjÄ situÄcijÄ. Ir svarÄ«gi, lai viÅi to raksta, nevis es. Kad es dodos uz CIO pÄc tikÅ”anÄs, es nepiedÄvÄju sarakstu ar 10 lietÄm, kas jÄlabo. Es cenÅ”os atrast saikni starp to, ko cilvÄki saka uzÅÄmumÄ, un esoÅ”ajiem pÄrbaudÄ«tajiem modeļiem. Visbeidzot, zils marÄ·ieris piedÄvÄ iespÄjamos problÄmas risinÄjumus.
(Å o ilustrÄciju var apskatÄ«t atseviŔķi skatÄ«t saiti)
Å Ä«s pieejas piemÄrs tagad ir attÄlots iepriekÅ”. Å Ä« gada sÄkumÄ strÄdÄju vienÄ bankÄ. Apsardzes darbinieki bija pÄrliecinÄti, ka viÅiem nevajadzÄtu nÄkt uz dizaina un prasÄ«bu pÄrskatÄ«Å”anu.
(Å o ilustrÄciju var apskatÄ«t atseviŔķi skatÄ«t saiti)
Un tad mÄs runÄjÄm ar cilvÄkiem no citÄm nodaļÄm, un izrÄdÄ«jÄs, ka pirms aptuveni 8 gadiem programmatÅ«ras izstrÄdÄtÄji atlaida apsardzes darbiniekus, jo viÅi bremzÄja darbu. Un tad tas pÄrvÄrtÄs par aizliegumu, kas tika uzskatÄ«ts par paÅ”saprotamu. Lai gan patiesÄ«bÄ aizlieguma nebija.
MÅ«su tikÅ”anÄs noritÄja ÄrkÄrtÄ«gi mulsinoÅ”i: apmÄram trÄ«s stundas piecas dažÄdas komandas man nevarÄja izskaidrot, kas notiek starp kodu un montÄžu. Un Ŕī, Ŕķiet, ir visvienkÄrÅ”ÄkÄ lieta. LielÄkÄ daļa DevOps konsultantu jau iepriekÅ” pieÅem, ka visi to jau zina.
Tad par IT pÄrvaldÄ«bu atbildÄ«gais cilvÄks, kurÅ” Äetras stundas bija klusÄjis, pÄkÅ”Åi atdzÄ«vojÄs, kad tikÄm pie viÅa tÄmas, un nodarbinÄja mÅ«s ļoti ilgi. BeigÄs es viÅam jautÄju, ko viÅÅ” domÄ par tikÅ”anos, un es nekad neaizmirsÄ«Å”u viÅa atbildi. ViÅÅ” teica: "Es agrÄk domÄju, ka mÅ«su bankai ir tikai divi veidi, kÄ piegÄdÄt programmatÅ«ru, bet tagad es zinu, ka ir pieci no tiem, un es pat nezinÄju par trim."
(Å o ilustrÄciju var apskatÄ«t atseviŔķi skatÄ«t saiti)
PÄdÄjÄ tikÅ”anÄs Å”ajÄ bankÄ bija ar investÄ«ciju programmatÅ«ras komandu. TieÅ”i ar viÅu izrÄdÄ«jÄs, ka diagrammu rakstÄ«Å”ana ar marÄ·ieri uz papÄ«ra lapas ir labÄka nekÄ uz tÄfeles un pat labÄk nekÄ uz viedtÄlruÅa.
RedzamÄs fotogrÄfijas ir tÄdas, kÄ izskatÄ«jÄs viesnÄ«cas konferenÄu telpa mÅ«su tikÅ”anÄs ceturtajÄ dienÄ. Un mÄs izmantojÄm Ŕīs shÄmas, lai meklÄtu modeļus, tas ir, arhetipus.
TÄpÄc es uzdodu strÄdniekiem jautÄjumus, viÅi pieraksta atbildes ar trÄ«s krÄsu marÄ·ieriem (melnÄ, sarkanÄ un zilÄ). Es analizÄju viÅu atbildes arhetipiem. Tagad apspriedÄ«sim visus arhetipus secÄ«bÄ.
1. Padariet visu darbu redzamu: padariet darbu redzamu
LielÄkajÄ daÄ¼Ä uzÅÄmumu, ar kuriem es strÄdÄju, ir ļoti liels nezinÄmÄ darba procents. PiemÄram, tas ir, kad viens darbinieks pienÄk pie otra un vienkÄrÅ”i lÅ«dz kaut ko izdarÄ«t. LielajÄs organizÄcijÄs var bÅ«t 60% neplÄnotu darbu. Un lÄ«dz pat 40% darba nav nekÄdi dokumentÄti. Ja tas bÅ«tu Boeing, es nekad mÅ«Å¾Ä vairs neiekÄptu viÅu lidmaŔīnÄ. Ja dokumentÄta ir tikai puse darba, tad nav zinÄms, vai Å”is darbs tiek veikts pareizi vai nÄ. Visas pÄrÄjÄs metodes izrÄdÄs bezjÄdzÄ«gas - nav jÄgas mÄÄ£inÄt kaut ko automatizÄt, jo zinÄmie 50% var bÅ«t sakarÄ«gÄkÄ un skaidrÄkÄ darba daļa, kuras automatizÄcija nedos lieliskus rezultÄtus, un viss sliktÄkais lietas atrodas neredzamajÄ pusÄ. Ja nav dokumentÄcijas, nav iespÄjams atrast visdažÄdÄkos hacks un slÄptos darbus, neatrast saÅ”aurinÄjumus, tos paÅ”us āBrentusā, par kuriem es jau runÄju. Ir brÄ«niŔķīga Dominikas DeGrandisas grÄmata "PadarÄ«t darbu redzamu". ViÅa atklÄj piecas dažÄdas "laika noplÅ«des" (laika zagļi):
PÄrÄk daudz darba procesÄ (WIP)
NezinÄmas atkarÄ«bas
NeplÄnots Darbs
PretrunÄ«gas prioritÄtes
NovÄrtÄ atstÄts darbs
Å Ä« ir ļoti vÄrtÄ«ga analÄ«ze, un grÄmata ir lieliska, taÄu visi Å”ie padomi ir bezjÄdzÄ«gi, ja ir redzami tikai 50% datu. Dominikas piedÄvÄtÄs metodes var izmantot, ja tiek sasniegta precizitÄte virs 90%. Es runÄju par situÄcijÄm, kad priekÅ”nieks dod padotajam 15 minÅ«Å”u uzdevumu, bet viÅam tas prasa trÄ«s dienas; bet priekÅ”nieks Ä«sti nezina, ka Å”is padotais ir vÄl Äetru vai piecu cilvÄku apgÄdÄ«bÄ.
FÄniksa projekts ir brÄ«niŔķīgs stÄsts par projektu, kas bija trÄ«s gadus par vÄlu. Vienam no varoÅiem Ŕī iemesla dÄļ draud atlaiÅ”ana, un viÅÅ” satiekas ar citu varoni, kurÅ” tiek pasniegts kÄ sava veida SokrÄts. ViÅÅ” palÄ«dz noskaidrot, kas tieÅ”i nogÄja greizi. IzrÄdÄs, ka uzÅÄmumam ir viens sistÄmas administrators, kuru sauc Brents, un viss darbs kaut kÄ iet caur viÅu. KÄdÄ no sanÄksmÄm kÄdam no padotajiem jautÄ: kÄpÄc katrs pusstundas uzdevums aizÅem nedÄļu? Atbilde ir ļoti vienkÄrÅ”ota rindu teorijas un LitÄla likuma izklÄsts, un Å”ajÄ prezentÄcijÄ izrÄdÄs, ka pie 90% noslogojuma katra darba stunda aizÅem 9 stundas. Katrs uzdevums ir jÄnosÅ«ta vÄl septiÅiem cilvÄkiem, lai Ŕī stunda kļūtu par 63 stundÄm, 7 reizes 9. Es saku, ka, lai izmantotu Litla likumu vai jebkuru sarežģītu rindu teoriju, jums vismaz ir jÄbÅ«t datiem.
TÄtad, kad es runÄju par redzamÄ«bu, es nedomÄju, ka viss ir redzams ekrÄnÄ, bet gan to, ka jums vismaz ir dati. Kad viÅi to dara, bieži vien izrÄdÄs, ka ir ļoti liels neplÄnotu darbu apjoms, kas kaut kÄ tiek nosÅ«tÄ«ts uz Brentu, kad tas nav nepiecieÅ”ams. Un Brents ir lielisks puisis, viÅÅ” nekad neteiks nÄ, bet viÅÅ” nevienam nestÄsta, kÄ viÅÅ” dara savu darbu.
Kad darbs ir redzams, datus var glÄ«ti klasificÄt (tÄ fotogrÄfijÄ dara Dominika), pielietot piecu laika noplūžu abstrakciju un pielietot automatizÄciju.
2. Darba vadÄ«bas sistÄmu konsolidÄcija: uzdevumu pÄrvaldÄ«ba
Arhetipi, par kuriem es runÄju, ir sava veida piramÄ«da. Ja pirmais ir izdarÄ«ts pareizi, tad otrais jau ir sava veida papildinÄjums. Daudzi no tiem nedarbojas jaunizveidotiem uzÅÄmumiem, tie ir jÄpatur prÄtÄ lielÄkiem uzÅÄmumiem, piemÄram, Fortune 5000. PÄdÄjÄ uzÅÄmumÄ, kurÄ strÄdÄju, bija 10 biļeÅ”u pÄrdoÅ”anas sistÄmas. Vienai komandai bija Remedy, cita rakstÄ«ja kaut kÄdu savu sistÄmu, treÅ”Ä izmantoja Jira, un dažas iztika ar e-pastu. TÄda pati problÄma rodas, ja uzÅÄmumam ir 30 dažÄdi cauruļvadi, bet man nav laika apspriest visus Å”Ädus gadÄ«jumus.
Es pÄrrunÄju ar cilvÄkiem, kÄ tieÅ”i tiek veidotas biļetes, kas ar viÅiem notiek tÄlÄk un kÄ tÄs tiek apietas. InteresantÄkais ir tas, ka cilvÄki mÅ«su sanÄksmÄs runÄ diezgan patiesi. Es jautÄju, cik daudz cilvÄku uz biļetÄm ievieto "neliela/bez ietekmes", kam patiesÄ«bÄ bÅ«tu jÄpieŔķir "liela ietekme". IzrÄdÄ«jÄs, ka gandrÄ«z visi to dara. Es neiesaistos denonsÄcijÄ un visos iespÄjamos veidos cenÅ”os neidentificÄt cilvÄkus. Kad viÅi man kaut ko patiesi atzÄ«st, es to cilvÄku neatdodu. Bet, kad gandrÄ«z visi apiet sistÄmu, tas nozÄ«mÄ, ka visa droŔība bÅ«tÄ«bÄ ir logu dekorÄÅ”ana. TÄpÄc no Ŕīs sistÄmas datiem nevar izdarÄ«t secinÄjumus.
Lai atrisinÄtu biļeÅ”u problÄmu, jums jÄizvÄlas viena galvenÄ sistÄma. Ja lietojat Jira, saglabÄjiet to Jira. Ja ir kÄda alternatÄ«va, lai tÄ ir vienÄ«gÄ. BÅ«tÄ«ba ir tÄda, ka biļetes ir jÄuztver kÄ vÄl viens solis izstrÄdes procesÄ. Katrai darbÄ«bai ir jÄbÅ«t biļetei, kurai jÄplÅ«st cauri izstrÄdes darbplÅ«smai. Biļetes tiek nosÅ«tÄ«tas komandai, kas tÄs ievieto sižeta plÄnÄ un pÄc tam uzÅemas par tÄm atbildÄ«bu.
Tas attiecas uz visiem departamentiem, ieskaitot infrastruktÅ«ru un operÄcijas. Å ajÄ gadÄ«jumÄ ir iespÄjams izveidot vismaz kÄdu ticamu priekÅ”statu par lietu stÄvokli. Kad Å”is process ir izveidots, pÄkÅ”Åi kļūst viegli noteikt, kurÅ” ir atbildÄ«gs par katru pieteikumu. Jo tagad mÄs saÅemam nevis 50%, bet 98% jauno pakalpojumu. Ja Å”is pamatprocess darbojas, tad visÄ sistÄmÄ uzlabojas precizitÄte.
Pakalpojumu cauruļvads
Tas atkal attiecas tikai uz lielajÄm korporÄcijÄm. Ja esat jauns uzÅÄmums jaunÄ jomÄ, atrotiet piedurknes un strÄdÄjiet ar savu Travis CI vai CircleCI. RunÄjot par Fortune 5000 uzÅÄmumiem, piemÄrs, kas notika bankÄ, kurÄ es strÄdÄju. Google ieradÄs pie viÅiem, un viÅiem tika parÄdÄ«tas veco IBM sistÄmu diagrammas. PuiÅ”i no Google neizpratnÄ jautÄja ā kur tam ir pirmkods? Bet nav avota koda, pat ne GUI. TÄ ir realitÄte, ar kuru jÄsastopas lielÄm organizÄcijÄm: 40 gadus veci bankas ieraksti senÄ lieldatorÄ. Viens no maniem klientiem KeyBank lietojumprogrammai izmanto Kubernetes konteinerus ar Circuit Breaker modeļiem, kÄ arÄ« Chaos Monkey. Bet Å”ie konteineri galu galÄ savienojas ar COBOL lietojumprogrammu.
Google puiÅ”i bija pilnÄ«gi pÄrliecinÄti, ka atrisinÄs visas mana klienta problÄmas, un tad sÄka uzdot jautÄjumus: kas ir IBM datu caurule? ViÅiem saka: tas ir savienotÄjs. Ar ko tas ir saistÄ«ts? Uz Sperry sistÄmu. Un kas tas ir? Un tÄ tÄlÄk. No pirmÄ acu uzmetiena Ŕķiet: kÄda veida DevOps var bÅ«t? Bet patiesÄ«bÄ tas ir iespÄjams. Ir piegÄdes sistÄmas, kas ļauj nodot darbplÅ«smu piegÄdes komandÄm.
3. Ierobežojumu teorija: Ierobežojumu teorija
PÄrejam pie treÅ”Ä arhetipa: institucionÄlÄs/"cilts" zinÄÅ”anas. KÄ likums, jebkurÄ organizÄcijÄ ir vairÄki cilvÄki, kas visu zina un visu pÄrvalda. Tie ir tie, kuri ir bijuÅ”i organizÄcijÄ visilgÄk un zina visus risinÄjumus.
Kad tas parÄdÄs diagrammÄ, es Ä«paÅ”i apvelku Å”Ädus cilvÄkus ar marÄ·ieri: piemÄram, izrÄdÄs, ka kÄds LÅ« ir klÄt visÄs sanÄksmÄs. Un man ir skaidrs: tas ir vietÄjais Brent. Kad CIO izvÄlas starp mani T-kreklÄ un kedas un puisi no IBM uzvalkÄ, es esmu izvÄlÄts, jo es varu pateikt direktoram lietas, ko otrs puisis nestÄstÄ«s un ko direktoram varÄtu nepatikt dzirdÄt. . Es viÅiem saku, ka viÅu uzÅÄmuma vÄjais kakls ir kÄds Freds un kÄds LÅ«. Å o saÅ”aurinÄjumu vajag atraisÄ«t, zinÄÅ”anas tÄdÄ vai citÄdÄ veidÄ no viÅiem jÄiegÅ«st.
Lai atrisinÄtu Å”Äda veida problÄmu, es, piemÄram, varu ieteikt izmantot Slack. Gudrs režisors jautÄs ā kÄpÄc? Parasti Å”Ädos gadÄ«jumos DevOps konsultanti atbild: jo visi tÄ dara. Ja režisors tieÅ”Äm ir gudrs, viÅÅ” teiks: nu ko. Un Å”eit dialogs beidzas. Un mana atbilde uz to ir: jo uzÅÄmumÄ ir Äetri vÄjÄs vietas, Freds, LÅ«, SÅ«zija un Džeina. Lai institucionalizÄtu viÅu zinÄÅ”anas, vispirms jÄievieÅ” Slack. Visas jÅ«su wiki ir pilnÄ«gas muļķības, jo neviens nezina par to esamÄ«bu. Ja inženieru komanda ir iesaistÄ«ta priekÅ”gala un aizmugures izstrÄdÄ un ikvienam ir jÄzina, ka viÅi var sazinÄties ar priekÅ”gala izstrÄdes komandu vai infrastruktÅ«ras komandu ar jautÄjumiem. TieÅ”i tad LÅ« vai Fredam, iespÄjams, bÅ«s laiks pievienoties wiki. Un tad Slack kÄds varÄtu jautÄt, kÄpÄc, piemÄram, 5. darbÄ«ba nedarbojas. Un tad LÅ« vai Freds izlabos norÄdÄ«jumus wiki. Ja izveidosit Å”o procesu, daudzas lietas nostÄsies savÄs vietÄs.
Tas ir mans galvenais: lai ieteiktu kÄdas augstÄs tehnoloÄ£ijas, vispirms ir jÄsakÄrto pamati tÄm, un to var izdarÄ«t ar tikko aprakstÄ«tajiem zemo tehnoloÄ£iju risinÄjumiem. Ja sÄkat ar augstajÄm tehnoloÄ£ijÄm un nepaskaidrojat, kÄpÄc tÄs ir vajadzÄ«gas, tad parasti tas nebeidzas labi. Viens no mÅ«su klientiem izmanto Azure ML, ļoti lÄtu un vienkÄrÅ”u risinÄjumu. Uz aptuveni 30% viÅu jautÄjumu atbildÄja pati paÅ”mÄcÄ«bas maŔīna. Un Å”o lietu rakstÄ«ja operatori, kuri nebija saistÄ«ti ar datu zinÄtni, statistiku vai matemÄtiku. Tas ir nozÄ«mÄ«gi. Å Äda risinÄjuma izmaksas ir minimÄlas.
4. Sadarbības uzlauzumi: sadarbības uzlauzumi
Ceturtais arhetips ir nepiecieÅ”amÄ«ba cÄ«nÄ«ties pret izolÄciju. LielÄkÄ daļa cilvÄku to jau zina: izolÄcija rada naidÄ«gumu. Ja katra nodaļa atrodas savÄ stÄvÄ, un cilvÄki nekÄdi nekrustojas savÄ starpÄ, izÅemot liftÄ, tad naidÄ«gums starp viÅiem rodas ļoti viegli. Bet, ja, gluži pretÄji, cilvÄki atrodas vienÄ telpÄ, viÅa nekavÄjoties aiziet. Kad kÄds izmet kÄdu vispÄrÄju apsÅ«dzÄ«bu, piemÄram, tÄds un tÄds interfeiss nekad nestrÄdÄ, nav nekÄ vieglÄk Å”Ädu apsÅ«dzÄ«bu dekonstruÄt. ProgrammÄtÄjiem, kuri uzrakstÄ«ja saskarni, vienkÄrÅ”i jÄsÄk uzdot konkrÄtus jautÄjumus, un drÄ«zumÄ kļūs skaidrs, ka, piemÄram, lietotÄjs vienkÄrÅ”i nepareizi izmantojis rÄ«ku.
Ir daudz veidu, kÄ pÄrvarÄt izolÄciju. Man reiz lÅ«dza konsultÄties par banku AustrÄlijÄ, bet es atteicos to darÄ«t, jo man ir divi bÄrni un sieva. Viss, ko es varÄju viÅiem palÄ«dzÄt, bija ieteikt grafisku stÄstÄ«jumu. Ir pierÄdÄ«ts, ka tas darbojas. VÄl viens interesants veids ir liesas kafijas sanÄksmes. LielÄ organizÄcijÄ Å”Ä« ir lieliska iespÄja zinÄÅ”anu izplatÄ«Å”anai. TurklÄt jÅ«s varat vadÄ«t iekÅ”ÄjÄs devopsdienas, hakatonus un tÄ tÄlÄk.
5. KouÄings Kata
KÄ jau brÄ«dinÄju paÅ”Ä sÄkumÄ, Å”odien par to nerunÄÅ”u. Ja ir interese, varat apskatÄ«ties dažas no manÄm prezentÄcijÄm.
Par Å”o tÄmu ir arÄ« laba saruna no Maika Rotera:
6. Tirgus orientÄta: uz tirgu orientÄta organizÄcija
Å eit ir dažÄdas problÄmas. PiemÄram, "I" cilvÄki, "T" cilvÄki un "E" cilvÄki. āEsā cilvÄki ir tie, kas dara tikai vienu lietu. Parasti tie pastÄv organizÄcijÄs ar izolÄtÄm nodaļÄm. "T" ir tad, kad persona ir laba vienÄ lietÄ, bet labi arÄ« citÄs lietÄs. "E" vai pat "Ä·emme" ir tad, kad cilvÄkam ir daudz prasmju.
Å eit darbojas Konveja likums (Konveja likums), ko visvienkÄrÅ”ÄkÄ veidÄ var izteikt Å”Ädi: ja pie kompilatora strÄdÄ trÄ«s komandas, tad rezultÄts bÅ«s trÄ«s daļu kompilators. LÄ«dz ar to, ja organizÄcijas iekÅ”ienÄ valda augsts izolÄcijas lÄ«menis, tad pat Kubernetes, Circuit breaker, API extensibility un citas izdomÄtas lietas Å”ajÄ organizÄcijÄ tiks sakÄrtotas tÄpat kÄ pati organizÄcija. Stingri saskaÅÄ ar Konveju un par spÄ«ti visiem jaunajiem džekiem.
Å Ä«s problÄmas risinÄjums ir aprakstÄ«ts daudzas reizes. Ir, piemÄram, Fernando Fernandesa aprakstÄ«tie organizatoriskie arhetipi. Å Ä« problemÄtiskÄ arhitektÅ«ra, par kuru es tikko runÄju, ar izolÄciju ir uz funkcijÄm orientÄta arhitektÅ«ra. Otrais veids ir vissliktÄkÄ, matricas arhitektÅ«ra, pÄrÄjo divu haoss. TreÅ”ais ir tas, kas ir redzams lielÄkajÄ daÄ¼Ä jaunuzÅÄmumu, un arÄ« lielie uzÅÄmumi cenÅ”as lÄ«dzinÄties Å”im tipam. TÄ ir uz tirgu orientÄta organizÄcija. Å eit mÄs veicam optimizÄciju, lai sasniegtu ÄtrÄko atbildi uz klientu pieprasÄ«jumiem. To dažreiz sauc par plakanu organizÄciju.
Daudzi cilvÄki Å”o struktÅ«ru raksturo dažÄdi, man patÄ«k formulÄjums veidot/vadÄ«t komandas, Amazon viÅi to sauc divas picu komandas. Å ajÄ struktÅ«rÄ visi āIā tipa cilvÄki ir sagrupÄti ap vienu pakalpojumu, un pamazÄm viÅi kļūst tuvÄk āTā tipam, un, ja ir pareiza vadÄ«ba, viÅi var kļūt pat par āEā. Pirmais pretarguments Å”eit ir tÄds, ka Å”Ädai struktÅ«rai ir nevajadzÄ«gi elementi. KÄpÄc katrÄ nodaÄ¼Ä ir vajadzÄ«gs testeris, ja var izveidot Ä«paÅ”u testÄtÄju nodaļu? Uz ko es atbildu: papildu izmaksas Å”ajÄ gadÄ«jumÄ ir cena, lai visa organizÄcija nÄkotnÄ kļūtu par āEā tipu. Å ajÄ struktÅ«rÄ testÄtÄjs pamazÄm apgÅ«st tÄ«klus, arhitektÅ«ru, dizainu utt. RezultÄtÄ ikviens organizÄcijas dalÄ«bnieks pilnÄ«bÄ apzinÄs visu, kas notiek organizÄcijÄ. Ja vÄlaties uzzinÄt, kÄ Å”Ä« shÄma darbojas rÅ«pniecÄ«bÄ, izlasiet Maiks Roters, Toyota Kata.
7. Revidenti ar maiÅu pa kreisi: audits cikla sÄkumÄ. IzstÄdes droŔības noteikumu ievÄroÅ”ana
Tas ir tad, kad jÅ«su darbÄ«bas neiztur smaržas pÄrbaudi, tÄ sakot. CilvÄki, kas strÄdÄ pie jums, nav stulbi. Ja, kÄ iepriekÅ” minÄtajÄ piemÄrÄ, viÅi visur iestatÄ«ja nelielu/bez ietekmi, tas ilga trÄ«s gadus un neviens neko nepamanÄ«ja, tad visi lieliski zina, ka sistÄma nedarbojas. Vai cits piemÄrs - pÄrmaiÅu konsultatÄ«vÄ padome, kur atskaites jÄiesniedz katru, teiksim, treÅ”dienu. Tur strÄdÄ cilvÄku grupa (starp citu, ne pÄrÄk labi atalgota), kuriem teorÄtiski bÅ«tu jÄzina, kÄ sistÄma kopumÄ darbojas. Un pÄdÄjo piecu gadu laikÄ jÅ«s, iespÄjams, pamanÄ«jÄt, ka mÅ«su sistÄmas ir neticami sarežģītas. Un pieciem vai seÅ”iem cilvÄkiem ir jÄpieÅem lÄmums par izmaiÅÄm, kuras viÅi nav veikuÅ”i un par kurÄm viÅi neko nezina.
Protams, Ŕī pieeja nedarbojas. Man ir jÄatbrÄ«vojas no tÄdÄm lietÄm, jo āāÅ”ie cilvÄki neaizsargÄ sistÄmu. LÄmums jÄpieÅem paÅ”ai komandai, jo komandai par to ir jÄatbild. CitÄdi rodas paradoksÄla situÄcija, kad vadÄ«tÄjs, kurÅ” nekad mÅ«Å¾Ä nav rakstÄ«jis kodu, programmÄtÄjam pasaka, cik ilgÄ laikÄ vajadzÄtu rakstÄ«t kodu. Vienam uzÅÄmumam, ar kuru es strÄdÄju, bija 7 dažÄdi dÄļi, kas pÄrskatÄ«ja visas izmaiÅas, tostarp arhitektÅ«ras dÄli, izstrÄdÄjumu paneli utt. Bija pat obligÄts gaidÄ«Å”anas laiks, lai gan viens darbinieks man stÄstÄ«ja, ka desmit darba gados neviens nav noraidÄ«jis Ŕīs personas veiktÄs izmaiÅas Å”ajÄ obligÄtajÄ periodÄ.
Auditori ir jÄaicina mums pievienoties, nevis jÄatbrÄ«vojas no tiem. PastÄstiet viÅiem, ka rakstÄt nemainÄ«gus binÄros konteinerus, kas, izturot visus testus, paliek nemainÄ«gi uz visiem laikiem. PastÄstiet viÅiem, ka jums ir konveijera kods, un paskaidrojiet, ko tas nozÄ«mÄ. ParÄdiet viÅiem Å”Ädu shÄmu: nemainÄ«gs tikai lasÄms binÄrs konteinerÄ, kas iztur visus ievainojamÄ«bas testus; un tad ne tikai neviens to nepieskaras, viÅi pat nepieskaras sistÄmai, kas veido cauruļvadu, jo tÄ tiek izveidota arÄ« dinamiski. Man ir klienti Capital One, kas izmanto Vault, lai izveidotu kaut ko lÄ«dzÄ«gu blokÄ·Ädei. Auditoram nav jÄrÄda Å”efpavÄra āreceptesā, pietiek parÄdÄ«t blokÄ·Ädi, no kuras ir skaidrs, kas noticis ar Jira biļeti ražoÅ”anÄ un kas par to ir atbildÄ«gs.
SaskaÅÄ ar ZiÅot, ko 2018. gadÄ izveidoja Sonatype, 2017. gadÄ bija 87 miljardi OSS lejupielÄdes pieprasÄ«jumu.
ZaudÄjumi, kas raduÅ”ies ievainojamÄ«bu dÄļ, ir pÄrmÄrÄ«gi lieli. TurklÄt skaitļos, ko redzat iepriekÅ”, nav iekļautas alternatÄ«vÄs izmaksas. Kas ir DevSecOps Ä«sumÄ? Uzreiz saku, ka man nav interesanti runÄt par to, cik veiksmÄ«gs ir Å”is nosaukums. Lieta ir tÄda, ka, tÄ kÄ DevOps ir bijis tik veiksmÄ«gs, mums jÄcenÅ”as Å”im cauruļvadam pievienot droŔību.
Å Ä«s secÄ«bas piemÄrs:
Tas nav ieteikums konkrÄtiem produktiem, lai gan man tie visi patÄ«k. Es tos minÄju kÄ piemÄru, lai parÄdÄ«tu, ka DevOps, kas sÄkotnÄji bija balstÄ«ta uz organizÄcijas paradigmu nozarÄ, ļauj automatizÄt katru produkta darba posmu.
Un nav iemesla, kÄpÄc mÄs nevarÄtu izmantot tÄdu paÅ”u pieeju droŔībai.
Kopsavilkums
NoslÄgumÄ es sniegÅ”u dažus padomus par DevSecOps. SistÄmu izveides procesÄ jÄiekļauj auditori un jÄvelta laiks viÅu izglÄ«toÅ”anai. Ir jÄsadarbojas ar auditoriem. TÄlÄk jums ir jÄuzÅemas absolÅ«ti nesaudzÄ«ga cÄ«Åa pret viltus pozitÄ«viem rezultÄtiem. Pat izmantojot visdÄrgÄko ievainojamÄ«bas skenÄÅ”anas rÄ«ku, jÅ«s varat izveidot ÄrkÄrtÄ«gi sliktus ieradumus izstrÄdÄtÄju vidÅ«, ja nezinÄt, kÄda ir signÄla un trokÅ”Åa attiecÄ«ba. IzstrÄdÄtÄji bÅ«s pÄrÅemti ar notikumiem un vienkÄrÅ”i izdzÄsÄ«s tos. Ja jÅ«s dzirdÄjÄt par Equifax stÄstu, tas ir gandrÄ«z tas, kas notika tur, kur tika ignorÄts augstÄkais trauksmes lÄ«menis. TurklÄt ievainojamÄ«bas ir jÄizskaidro tÄ, lai bÅ«tu skaidrs, kÄ tÄs ietekmÄ uzÅÄmÄjdarbÄ«bu. PiemÄram, jÅ«s varÄtu teikt, ka Ŕī ir tÄda pati ievainojamÄ«ba kÄ Equifax stÄstÄ. DroŔības ievainojamÄ«bas jÄizturas tÄpat kÄ citas programmatÅ«ras problÄmas, tas ir, tÄs ir jÄiekļauj kopÄjÄ DevOps procesÄ. Jums ir jÄstrÄdÄ ar viÅiem, izmantojot Jira, Kanban utt. IzstrÄdÄtÄjiem nevajadzÄtu domÄt, ka to darÄ«s kÄds cits - gluži pretÄji, tas jÄdara ikvienam. Visbeidzot, jums ir jÄtÄrÄ enerÄ£ija cilvÄku apmÄcÄ«bai.
Noderīgas saites
Å eit ir dažas DevOops konferences sarunas, kas jums varÄtu bÅ«t noderÄ«gas: