DevOps I Verkligheten - TechWorld Event › wp-content › uploads › sites › ... · 1...

Preview:

Citation preview

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

Hästar – Vanliga

organisationer, gör

så gott de kan

Inom DevOps pratar vi ibland om enhörningar, hästar & åsnor

Enhörningar – Mytiska djur, vad lever de av ? Finns de på riktigt ?

Å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

Test Automation

Test i

produktion

Manuell Test

Konsistens Verifiering Lärande

Affärsvärde

Enkelhet

Test Automation

UI

API/Service

Enhetstest

Test automation garanterar konsistens inte kvalitet

Test automatisering är en återbetalning

Mixen är viktig

Högt Affärsvärde

Svårt Dyrt

Enkelt Billigt

Inget affärsvärde

Manuella tester

Utforskande test

Exploratory

Testfall

Funktionell

Prioriterade testfall

Stabila

Inspelade

Regression

Testfall med definierade data

Repeterbar process

Data driven

Testfall förvalndlade till kod

Valideringar definierade

Automated

Mixen av manuella tester

Test i produktion

A/B Testning

Feature Flags

Stegvis utrullning

All test i produktion görs ej av kunden, men en del.

Tekniker : • Stegvis utrullning

• Feature Flags

• A/B testning

Case: Mobile DevOps

Bygga två mobilapplikationer för både iOs och Android på 3 veckor.

Team: Teknik

1 Produktägare (kund)

3 Utvecklare

1 Testare/test automatisering

Arkitekt, designer, azure-utvecklare, DevOps coach

Process

Backlog TFS

Utveckling

•Xamarin

•Git

Bygge

•iOS (Mac)

•Android

•Azure

Release

Team

•Test 1 device Xamarin Test Cloud

•Deploy till teamet via Hockey App

Alfa/kund

•Test 10 device Xamarin Test Cloud

•Deploy till teamet via Hockey App

Beta

•Test 25 device Xamarin Test Cloud

•Deploy till teamet via Hockey App

Public

•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

Recommended