DevOps i Verkligheten
Mattias Sköld DevOps coach / Solution Manager 10+ år ALM/DevOps, 20+ år i IT branchen Sogeti har vunnit Microsoft ALM Awards 2009,10,11,12,13,14 @mattiasskold Mattias.skold@Sogeti.com http://mskold.blogspot.com
Inom DevOps pratar vi ibland om enhörningar, hästar & åsnor Enhörningar Mytiska djur, vad lever de av? Finns de på riktigt? Hästar Vanliga organisationer, gör så gott de kan Åsnor Hårt lastade, arbetsamma & envisa. Stretar ofta på i bland mot
Vad är DevOps The new decade of Agile / Agile 2.0 Code goes into production 27 times a day Two pizza rule Everyone on the team can feed on two pizzas Its only DevOps if developers have pagers There is no I in Team, no Operation in DevOps Så pratar enhörningarna :
DevOps I grunden
Berör DevOps mig? - Jag behöver inte springa fortare än tigern, bara fortare än dig Det är inte enhörningarna du tävlar mot, det är dina konkurrenter! Om du inte ser någon tiger? Nöjdare kunder Snabbare leveranser Högre produktivitet
DevOps är varken nytt eller svårt
DevOps = Enkelt? Processer och verktyg är väl beprövade och har funnits i 10 års tid. Verktyg Microsoft Atlassian Processer Agilt, Scrum Kanban, Lean Det som har ändrats är gränsen för vad som är tänkbart & farten Nya möjliggörare Mindset Molnet - Amazon, Microsoft Azure, PaaS tjänster Nisch spelare, Chef, Puppet, Docker
Utmaningarna med DevOps
Gemensamma mål Förståelse för helheten för Affär/verksamhet Utveckling Drift Harmonisering Målbild & Styrning: Ta bort suboptimeringar Resurseffektivitet -> Värde skapande Den svåra vägen: Iterationer (Tid) Ledningens engagemang/tålamod Kommunikation Den snabba utvägen : Avknoppning/ Innovation labs Molnet
Förtroende Den värsta DevOps dödssynden Brist på förtroende Bästa botemedlet är Transparens Transpararens kräver Data & Spårbarhet Verktygsstöd Automation För att våga vara transparant behöver man (oftast) börja med att städa upp Börja med kund/affär/verksamheten.
Kvalitetssäkring Kvalitet på tjänster Hur snabbt kan vi hitta fel i produktion? Hur fort kan vi rätta fel i produktion? Hur exponerat var felet? Test är inte enda verktyget för kvalitetssäkring Kodgranskning Statisk kod analys Teknisk skuld
Test i DevOps Test skuld Test automation=återbetalning Test automation garanterar konsistens inte kvalitet Risk hantering Rätt MIX för din RISK Konsistens Verifiering Lärande Test Automation Manuell Test Test i produktion Enkelhet Affärsvärde
Test Automation Test automation garanterar konsistens inte kvalitet Svårt Dyrt Högt Affärsvärde Test automatisering är en återbetalning Mixen är viktig UI API/Service Enhetstest Enkelt Billigt Inget affärsvärde
Manuella tester Mixen av manuella tester Exploratory Funktionell Regression Data driven Automated Utforskande test Testfall Prioriterade testfall Stabila Inspelade Testfall med definierade data Repeterbar process Testfall förvalndlade till kod Valideringar definierade
Test i produktion All test i produktion görs ej av kunden, men en del. Tekniker : Stegvis utrullning Feature Flags A/B testning A/B Testning Feature Flags Stegvis utrullning
Case: Mobile DevOps Bygga två mobilapplikationer för både ios och Android på 3 veckor. Team: 1 Produktägare (kund) 3 Utvecklare 1 Testare/test automatisering Arkitekt, designer, azure-utvecklare, DevOps coach Teknik Process Utveckling Bygge Backlog TFS Xamarin Git ios (Mac) Android Azure Release Team Alfa/kund Beta Public Test 1 device Xamarin Test Cloud Deploy till teamet via Hockey App Test 10 device Xamarin Test Cloud Deploy till teamet via Hockey App Test 25 device Xamarin Test Cloud Deploy till teamet via Hockey App Test 250 device GoglePlay: Automatisk AppStore: Manuell Azure: Automatiskt
Case: Mobile DevOps Resultat : > 80 % delad kod Automatisk bygge av ios, Android & Azuretjänster Release process med stegvis leverans & Test med Xamarin Testcloud & HockeyApp 30 automatiserade testfall, Ökande enhets täckning för varje steg i releases processen Tid för en 1 kod raders ändring till produkt ägare, <1 h Tidsåtgång < 2 dagar för att sätta upp DevOps pipeline Total <1 000 h
Det viktigaste punkterna DevOps kräver Gemensamma mål & Förtroende Test behövs, rätt MIX utifrån RISK Chansen är stor att du redan praktiserar delar i DevOps processen Har du en Microsoft plattform är chansen stor att du redan har de verktyg du behöver