FrÄgan om "hur man implementerar DevOps" har stÀllts under mÄnga Är, men det finns inte sÄ mÄnga bra material. Ibland blir man ett offer för reklamen frÄn inte sÄ smarta konsulter, vars enda mÄl Àr att sÀlja sin tid, oavsett hur. Ibland handlar det om otydliga, extremt generella pÄstÄenden om hur megaföretagens fartyg navigerar genom universum. FrÄgan uppstÄr: vad har vi att vinna pÄ det? BÀste författare, kan du tydligt lista dina idéer?
Allt detta beror pÄ att det inte finns sÄ mycket verklig praktik och förstÄelse för resultatet av företagskulturens transformation. FörÀndringar i kulturen Àr lÄngsiktiga processer vars resultat inte visar sig om en vecka eller en mÄnad. Vi behöver nÄgon som Àr tillrÀckligt gammal och har sett hur företag har skapats och kollapsat under mÄnga Är.

John Willis Àr en av fÀderna till DevOps. John har hundratals Ärs erfarenhet av att arbeta med ett stort antal företag. PÄ senare tid har John börjat mÀrka specifika mönster som förekommer i arbetet med var och en av dem. Genom att anvÀnda dessa arketypier vÀgleder John företag mot den sanna vÀgen för DevOps-transformation. Mer om dessa arketypier finns i översÀttningen av hans förelÀsning frÄn konferensen DevOops 2018.

Om förelÀsaren:
Mer Àn 35 Ärs erfarenhet inom IT-ledarskap, deltog i skapandet av föregÄngaren till OpenCloud pÄ Canonical, har varit involverad i 10 startups, tvÄ av dem sÄlda till Dell och Docker. Just nu Àr han Vice President of DevOps and Digital Practices pÄ SJ Technologies.
HĂ€rnĂ€st â en berĂ€ttelse frĂ„n Johns perspektiv.
Jag heter John Willis och det enklaste sÀttet att nÄ mig pÄ Twitter Àr . Jag anvÀnder samma pseudonym pÄ Gmail och GitHub. Du kan ocksÄ hitta videoinspelningar av mina förelÀsningar och tillhörande presentationer. du kan hitta videoinspelningar av mina förelÀsningar och presentationer till dem.
Jag har mÄnga möten med CIO:er frÄn olika stora företag. De klagar ofta pÄ att de inte förstÄr vad DevOps Àr, och alla som försöker förklara det pratar om nÄgot helt annat. En annan vanlig klagomÄl Àr att DevOps inte fungerar, Àven om direktörerna verkar följa instruktionerna. Det handlar om stora företag som har funnits i över hundra Är. Efter att ha pratat med dem har jag kommit fram till att för mÄnga problem Àr det inte högteknologiska lösningar som passar bÀst, utan relativt lÄgteknologiska. Jag har i veckor bara pratat med folk frÄn olika avdelningar. Det som ni ser pÄ den första bilden i inlÀgget Àr mitt senaste projekt; rummet sÄg ut sÄ hÀr efter tre dagars arbete.
Vad Àr DevOps?
Verkligen, om man frÄgar 10 olika personer kommer de att ge 10 olika svar. Men hÀr Àr det intressanta: alla dessa tio svar Àr korrekta. Det finns inget fel svar hÀr. Jag har sysslat djupt med DevOps i ungefÀr 10 Är och var den första amerikanen pÄ den första DevOps Day. Jag skulle inte sÀga att jag Àr smartare Àn alla som arbetar med DevOps, men det finns nog ingen som har lagt ner lika mycket tid och energi. Jag anser att DevOps uppstÄr nÀr mÀnniskokapital och teknologi förenas. Vi glömmer ofta det mÀnskliga perspektivet, Àven om vi pratar mycket om olika kulturer.

Nu har vi mycket data, fem Ärs akademisk forskning, och teorierna har testats i industriell skala. Denna forskning sÀger oss följande: om man kopplar samman vissa beteendemönster i organisationskulturen kan man fÄ en acceleration pÄ 2000 gÄnger. Denna acceleration Äterspeglar en motsvarande förbÀttring i hÄllbarhet. Det Àr en kvantitativ mÀtning av den fördel som DevOps kan ge vilket företag som helst. För ett par Är sedan berÀttade jag om DevOps för VD:n i ett företag pÄ Fortune 5000-listan. NÀr jag förberedde mig för presentationen var jag oerhört nervös, eftersom jag behövde sammanfatta mina mÄnga Ärs erfarenhet pÄ fem minuter.
Som ett resultat gav jag följande definition av DevOps: det Àr en uppsÀttning praktiker och mönster som gör det möjligt att omvandla mÀnniskokapital till högpresterande organisatoriskt kapital. Ett exempel Àr hur Toyota har arbetat de senaste 50 eller 60 Ären.

(HĂ€r och vidare ges sĂ„dana scheman inte som referensmaterial, utan som illustration. InnehĂ„llet kommer att skilja sig Ă„t för varje ny företag. ĂndĂ„ kan man titta pĂ„ bilden separat och förstora den.
En av de mest framgÄngsrika sÄdana praktiker Àr value stream mapping. Det har skrivits flera bra böcker om detta, den mest framgÄngsrika av dem Àr av Karen Martin. Men under det senaste Äret har jag kommit fram till att Àven denna metod Àr för högteknologisk. Den har utan tvekan mÄnga fördelar, och jag har anvÀnt den mycket. Men nÀr VD:n frÄgar dig varför hans företag inte kan gÄ över till nya spÄr, Àr det för tidigt att prata om value stream mapping. Det finns mÄnga betydligt mer grundlÀggande frÄgor som mÄste besvaras först.
Jag tror att felet hos mĂ„nga av mina kollegor Ă€r att de helt enkelt ger företaget en vĂ€gledning med fem punkter och sedan kommer tillbaka efter sex mĂ„nader för att se vad som har hĂ€nt. Ăven med ett bra schema som value stream mapping finns det, för att sĂ€ga sĂ„, döda zoner (blind spots). Efter hundratals intervjuer med direktörer frĂ„n olika företag har jag utvecklat ett visst mönster som gör att jag kan bryta ner problemet i dess bestĂ„ndsdelar, och nu kommer vi att diskutera var och en av dessa bestĂ„ndsdelar i tur och ordning. Innan jag tillĂ€mpar nĂ„gra tekniska lösningar anvĂ€nder jag detta mönster, och i resultatet visar sig alla mina vĂ€ggar vara fulla av scheman. Nyligen arbetade jag med en viss fond, och jag slutade med 100-150 sĂ„dana scheman.
DÄlig kultur Àter bra metoder till frukost
Huvudtanken Àr: inga Lean, Agile, SAFE och DevOps kommer att hjÀlpa om sjÀlva kulturen i organisationen Àr dÄlig. Det Àr som att dyka pÄ djupet utan dykardrÀkt eller operera utan röntgenbild. Med andra ord, för att omformulera Drucker och Deming: dÄlig organisationskultur kommer att sluka vilket bra system som helst och inte kvÀvas.
För att lösa detta huvudproblem mÄste följande steg vidtas:
- Make All Work Visible: man mÄste göra allt arbete synligt. Inte i den meningen att det nödvÀndigtvis mÄste visas pÄ nÄgon skÀrm, utan i den meningen att det mÄste vara observerbart.
- Consolidate Work Management Systems: det Àr nödvÀndigt att konsolidera ledningssystemen. I frÄgan om "stam" kunskap och institutionell kunskap Àr det i 9 av 10 fall de mÀnniskor som utgör flaskhalsen. I boken handlade problemet om en enda person, Brent, som gjorde att projektet var tre Är försenat. Och jag stöter pÄ sÄdana "Brent" överallt. För att lösa dessa flaskhalsar anvÀnder jag följande tvÄ punkter i vÄr lista.
- Theory of Constraints Methodology: teorin om begrÀnsningar.
- Collaboration hacks: samarbete hacks.
- Toyota Kata (): jag kommer inte att prata mycket om Toyota Kata. Om du Àr intresserad, pÄ min github nÀstan om varje av dessa Àmnen.
- Market Oriented Organization: marknadsorienterad organisation.
- Shift-left auditors: revision i tidiga skeden av cykeln.

Jag börjar arbeta med organisationen ganska enkelt: jag gÄr in i företaget och pratar med medarbetarna. Som vi ser, inga högteknologiska lösningar. Allt som behövs Àr nÄgot att skriva pÄ. Jag samlar flera team i ett rum och analyserar vad de sÀger utifrÄn mina 7 arketyper. Och sen ger jag dem en marker och ber dem skriva ner allt de hittills har sagt högt pÄ tavlan. Vanligtvis Àr det en person pÄ sÄdana möten som skriver ner allt, och i bÀsta fall lyckas han fÄnga 10% av diskussionen. Med min metod kan den siffran höjas till omkring 40%.

(Den hÀr illustrationen kan )
Min metod bygger pÄ arbetet av William Schneider (William Schneider, ). Grunden för metoden Àr tanken att varje organisation kan delas upp i fyra kvadranter. Denna modell Àr ofta resultatet av arbetet med de hundratals andra modeller som uppstÄr vid analysen av organisationen. Anta att vi har en organisation med hög kontrollnivÄ, men samtidigt lÄg kompetens. Detta Àr en extremt oönskad variant: dÀr alla följer reglerna, men ingen vet vad de ska göra.
Ett nÄgot bÀttre alternativ med hög nivÄ av bÄde kontroll och kompetens. Om ett sÄdant företag Àr lönsamt, kanske DevOps inte ens behövs. Mest intressant Àr det att arbeta med ett företag som har hög kontroll, lÄg kompetens och samarbete, men samtidigt en hög nivÄ av kultur. Det betyder att det finns mÄnga mÀnniskor i företaget som trivs dÀr och att personalomsÀttningen Àr lÄg.

(Den hÀr illustrationen kan )
Jag tror att metoder med faststÀllda rekommendationer i slutÀndan förhindrar att man nÄr sanningen. Specifikt i value stream mapping finns det mÄnga regler för hur information ska struktureras. I de tidiga faser av arbetet, som jag pratar om nu, behövs dessa regler inte. Om nÄgon med en markeringspenna beskriver den verkliga situationen pÄ en tavla Àr det det bÀsta sÀttet att förstÄ lÀget. Den informationen nÄr inte direktörerna. Just dÄ Àr det dumt att avbryta personen och sÀga att de har ritat en pil fel. I det hÀr skedet Àr det bÀttre att anvÀnda enkla regler, till exempel: en flernivÄabstraktion kan skapas genom att bara anvÀnda fÀrgglada markörer.
Jag upprepar, inga högteknologiska lösningar. Med en svart markeringspenna avbildas den objektiva verkligheten, hur allt fungerar. Med en röd markeringspenna markerar folk vad de inte gillar med den aktuella situationen. Det viktiga Àr att det Àr de som skriver det, inte jag. NÀr jag efter mötet gÄr till IT-chefen föreslÄr jag inte en lista med 10 saker som mÄste ÄtgÀrdas. Jag försöker hitta samband mellan vad företagsmedlemmarna sÀger och de befintliga beprövade mönstren. Slutligen föreslÄs trevliga lösningar pÄ problemet med en blÄ markeringspenna.

(Den hÀr illustrationen kan )
Ett exempel pÄ ett sÄdant tillvÀgagÄngssÀtt visas ovan. I början av Äret arbetade jag med en bank. AnstÀllda frÄn sÀkerhetsavdelningen var övertygade om att de inte fick delta i kontroller av krav och design (design and requirement reviews).

(Den hÀr illustrationen kan )
Sedan pratade vi med mĂ€nniskor frĂ„n andra avdelningar och det visade sig att för ungefĂ€r 8 Ă„r sedan hade mjukvaruutvecklarna stĂ€ngt ute sĂ€kerhetsanstĂ€llda eftersom de fördröjde arbetet. Och sedan utvecklades det till ett förbud som uppfattades som en sjĂ€lvklarhet. Ăven om det egentligen inte fanns nĂ„got förbud.
VÄr möte fortskred pÄ en mycket förvirrad vÀg: under ungefÀr tre timmar kunde fem olika team inte förklara för mig vad som hÀnder mellan koden och byggandet. Det borde vara den enklaste saken. MÄnga DevOps-konsulter förutsÀtter i förvÀg att detta redan Àr allmÀngiltig kunskap.
Sedan vaknade personen som ansvarade för IT-styrning, och som varit tyst i fyra timmar, plötsligt till liv nÀr vi nÄdde hans Àmne och höll oss sysselsatta under en ganska lÄng tid. Mot slutet frÄgade jag honom vad han tyckte om mötet, och jag kommer aldrig att glömma hans svar. Han sa: "Tidigare trodde jag att det fanns tvÄ sÀtt att leverera mjukvara i vÄr bank, men nu vet jag att det finns hela fem, och jag hade ingen aning om tre av dem."

(Den hÀr illustrationen kan )
Det sista mötet i denna bank var med ett team som arbetar med investeringprogramvara. Just med dem blev det tydligt att det Àr bÀttre att skriva scheman med en penna pÄ papper Àn pÄ en tavla, och till och med bÀttre Àn pÄ en smartboard.

Foton som ni ser Àr hur konferensrummet pÄ hotellet sÄg ut den fjÀrde dagen av vÄrt möte. Dessa scheman anvÀnde vi för att identifiera mönster, det vill sÀga arketyper.
SÄ jag stÀller frÄgor till medarbetarna, och de skriver ner svaren med tre olika fÀrger (svart, röd och blÄ). Jag analyserar deras svar efter arketyper. Nu ska vi diskutera alla arketyper i ordning.
1. Make All Work Visible: Göra allt arbete synligt
I de flesta företag jag arbetar med Ă€r en stor andel av arbetet oklart. Till exempel nĂ€r en anstĂ€lld ber en annan om nĂ„got. I stora organisationer kan upp till 60% av arbetet vara oplanerat. Ăven sĂ„ mycket som 40% av arbetet Ă€r pĂ„ nĂ„got sĂ€tt icke-dokumenterat. Om det var Boeing skulle jag aldrig vĂ„ga flyga med dem igen. Om bara hĂ€lften av arbetet dokumenteras vet man inte om det görs rĂ€tt. Alla andra metoder visar sig vara vĂ€rdelösa - det finns inget syfte med att försöka automatisera nĂ„gonting, eftersom de kĂ€nda 50% kan vara just den mest strukturerade och tydliga delen av arbetet, automatisering av vilket inte ger stora resultat, medan allt som Ă€r problematiskt finns i den osynliga hĂ€lften. Utan dokumentation Ă€r det omöjligt att hitta olika knep och dolda arbeten, att identifiera flaskhalsar, de sĂ„ kallade "Brentarna" som jag redan har nĂ€mnt. Det finns en utmĂ€rkt bok av Dominica DeGrandis. . Den identifierar fem olika "tjuvar av tid" (thieves of time):
- För mycket arbete i process (WIP)
- OkÀnda beroenden
- Oplanerat arbete
- MotsÀgelsefulla prioriteringar
- Försummat arbete
Detta Àr en mycket vÀrdefull analys, och boken Àr fantastisk, men alla dessa rÄd Àr vÀrdelösa om endast 50% av datan Àr synlig. Att anvÀnda metoderna som föreslÄs av Dominica kan endast ske om man har en noggrannhet över 90%. Jag pratar om situationer dÀr en chef ger en anstÀlld en 15-minutersuppgift, men det tar tre dagar; men chefen vet faktiskt inte att den anstÀllde Àr beroende av fyra eller fem andra personer.

Phoenix Project Àr en fantastisk berÀttelse om ett projekt som Àr tre Är försenat. En av hjÀltarna riskerar att bli avskedad pÄ grund av detta och han trÀffar en annan karaktÀr, som presenteras som en sorts Sokrates. Denne hjÀlper till att förstÄ vad som egentligen har gÄtt fel. Det visar sig att det finns en systemadministratör i företaget som heter Brent, och allt arbete gÄr pÄ ett eller annat sÀtt genom honom. PÄ ett av mötena frÄgar en av hans understÀllda: varför tar varje halvtimmesuppgift en vecka? Som svar ges en mycket förenklad redogörelse för köteori och Littles lag, och i denna redogörelse framkommer att vid 90 % belÀggning tar varje arbetstimme 9 timmar. Varje uppgift mÄste skickas till sju andra personer, vilket gör att denna timme förvandlas till 63 timmar, 7 multiplicerat med 9. Jag sÀger detta för att poÀngtera att för att kunna anvÀnda Littles lag eller nÄgon som helst avancerad köteori mÄste man Ätminstone ha data.
SÄ nÀr jag talar om synlighet menar jag inte att allt ska vara pÄ skÀrmen, utan att man Ätminstone behöver ha data. NÀr de finns, visar det sig ofta att det finns en vÀldigt stor mÀngd oplanerat arbete som av nÄgon anledning riktas till Brent, fast det inte finns nÄgot behov av det. Och Brent Àr en fantastisk kille, han skulle aldrig sÀga "nej", men samtidigt berÀttar han inte för nÄgon hur han gör sitt arbete.

NÀr arbetet Àr synligt kan man noggrant klassificera data (detta Àr exakt vad Dominika gör pÄ bilden), man kan tillÀmpa abstraktionen av de fem tidslÀckorna och automatisera.
2. Konsolidera arbetsledningssystem: Uppgiftsledning
Arketyperna, som jag talar om, utgör en slags pyramid. Om den första Àr korrekt utförd, blir den andra en slags överbyggnad. MÄnga av dem fungerar inte för startups; de bör beaktas i fallet med stora företag, som de som hamnar pÄ Fortune 5000-listan. PÄ det senaste företaget jag arbetade för fanns det 10 system för Àrendehantering (ticketing system). I ett team fanns Remedy, ett annat hade skrivit sitt eget system, det tredje anvÀnde Jira, nÄgon klarade sig till och med med e-post. Samma problem uppstÄr om företaget har 30 olika pipeliner, men jag har ingen tid att diskutera alla dessa fall.
Jag diskuterar med mÀnniskor hur biljetter skapas, vad som hÀnder med dem efterÄt och hur de kringgÄs. Det mest intressanta Àr att mÀnniskor pÄ vÄra möten pratar ganska uppriktigt. Jag frÄgade hur mÄnga som sÀtter "mindre / ingen pÄverkan" pÄ biljetter som egentligen borde ha fÄtt "stor pÄverkan". Det visade sig att nÀstan alla gör sÄ. Jag sysslar inte med angiveri och försöker pÄ alla sÀtt att inte identifiera mÀnniskor. NÀr jag fÄr uppriktiga erkÀnnanden i nÄgot, avslöjar jag inte personen. Men nÀr praktiskt taget alla kringgÄr systemet, betyder det att hela sÀkerheten i grunden Àr en dekoration. DÀrför kan inga slutsatser dras frÄn uppgifterna i det hÀr systemet.
För att lösa problemet med biljetter mÄste en huvudsystem vÀljas. Om du anvÀnder Jira, lÄt bara vara Jira. Om det finns nÄgot alternativ, lÄt det bara vara det. PoÀngen Àr att biljetter mÄste ses som ett ytterligare steg i utvecklingsprocessen. Varje ÄtgÀrd mÄste ha en biljett som gÄr igenom utvecklingsprocessen. Biljetterna skickas till teamet som lÀgger upp dem pÄ storyboarden och som sedan ansvarar för dem.
Detta gÀller alla avdelningar, inklusive infrastruktur- och driftsavdelningen. PÄ sÄ sÀtt kan man skapa en mer eller mindre trovÀrdig bild av lÀget. NÀr denna process Àr pÄ plats visar det sig plötsligt att det Àr lÀtt att faststÀlla vem som ansvarar för varje tillÀmpning. För nu fÄr vi inte 50 %, utan 98 % av nya tjÀnster. Om denna huvudprocess fungerar, ökar noggrannheten i hela systemet.
TjÀnstepipeline
Det hÀr gÀller Äterigen bara stora företag. Om du Àr ett nytt företag inom ett nytt omrÄde - rulla upp Àrmarna och arbeta med din Travis CI eller CircleCI. NÀr det kommer till Fortune 5000-företag, Àr ett exempel fallet med banken dÀr jag arbetade. Google kom dit och visade diagram med gamla IBM-system. Killarna frÄn Google frÄgade förvÄnat - var Àr koden för detta? Det finns ingen kod, inte ens nÄgot GUI. Det Àr verkligheten stora organisationer mÄste hantera: 40-Äriga banktransaktioner pÄ en gammal mainframe. En av mina kunder anvÀnder Kubernetes-containrar med Circuit Breaker-mönster, plus Chaos Monkey, allt detta för applikationen KeyBank. Men till slut ansluts dessa containrar till en applikation i COBOL.
Killarna frÄn Google var helt övertygade om att de skulle lösa alla problem för min kund, och sedan började de stÀlla frÄgor: vad Àr IBM datapipe? De fÄr svaret: det Àr en anslutning. Vad ansluter den till? Till systemet Sperry. Och vad Àr det? Och sÄ vidare. Vid första anblick verkar det: vad har vi för DevOps hÀr? Men egentligen Àr det möjligt. Det finns leveranssystem som tillÄter att överföra arbetsflödet till team som arbetar med leverans.
3. BegrÀnsningarnas teori: Theory of Constraints
LÄt oss gÄ vidare till den tredje arketypen: institutionell / "tribal" kunskap. Det finns vanligtvis nÄgra personer inom varje organisation som vet allt och styr alla. Det Àr de som har varit störst tid i organisationen och som kÀnner till alla omvÀgar.

NÀr detta framgÄr i diagrammet markerar jag avsiktligt sÄdana personer med en markeringspenna: till exempel visar det sig att en viss Lou Àr nÀrvarande pÄ alla möten. Och för mig Àr det klart: detta Àr den lokala Brent. NÀr it-chefen mÄste vÀlja mellan mig i t-shirt och sneakers och en kille frÄn IBM i kostym, vÀljer de mig för att jag kan berÀtta för chefen om saker som den andra killen inte kommer att berÀtta och som kan vara obehagliga för chefen att höra. Jag sÀger till dem att det finns en flaskhals i deras företag, nÄgon vid namn Fred och nÄgon vid namn Lou. Denna flaskhals mÄste lösas, deras kunskap mÄste pÄ ett eller annat sÀtt fÄs fram.
För att lösa denna typ av problem kan jag till exempel föreslĂ„ att anvĂ€nda Slack. En smart chef skulle frĂ„ga â varför? Vanligtvis svarar DevOps-konsulter sĂ„ hĂ€r: dĂ€rför att alla gör sĂ„. Om chefen faktiskt Ă€r smart skulle han sĂ€ga: och vadĂ„? Och dĂ€r slutar dialogen. Och jag svarar: dĂ€rför att företaget har fyra flaskhalsar, Fred, Lou, Suzy och Jane. För att institutionaliserad kunskap ska uppnĂ„s mĂ„ste Slack införas. Alla era wikis Ă€r fullstĂ€ndigt meningslösa eftersom ingen vet att de existerar. Om ingenjörsteamet arbetar med bĂ„de extern och intern utveckling mĂ„ste alla veta att de kan kontakta den externa utvecklingsteamet eller infrastrukturteamet med frĂ„gor. Just dĂ„ kan Lou eller Fred ha tid att kolla wikin. Och sen kan nĂ„gon frĂ„ga i Slack varför steg 5 inte fungerar, och dĂ„ kan Lou eller Fred rĂ€tta instruktionerna i wikin. Om man fĂ„r den hĂ€r processen att fungera kommer mycket annat att falla pĂ„ plats av sig sjĂ€lv.
Min huvudpoÀng Àr att för att kunna rekommendera högteknologiska lösningar mÄste man först fÄ grunden i ordning, och det Àr nÄgot som kan göras med de just beskrevna lÄgteknologiska lösningarna. Om man börjar med högteknologi och inte förklarar varför de behövs, slutar det oftast med inget bra. En av vÄra kunder anvÀnder Azure ML, en vÀldigt billig och enkel lösning. NÄgonstans runt 30% av frÄgorna besvarades redan av den sjÀlvlÀrande maskinen. Och det var operatörer som skrev detta, som inte hade sysslat med data science, statistik eller matematik. Det Àr intressant. Kostnaden för en sÄdan lösning Àr minimal.
4. SamarbetsförbÀttringar: Hacka samarbetet
Den fjĂ€rde arketypen handlar om att bekĂ€mpa isolering. De flesta vet redan detta: isolering skapar fientlighet. Om varje avdelning Ă€r pĂ„ sin egen vĂ„ning, och mĂ€nniskor inte trĂ€ffas annat Ă€n i hissen, uppstĂ„r fientlighet lĂ€tt. Men om mĂ€nniskor istĂ€llet Ă€r i samma rum försvinner den genast. NĂ€r nĂ„gon framför en allmĂ€n anklagelse, till exempel att ett visst grĂ€nssnitt aldrig fungerar â finns det inget enklare Ă€n att avfĂ€rda en sĂ„dan anklagelse. För programmerarna som har skrivit grĂ€nssnittet rĂ€cker det att börja stĂ€lla specifika frĂ„gor, sĂ„ visar det sig snart att anvĂ€ndaren helt enkelt har anvĂ€nt verktyget felaktigt.
Det finns mÄnga sÀtt att övervinna isolering. Jag blev en gÄng ombedd att rÄdgiva en bank i Australien, men jag avböjde för jag har tvÄ barn och en fru. Allt jag kunde hjÀlpa dem med var att rekommendera dem graphical storytelling. Det Àr nÄgot som bevisligen fungerar. Ett annat intressant sÀtt Àr möten i lean coffee-format. I en stor organisation Àr detta ett utmÀrkt alternativ för kunskapsdelning. Dessutom kan man anordna interna devopsdays, hackathons och sÄ vidare.
5. Coaching Kata
Som jag redan varnat i början kommer jag inte att berÀtta om detta idag. Om du Àr intresserad kan du titta pÄ .
Det finns ocksÄ ett bra föredrag om detta Àmne av Mike Rother:

6. Marknadsinriktad: marknadsorienterad organisation
HĂ€r finns olika problem. Till exempel personer med typ "I", personer med typ "T" och personer med typ "E". Personer med typ "I" Ă€r de som hĂ„ller pĂ„ med endast en sak. De finns vanligtvis i organisationer med isolerade avdelningar. "T" innebĂ€r att personen Ă€r duktig pĂ„ en sak, men ocksĂ„ framgĂ„ngsrik inom vissa andra omrĂ„den. "E" eller till och med "kamâ â det Ă€r nĂ€r en person har mĂ„nga fĂ€rdigheter.

HÀr gÀller Conway's lag (), som i sin mest förenklade form kan uttryckas sÄ hÀr: om tre team arbetar med en kompilator, kommer det att resultera i en kompilator som bestÄr av tre delar. DÀrför, om det finns en hög nivÄ av isolering inom organisationen, kommer till och med Kubernetes, Circuit breaker, API extensibility och andra moderna lösningar i denna organisation att organiseras pÄ samma sÀtt som sjÀlva organisationen. Strikt enligt Conway och till trots för er alla, unga nördar.
Problemet har beskrivits mÄnga gÄnger. Det finns till exempel organisatoriska arketyper som beskrivits av Fernando Fernandez. Den problematiska arkitektur som jag just har nÀmnt, med isolering, Àr en funktionsorienterad arkitektur. Den andra typen, som Àr den sÀmsta, Àr en matrisarkitektur som bestÄr av en blandning av de tvÄ andra. Den tredje typen Àr vad man ser i de flesta startups, och stora företag försöker ocksÄ anpassa sig till denna typ. Det Àr en marknadsorienterad organisation. HÀr handlar det om att optimera för att uppnÄ det snabbaste svaret pÄ kundförfrÄgningar. Ibland kallas det en platt organisation.
MÄnga beskriver denna struktur pÄ olika sÀtt, jag gillar formuleringen build/run teams, pÄ Amazon kallas det two pizza teams. I denna struktur grupperas alla personer av typ "I" runt en tjÀnst, och gradvis nÀrmar de sig typ "T", och om rÀtt ledarskap finns kan de till och med bli "E". Det första motargumentet hÀr Àr att det finns onödiga element i en sÄdan struktur. Varför behövs en testare pÄ varje avdelning, nÀr man kan ha en speciell testavdelning? Till detta svarar jag: onödiga kostnader i detta fall Àr priset för att hela organisationen i framtiden ska bli type "E". I en sÄdan struktur lÀr sig testaren gradvis om nÀtverk, arkitektur, design osv. I slutÀndan Àr varje deltagare i organisationen helt informerad om allt som pÄgÄr i organisationen. Om du vill veta hur denna modell fungerar inom industrin, lÀs .
7. Shift-left auditors: revision i de tidiga faserna av cykeln. Efterlevnad av sÀkerhetsregler i förgrunden
Det handlar om nĂ€r dina Ă„tgĂ€rder inte klarar, som man sĂ€ger, lukttestet. MĂ€nniskor som arbetar för dig Ă€r inte dumma. Om de, som i exemplet ovan, alltid har angivit minor/no impact, har det pĂ„gĂ„tt i tre Ă„r, och ingen har mĂ€rkt nĂ„got, sĂ„ vet alla att systemet inte fungerar. Eller ett annat exempel â en förĂ€ndringsstyrgrupp, dit varje, lĂ„t oss sĂ€ga, onsdag, rapporter mĂ„ste lĂ€mnas in. DĂ€r arbetar en grupp mĂ€nniskor (för övrigt inte sĂ€rskilt vĂ€lbetalda) som i teorin borde förstĂ„ hur systemet fungerar i stort. Och under de senaste fem Ă„ren har du nog mĂ€rkt att vĂ„ra system Ă€r extremt komplexa. Och fem till sex personer borde fatta beslut om en förĂ€ndring som de inte sjĂ€lva har genomfört och som de inget vet om.
SjÀlvklart fungerar inte ett sÄdant tillvÀgagÄngssÀtt. Jag mÄste bli av med sÄdana saker eftersom dessa mÀnniskor inte skyddar systemet. Beslutet bör fattas av teamet sjÀlvt, eftersom teamet mÄste stÄ ansvarigt för det. Annars uppstÄr en paradoxal situation dÀr en chef, som aldrig har skrivit en rad kod, berÀttar för en programmerare hur lÄng tid det ska ta att skriva koden. PÄ ett företag jag arbetade med fanns det 7 olika rÄd som granskade varje förÀndring, inklusive arkitektur- och produktstyrelser, osv. Det fanns till och med en obligatorisk vÀntetid, Àven om en kollega sa till mig att ingen under tio Är haft avslag pÄ förÀndringar frÄn den personen under den obligatoriska vÀntetiden.
Auditorer ska bjudas in istĂ€llet för att bli av med. BerĂ€tta för dem att du skriver oförĂ€nderliga binĂ€ra containrar, som om de klarar alla tester förblir oförĂ€ndrade för alltid. BerĂ€tta för dem att du har pipeline as code och förklara vad det innebĂ€r. Visa dem följande schema: en oförĂ€nderlig binĂ€rfil som Ă€r skrivskyddad i en container som klarar alla tester för sĂ„rbarheter; och sedan Ă€r det inte bara sĂ„ att ingen rör vid den â ingen rör ens vid systemet som skapar pipeline, eftersom det ocksĂ„ skapas dynamiskt. Jag har kunder, Capital One, som med hjĂ€lp av Vault skapar nĂ„got liknande en blockchain. Det Ă€r inte nödvĂ€ndigt att visa auditorn nĂ„gra

Enligt recept" frÄn Chef, det rÀcker att visa blockkedjan, dÀr det tydligt framgÄr vad som hÀnt med Jira-biljetten i produktionen och vem som Àr ansvarig.

Förlusterna pÄ grund av sÄrbarheter visar sig vara orimligt höga. Och de siffror som du nu ser ovan inkluderar inte alternativa kostnader. I korthet, vad DevSecOps handlar om. Jag vill genast sÀga att jag inte Àr intresserad av diskussioner om hur lyckat det namnet Àr. PoÀngen Àr att eftersom DevOps har varit mycket framgÄngsrika, mÄste vi försöka lÀgga till sÀkerhet till den hÀr pipeline.
Ett exempel pÄ en sÄdan sekvens:

Detta Àr inget rekommendation av specifika produkter, Àven om jag gillar dem alla. Jag tar dem som exempel för att visa att DevOps, som ursprungligen grundades pÄ industriell organisationsparadigm, möjliggör automatisering av varje steg i produktutvecklingen.

Och det finns ingen anledning till varför vi inte skulle kunna tillÀmpa samma tillvÀgagÄngssÀtt för sÀkerhet.
Resultat
Som avslutning vill jag ge nĂ„gra rĂ„d för DevSecOps. Inkludera auditerare i skapandet av era system och investera tid i deras utbildning. Samarbeta med auditerare. Vidare, bedriv en fullstĂ€ndig och obarmhĂ€rtig kamp mot falska positiva resultat. Ăven med det dyraste verktyget för sĂ„rbarhetsskanning kan ni skapa mycket skadliga vanor hos era utvecklare om ni inte förstĂ„r signalen till brus-förhĂ„llandet. Utvecklarna kommer att bli överbelastade med hĂ€ndelser och börja radera dem. Om ni hört talas om historien med Equifax, sĂ„ hĂ€nde just det dĂ€r; det högsta signalvĂ€rdet ignorerades. Dessutom bör sĂ„rbarheter förklaras pĂ„ ett sĂ€tt som gör det tydligt hur de pĂ„verkar företaget. Till exempel kan ni sĂ€ga att det Ă€r samma sĂ„rbarhet som i historien med Equifax. SĂ€kerhetsrelaterade sĂ„rbarheter bör behandlas som andra mjukvaruproblem, det vill sĂ€ga de bör ingĂ„ i den övergripande DevOps-processen. De bör hanteras genom Jira, Kanban, etc. Utvecklarna ska inte tro att nĂ„gon annan ska ta hand om detta â tvĂ€rtom, alla ska vara involverade. Slutligen mĂ„ste ni lĂ€gga tid och energi pĂ„ att utbilda mĂ€nniskor.
Nyttiga lÀnkar
HÀr Àr nÄgra förelÀsningar frÄn DevOops-konferensen som kan vara till nytta för er:
- Sergey Berdnikov, Artyom Kalichkin â En framgĂ„ngshistoria, eller "Dev+DevOps+Ops" (, )
- Baruch Sadogursky, Leonid Igolnik â DevOps i stor skala: en grekisk tragedi i tre akter (, )
- Alexander Titov, Kirill Tolkachev â
- Timothy Lister â
Ta en titt pĂ„ DevOops 2020 Moskva â dĂ€r finns ocksĂ„ mycket intressant.
KĂ€lla: habr.com
