What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… ·...

23
26/10/2017 1 © BlueHat, all rights reserved - introduction Christian F. Nissen, BlueHat P/S RESILIA TM , ITIL®, PRINCE2® MSP®, MoP® and MoV® are Registered Trade Marks of AXELOS in the United Kingdom and other countries COBIT® is a registered trademark of the Information Systems Audit and Control Association (ISACA) and the IT Governance Institute (ITGI) TOGAF TM is a trademark of The Open Group SIAM® is a registered trademark of EXIN DEVOPS 2 © BlueHat, all rights reserved What is DevOps?

Transcript of What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… ·...

Page 1: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

1

1©BlueHat,allrightsreserved

- introduction

ChristianF.Nissen,BlueHat P/S

RESILIATM,ITIL®,PRINCE2®MSP®,MoP®andMoV®areRegisteredTradeMarksofAXELOSintheUnitedKingdomandothercountriesCOBIT®isaregisteredtrademarkoftheInformationSystemsAuditandControlAssociation(ISACA)andtheITGovernanceInstitute (ITGI)TOGAFTM isatrademarkofTheOpenGroupSIAM®isaregisteredtrademarkofEXIN

DEVOPS

2©BlueHat,allrightsreserved

WhatisDevOps?

Page 2: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

2

3©BlueHat,allrightsreserved

Agenda

1.WhyDevOps?

2.DevOpsprinciples

3.DevOpsconcepts

4.DevOpspractices

5.DevOpspeople

6.DevOpstrainingandfurtherreading

7.WheredoyoustartwithDevOps?

4©BlueHat,allrightsreserved

WhyDevOps?Toreducedeploymentleadtimetominutes!• Thebusinessdemandsfasterandcontinuousdelivery.• Mostorganisationsarenotabletodeployproductionchangesinminutesorhours,instead

requiringweeksormonths.• OpposinggoalsbetweenDevelopmentandOperations:

Iwantchange

Iwantstability

Development Wallofconfusion Operations

• Organizationalsilos• Differentmindsets• Differenttools• Differentenvironments• Productback-logs• Blamegame• Disintegratedprocesses• Poorfeedbackloops

Page 3: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

3

5©BlueHat,allrightsreserved

WhatisDevOps?TeardownthewallbetweenDevelopmentandOperations:

ContinuousDelivery:ContinuousIntegration,TestingandDeployment

“Smallteamsindependentlyimplementtheirfeatures,validatetheircorrectnessinproduction-likeenvironments,andhavetheircodedeployedintoproductionquickly,safelyandsecurely.”

TheDevOpsHandbook,byGeneKim,JezHumble,PatrickDebois andJohnWillis,2016

Illustration:Benone Bitencourt

6©BlueHat,allrightsreserved

Principles,Concepts,PracticesandPeople

1. Flow2. Feedback3. Continual

learningandimprovement

PRINCIPLES

1. Product2. Valuestream3. Loosely-coupled

architecture4. Autonomous

teams

CONCEPTS

1. Continuousintegration

2. Fastandreliableautomatedtesting

3. Continuousandautomateddeployment/provisioning

4. Measurementandfeedback

PRACTICES

1. Customercentric2. End-to-end

responsibility3. Collaboration4. Learningand

improvement5. Experimentation

andrisktaking

PEOPLE

Page 4: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

4

7©BlueHat,allrightsreserved

ThethreeDevOpsPrinciples1.FLOW

Enablefastleft-to-rightflowofworkfromDevelopmenttoOperationstothecustomer

• Makeworkvisibleusingvisualboards• Limitworkinprocess(WIP)• Reducebatchsizes• Reducethenumberofhandovers• Continuallyidentifyandelevateconstraints• Eliminatehardshipsandwasteinthevalue

stream

Dev Ops

8©BlueHat,allrightsreserved

ThethreeDevOpsPrinciples2.FEEDBACK

Enablefastandconstantflowoffeedbackfromrighttoleftatallvaluestreamstages

• Establishfastfeedbackloopsateverystepoftheprocess

• Establishpervasiveproductiontelemetryensuringthatproblemsaredetectedandcorrectedastheyoccur

• Keeppushingqualityclosertothesource• Enableoptimisingfordownstreamworkcenters

Dev Ops

Page 5: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

5

9©BlueHat,allrightsreserved

ThethreeDevOpsPrinciples3.CONTINUALLEARNING&IMPROVEMENT

Enableahigh-trust,experimentingandrisk-takingcultureaswellasorganisationallearning,bothfromsuccessesandfailures

• Enablingorganisationallearning• Institutionalisetheimprovementofdailywork• Transformlocaldiscoveriesintoglobal

improvements• Injectresiliencepatternsintodailywork• Encourageleaderstoreinforcealearningculture• Experiment,failfast- Ifithurts,doitmoreoften

Dev Ops

10©BlueHat,allrightsreserved

Principles,Concepts,PracticesandPeople

1. Flow2. Feedback3. Continual

learningandimprovement

PRINCIPLES

1. Product2. Valuestream3. Loosely-coupled

architecture4. Autonomous

teams

CONCEPTS

1. Continuousintegration

2. Fastandreliableautomatedtesting

3. Continuousandautomateddeployment/provisioning

4. Measurementandfeedback

PRACTICES

1. Customercentric2. End-to-end

responsibility3. Collaboration4. Learningand

improvement5. Experimentation

andrisktaking

PEOPLE

Page 6: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

6

11©BlueHat,allrightsreserved

ProductOurapplicationisourproduct.

Strivetowardsdeliveringaminimumviableproduct(MVP),thesmallestamountoffunctionalityhavingvaluetothecustomer,asfastandreliablyasitcan.

Illustration:HenrikKniberg

12©BlueHat,allrightsreserved

ProductTheme

Epic Epic

Feature Feature Feature Feature

TimeStory Story

Story

Story Story

Story Story

Story Story Story

Sprint1MVP

Sprint2

Sprint3

Backlog

Priorities

Page 7: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

7

13©BlueHat,allrightsreserved

Product• CreatewiththeEndinMind:Understandingtherealneedsofcustomers.• Rigorouslyask,“Shouldwebuildit,andwhy?”• Performthecheapestandfastestexperimentspossibletovalidatewhethertheintended

featurewillactuallyachievethedesiredoutcomes.• Thinkabouteachfeatureasahypothesisanduseproductionreleasesasexperimentswithreal

userstoproveordisprovethathypothesis.• Usetechniquessuchashypothesis-drivendevelopmentandA/Btesting.

50%ofvisitorsseevariationA

50%ofvisitorsseevariationB

VariationA

VariationB

27%conversion

23EURaverageordersize

13%conversion

27EURaverageordersize

14©BlueHat,allrightsreserved

Valuestream

Theseriesofeventsthattakeafeaturefromcodecommitthroughtoproduction.

Commitstage

(Build,package,continuousintegration,automatedunittests)

Acceptancestage

(Deployment,automatedacceptance

tests)

Exploratorytesting

(Manuallydetectdefectsnotcaughtbyautomated

tests)

UAT

(Useracceptancetesting–typicallymanual)

Staging

(Staginginenvironmentidenticaltoproduction,releasetheproducttousers)

Production

Thedeploymentpipeline,fromContinuousDelivery,byJezHumbleandDavidFarley,2010

Page 8: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

8

15©BlueHat,allrightsreserved

Valuestreammapping

Owner

CommitIntegration

C/T=C/O=

%C/A=Uptime=

CommitUnit test

C/T=C/O=

%C/A=Uptime=

AcceptanceDeployment

C/T=C/O=

%C/A=Uptime=

Info

rmat

ion

flow

Wor

kflo

wTi

me

line 1d 0,5 d 0,5 d 1 d

4 hours 2 hours 30 min

Lead time(Non-value added time)

Processing time (Value added time)

C/T:CycleTime;C/O:ChangeoverTime;%C/A:Percentcompleteandaccurate;I:Inventory

I I

16©BlueHat,allrightsreserved

Loosely-coupledarchitectureFrommonolithtomicroservices

Microservices architecture(Modularandindependentunits)

Monolithicarchitecture(Onesystemortiers)

Page 9: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

9

17©BlueHat,allrightsreserved

Loosely-coupledarchitectureDevOpsarchitecturepractices• Designaloosely-coupledarchitecturewithwell-definedinterfacesthatenforcehowmodules

connectwitheachothertopromoteproductivityandsafety.• Automatebuildingandconfiguringtheenvironmentusingvirtualizedenvironments,

environmentcreationprocessesthatstartfrom“baremetal”,“infrastructureascode”configurationmanagementtools,automatedoperatingsystemconfigurationtools,assemblinganenvironmentfromasetofvirtualimagesorcontainers,spinningupnewenvironmentsinpubliccloudetc.

• Embrace‘everythingascode’ concepts.Moreandmorecomponentscanbedefinedwithcode,suchassoftware-definednetworks.

• Createoursinglerepositoryoftruthfortheentiresystem.Putallapplicationsourcefilesandconfigurationsaswellasallproductionartefactsinversioncontrol.

• Makeinfrastructureeasiertorebuild thantorepair.

18©BlueHat,allrightsreserved

AutonomousteamsCross-functionalDevOpsautonomousteams:• are fullyaccountablefordevelopinganddeployinganITservice• haveend-to-endresponsibilityand providesupporttoproductsuntilend-of-life• arefullyempoweredandself-sufficienttodesign,build,test,deploy,andrunthesoftware• operateautonomously andworkindependently fromoneanother• possessallthenecessaryexpertisetotakeontheend-to-endresponsibility• arekeptstablesotheycankeepiteratingandimprovingandembedeffectiveworkinghabits.

Productowner

Operationsengineer(Sysadmin,middleware,

DBA,etc.)

Developer

QA/Tester

InfoSecReleasemanager

Page 10: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

10

19©BlueHat,allrightsreserved

AutonomousteamsAllowsmallproductteamstoworksafelyandarchitecturallydecoupledfromtheworkofotherteamswhouseself-serviceplatformsthatleveragethecollectiveexperienceofOperationsandInformationSecurity

Conway’sLaw:“Teamsshouldonlybeaslargeascanbefedwithtwopizzas”

Productteams

PaaS

IaaSPlatformteams

(API)SelfService

20©BlueHat,allrightsreserved

AutonomousteamsTeamsofteamsScalingatSpotifywithTribes,Squads,Chapters&Guilds

Source:https://ucvox.files.wordpress.com/2012/11/113617905-scaling-agile-spotify-11.pdf

Page 11: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

11

21©BlueHat,allrightsreserved

Principles,Concepts,PracticesandPeople

1. Flow2. Feedback3. Continual

learningandimprovement

PRINCIPLES

1. Product2. Valuestream3. Loosely-coupled

architecture4. Autonomous

teams

CONCEPTS

1. Continuousintegration

2. Fastandreliableautomatedtesting

3. Continuousandautomateddeployment/provisioning

4. Measurementandfeedback

PRACTICES

1. Customercentric2. End-to-end

responsibility3. Collaboration4. Learningand

improvement5. Experimentation

andrisktaking

PEOPLE

22©BlueHat,allrightsreserved

DevOpspractices

Commitstage

(Build,package,continuousintegration,automatedunittests)

Acceptancestage

(Deployment,automatedacceptance

tests)

Exploratorytesting

(Manuallydetectdefectsnotcaughtbyautomated

tests)

UAT

(Useracceptancetesting–typicallymanual)

Staging

(Staginginenvironmentidenticaltoproduction,releasetheproducttousers)

Production

:Approval Thedeploymentpipeline,fromContinuousDelivery,byJezHumbleandDavidFarley,2010

1.Continuousintegration 2.Fastandreliableautomatedtesting

3.Continuousandautomateddeploymentandprovisioning

4.Measurementandfeedback

Page 12: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

12

23©BlueHat,allrightsreserved

ContinuousIntegration(CI)isthepractice,insoftwareengineering,ofmergingalldeveloperworkingcopiestoasharedmainlineseveraltimesaday.• OnceateammembercommitsanumberofcodechangesintoSoftwareConfiguration

Management,thechangescanbemergedautomatically,analysed,compiled,unittested,andassembledautomatically.

• Theautomatedbuildprocesscancreateanewdeploymentpackageandpublishittoatrunk.Inthismanner,acontinuousflowfromcodecommittovalidateddeploymentpackagecanbeimplemented.

• Theautomatedbuildprocessisimportantforafail-faststrategy.Forexample,iftherearecodemergeconflicts,thebuildshouldfailsotheteammemberscanfixtheconflicts.

Continuousintegration

Development

Applicationcomponent(i.e.microservice)

SCMcommit Build Pipeline Test

24©BlueHat,allrightsreserved

ContinuousintegrationBestpractice• Adopttrunk-baseddevelopmentpracticeswherealldeveloperscheckintheircodetotrunkat

leastonceperday.• Frequentcodecommitstotrunkmeansthatallautomatedtestscanberunonthesoftware

systemasawholeandalertsreceivedwhenachangebreakssomeotherpartoftheapplicationorinterfereswiththeworkofanotherdeveloper.

• Thedisciplineofdailycodecommitsforcesthedeveloperstobreaktheworkdownintosmallerchunkswhilestillkeepingtrunkinaworking,releasablestate

Page 13: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

13

25©BlueHat,allrightsreserved

FastandreliableautomatedtestingBuildafastandreliableautomatedvalidationtestsuite:• Unittests• Acceptancetests• Integrationtests

AutomatedGUItests

AutomatedAPItestsAutomatedIntegrationtestsAutomatedComponenttests

AutomatedUnittests

Manualtesting

TestPyramid,MikeCohn

Slow

er,m

orecostly

26©BlueHat,allrightsreserved

FastandreliableautomatedtestingBestpractice• Catcherrorsasearlyintheautomatedtestingaspossible• Ensuretestsrunquickly(inparallel,ifnecessary)• Writeautomatedtestsbeforewritingthecode("Test-drivendevelopment")• Automateasmanymanualtestsaspossible• Integrateperformancetestingintothetestsuite• Integratenon-functionalrequirementstestingintothetestsuite• Pulltheandon cordwhenthedeploymentpipelinebreaks

Page 14: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

14

27©BlueHat,allrightsreserved

Automatedcontinuousdeployment&provisioningAutomatedContinuousDeploymentandProvisioningcoversdeploymentofapplicationcomponentsaswellasprovisioningofenvironment components.

Test

Provisioning

Deployment

Applicationcomponent(i.e.microservice)

PaaS(OS,Middleware&Runtime)

IaaS(Infrastructure)

(API)SelfService

Applicationsandservices

Environmentcomponent

28©BlueHat,allrightsreserved

Automatedcontinuousdeployment&provisioningBestpractice• Standardizetheplatformsandreducethenumberofvariations• Automatethedeploymentandprovisioningprocessesusingthesamedeploymentmechanism

foreveryenvironment.• Enableautomatedself-servicedeploymentsforbothbuild,testanddeployment.• Automateasmanyofthemanualstepsaspossible,suchas:• Decoupledeployment(installation)fromrelease(makingafeatureavailabletotheuser)

Page 15: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

15

29©BlueHat,allrightsreserved

MeasurementandfeedbackTelemetrycanbedefinedasanautomatedcommunicationsprocessbywhichmeasurementsandotherdataarecollectedatremotepointsandaresubsequentlytransmittedtoreceivingequipmentformonitoring:• Inapplications• Intheenvironment• Inthedeploymentpipeline

KeyDevOpsindicators• Leadtime(requesttofulfilment)• Processtime(beginworktofulfilment)• Percentcompleteandaccurate(%C/A)

TheArtofMonitoring,byJamesTurnbull,2014

30©BlueHat,allrightsreserved

MeasurementandfeedbackBestpracticeCreatetelemetrytoenableseeingandsolvingproblems• Createacentralizedtelemetryinfrastructure• Createapplicationloggingtelemetrythathelpsproduction.Differentlogginglevels,someof

whichmayalsotriggeralerts,suchasDebug,Info,Warning,Error,Fatal• Createtheinfrastructureandlibrariesnecessarytomakeitaseasyaspossibleforanyonein

DevelopmentorOperationstocreatetelemetryforanyfunctionalitytheybuild• Createself-serviceaccesstotelemetryandinformationradiatorsAnalyzetelemetrytobetteranticipateproblemsandachievegoals• Usemeans,standarddeviationandanomalydetectiontechniquestodetectpotentialproblems.EnablefeedbacksoDevelopmentandOperationscansafelydeploycode• Usetelemetrytomakedeploymentssafer• Havedevelopersfollowworkdownstream.Oneofthemostpowerfultechniquesininteraction

anduserexperiencedesign(UX)iscontextualinquiry.Thisiswhentheproductteamwatchesacustomerusetheapplicationintheirnaturalenvironment,oftenworkingattheirdesk.

• Havedevelopersinitiallyself-managetheirproductionservice

Page 16: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

16

31©BlueHat,allrightsreserved

ContinuousDeliveryMaturityModel

ContinuousDelivery,ReliableSoftwareReleasesthroughBuild,Test,andDeploymentAutomation,byJezHumbleandDavidFarley,2010

PracticeBuildmanagementandcontinuousintegration

Environments anddeployment

Releasemanagementandcompliance Testing Datamanagement Configuration

management

Level3– Optimizing:Focusonprocessimprovement

Teamsregularlymeettodiscussintegrationproblemsandresolve

themwithautomation,fasterfeedback,andbetter

visibility.

Allenvironmentsmanagedeffectively.Provisioningfully

automated.Virtualizationusedif

applicable.

Operationsanddeliveryteams

regularlycollaboratetomanagerisks andreducecycletime.

Productionrollbacksrare.Defectsfound

andfixedimmediately.

Releasetoreleasefeedbackloopof

databaseperformanceand

deploymentprocess.

RegularvalidationthatCMpolicy

supportseffectivecollaboration,rapiddevelopment,andauditablechangemanagementprocesses.

Level2–Quantitatively

managed:Processmeasuredandcontrolled

Buildmetricsgathered, made

visible,andactedon.Buildsarenotleft

broken.

Orchestrateddeployments

managed.Releaseandrollback

processestested.

Environmentandapplicationhealthmonitoredand

proactivelymanaged.Cycletimemonitored.

Qualitymetrics andtrendstracked.Non

functionalrequirementsdefined

andmeasured.

Databaseupgradesandrollbackstested

witheverydeployment.Database

performancemonitoredandoptimized.

Developerscheckintomainlineatleast

onceaday.Branchingonlyusedforreleases.

Level1– Consistent:Automatedprocessesappliedacrosswholeapplicationlifecycle

Automatedbuildandtestcycleeverytime

achangeiscommitted.

Dependenciesmanaged.Re-useofscriptsandtools.

Fullyautomated,self-servicepush-buttonprocessfordeploying

software.Sameprocesstodeploytoeveryenvironment.

Changemanagementandapprovals

processesdefinedandenforced.Regulatoryandcompliance

conditionsmet.

Automatedunitandacceptancetests,thelatterwrittenwithtesters.Testingpartofdevelopment

process.

Databasechangesperformed

automaticallyaspartofdeployment

process.

Librariesanddependencies

managed. Versioncontrolusagepolicies

determinedbychangemanagement

process.

Level0– Repeatable:Processdocumentedandpartlyautomated

Regularautomatedbuildandtesting.Any

buildcanbere-created fromsource

controlusingautomatedprocess.

Automateddeploymenttosome

environments.Creationofnewenvironmentsis

cheap. Allconfigurationexternalized/versioned.

Painfulandinfrequent,butreliable,releases.Limitedtraceable

fromrequirementstorelease.

Automatedtestswrittenaspartofstorydevelopment.

Changestodatabasesdonewithautomatedscriptsversionedwith

application.

Versioncontrolinuseforeverything

requiredtorecreatesoftware:source

code,configuration,buildanddeployscripts,datamigrations.

Level-1– Regressive:Processes

unrepeatable,poorlycontrolled,and

reactive

Manual processesforbuildingsoftware.No

managementofartefactsandreports.

Manualprocessfordeployingsoftware.Environment-specific

binaries.Environmentsprovisionedmanually.

Infrequentandunreliablereleases.

Manualtestingafterdevelopment.

Datamigrationsunversioned and

performedmanually.Versioncontroleithernotused,orcheck-inshappeninfrequently.

32©BlueHat,allrightsreserved

Principles,Concepts,PracticesandPeople

1. Flow2. Feedback3. Continual

learningandimprovement

PRINCIPLES

1. Product2. Valuestream3. Loosely-coupled

architecture4. Autonomous

teams

CONCEPTS

1. Continuousintegration

2. Fastandreliableautomatedtesting

3. Continuousandautomateddeployment/provisioning

4. Measurementandfeedback

PRACTICES

1. Customercentric2. End-to-end

responsibility3. Collaboration4. Learningand

improvement5. Experimentation

andrisktaking

PEOPLE

Page 17: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

17

33©BlueHat,allrightsreserved

Customer-centricItisimperativetohaveshortfeedbackloopswithrealcustomersandend-users.Therefore,allactivitiesinvolvedinbuildingITproductsandservicesshouldrevolvearoundcustomers.

Eightcapabilitiesforcustomer-centricorganizations,byMichaelHinshaw

Deliveringon

CustomerCentricity

Defineyourtargetcustomers Learn

howcustomersfeelaboutyourproduct

Aligntechnologiesandprocessestocustomer

needs

Mapandimprovecustomerjourneys

Engageleadershipand

staff

Transformyourcultureandrewardsystems

Measureyour

performanceusing

customer-centricmetrics

Incorporatecustomer

feedbackintoexperiencedesign

Customerobjectives,theVoiceof

Customer(VoC)

Attenddemos,implementuserfeedbackintoa

storyboard,allowcustomerstowriteaboutproduct,

organizepeoplearoundtheproductetc.

34©BlueHat,allrightsreserved

End-to-endresponsibilityInaDevOpsorganization,teamsareverticallyorganizedsothattheycanbefullyaccountablefortheproductsandservicestheydeliver.End-to-endresponsibilitymeansthattheteamholdsitselfaccountableforthequalityandquantityofservicesitprovidestoitscustomers.

Design

Develop

Integrate

Test

Deploy

Deliver

Productteam

Productteam

Productteam

Productteam

End-to-endresponsible

Productowner

Operationsengineer

Developer

QA/Tester InfoSec

Releasemanager

Page 18: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

18

35©BlueHat,allrightsreserved

CollaborationCollaborationmeanssharedorganizationalgoals,empathyandlearningbetweendifferentpeople

VisualManagementisoneofthestrongesttoolstostimulatecollaborationandensuresthatpitfallsareuncovered.Thetoolhelpsensuretheworkdonebyateamisconstantlyvisibleonboardsincluding:• Identifyworkandimpediments.• Communicateimportantinformation.• Showhowtoperformatask.• Showplanningandpriorities.

Initsmostbasicform,VisualManagementincludesthreeboards,asshowninthefigure.

Dayboard Weekboard

Improvementboard

ProblemsProblems

36©BlueHat,allrightsreserved

LearningandimprovementWithinacomplexsystem,itisimpossiblefortopredictalltheoutcomesfortheactionswetakeToworkwithincomplexsystems,wemustthereforebecomeeverbetterat• self-diagnostics (e.g.decreaseincidenttolerancestofindever-weakerfailuresignals,by

amplifyingweakfailuresignals,etc.)• problemsolving(i.e.problemdetectionandsolving)• self-improvement (e.g.constantlylearning,fosteringahypothesis-drivenculturewherethe

scientificmethodisusedtoensurenothingistakenforgranted,test-drivendevelopment,etc.)• sharingknowledgeandlessonslearned(e.g.hackdaysorhackathons,communitiesofpractice,

useofchatroomsandchatbotstoautomateandcaptureorganizationalknowledge– considerputtingautomationtoolsintothemiddleoftheconversationinchatrooms,helpingcreatetransparencyanddocumentation)

• convertlocaldiscoveriesintoglobalimprovements

Dev Ops

Page 19: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

19

37©BlueHat,allrightsreserved

ExperimentationandrisktakingDevOpsteamsmusthavethecouragetoexperiment,withthepotentialoffailure.Theyknowhowtofailfast,takethenextstep,orgobackacoupleofstepsundertimepressuretoensurethereisqualityatthesource.• Createanenvironmentinwhichpeopleperformatbest,wheretheyfeelinspired,wherethey

wanttobe,feelwelcomedandareencouragedtothinkoutofthebox.• Providetime,useinstantsandboxenvironment,removehurdles,applaudideas,failsafely.

Awardfailure!• Institutegamedaystorehearsefailures.Thegoalforagamedayistohelpteamssimulateand

rehearseaccidentstogivethemtheabilitytopractice.• Injectproductionfailures(Netflix:ChaosMonkeys)toenableresilienceandlearning,e.g.

simulatingserverfailuresbyconstantlyandrandomlykillingproductionservers• Providegoodcoffee,createniceandopenenvironments,investinadditionalfacilitieslikegames,

conductcontests,allowteamstomodify/tailortheofficetotheirneeds,etc.

THEREISNOINNOVATIONWITHOUTEXPERIMENTATION

38©BlueHat,allrightsreserved

Trainingandgettingstarted

1. Training

2. Furtherreading

TRAINING

1. Selectaproduct2. Understandand

makethevaluestreamvisible

3. Designorganisation

4. Designarchitecture

5. Integrateoperationsintothedailyworkofdevelopment

WHATNOW?

Page 20: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

20

39©BlueHat,allrightsreserved

DevOpstraining• DevOpsInstitute(http://devopsinstitute.com/)

• DevOpsFoundation• CertifiedAgileServiceManager(CASM)• CertifiedAgileProcessOwner(CAPO)• DevOpsTestEngineering(DTE)• ContinuousDeliveryArchitecture(CDA)• DevOpsLeader(DOL)

• DASA(DevOpsAgileSkillsAssociation)(https://www.devopsagileskills.org/the-competence-model/)

• DevOpsFundamentals• DevOpsPractitioner• DevOpsSpecialization– Enableandscale• DevOpsSpecialization– Specifyandverify• DevOpsSpecialization– CreateandDeliver

• EXIN (https://www.exin.com/en/certifications/exin-devops-master-exam)• DevOps Master

40©BlueHat,allrightsreserved

Furtherreading• TheDevOpsHandbook,byGeneKim,JezHumble,PatrickDebois andJohnWillis,2016• ThePhoenixProject,ANovelAboutIT,DevOps,andHelpingYourBusinessWin,ByGeneKim,

KevinBehr,andGeorgeSpafford,2013• TheLeanStartup,HowToday’sEntrepreneursUseContinuousInnovationtoCreateRadically

SuccessfulBusinesses,ByEricRies,2011• ContinuousDelivery,ReliableSoftwareReleasesthroughBuild,Test,andDeployment

Automation,ByJezHumbleandDavidFarley,2010

Links:• http://itrevolution.com/• https://www.devopsdays.org/• https://devops-research.com/• https://continuousdelivery.com/• https://devops.com/

Page 21: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

21

41©BlueHat,allrightsreserved

Trainingandgettingstarted

1. Training

2. Furtherreading

TRAINING

1. Selectaproduct2. Understandand

makethevaluestreamvisible

3. Designorganisation

4. Designarchitecture

5. Integrateoperationsintothedailyworkofdevelopment

WHATNOW?

42©BlueHat,allrightsreserved

Wheredoyoustart?

1.Selectaproduct

2.Understandandmakethevaluestreamvisible

3.Designorganisation

4.Designarchitecture

5.Integrateoperationsintothedailyworkofdevelopment

Owner

CommitIntegration

C/T=C/O=

%C/A=Uptime=

CommitUnit test

C/T=C/O=

%C/A=Uptime=

AcceptanceDeployment

C/T=C/O=

%C/A=Uptime=

Info

rmat

ion

flow

Wor

kflo

wTi

me

line 1d 0,5 d 0,5 d 1 d

4 hours 2 hours 30 min

Lead time(Non-value added time)

Processing time (Value added time)

I I

Agreeonasharedgoal.Keepimprovementplanning

horizonsshort.Reserve20%ofcyclesfornon-functionalrequirementsandreducing

technicaldebt

Theme

Epic Epic

Feature Feature Feature Feature

TimeStory Story

Story

Story Story

Story Story

Story Story Story

Sprint1MVP

Sprint2

Sprint3

Backlog

Priorities

Selectaproductthatisarchitected(orcouldbe

re-architected)fortestabilityanddeployability.

Productowner

Operationsengineer(Sysadmin,middleware,

DBA,etc.)

Developer

QA/Tester

InfoSecReleasemanager

Createadedicatedtransformationteamwiththeabilitytooperateoutsideoftherestoftheorganization.

Fundnotprojects,butservicesandproducts

Productteams

PaaS

IaaSPlatformteams

(API) SelfService

Createorre-architectloosely-

coupledarchitectures

Commitstage

(Build,package,continuousintegration,automatedunittests)

Acceptancestage

(Deployment,automatedacceptance

tests)

Exploratorytesting

(Manuallydetectdefectsnotcaughtbyautomated

tests)

UAT

(Useracceptancetesting–typicallymanual)

Staging

(Staginginenvironmentidenticaltoproduction,releasetheproduct tousers)

Production

1.Continuousintegration 2.Fastandreliableautomatedtesting

3.Continuous andautomateddeployment andprovisioning

4.Measurementandfeedback

Graduallydevelopaplatformthatprovidesasharedversioncontrolrepository,adeploymentpipelinethatautomaticallyrunscodequalityandsecurityscanningtools,whichdeploysapplicationsintoknown,goodenvironmentsthatalreadyhaveproductionmonitoringtoolsinstalledonthem

THINKMINIMUMVIABLEPIPELINE!

Page 22: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

22

43©BlueHat,allrightsreserved

Conclusion• Culture:Itinvolvescurrentvalues,beliefs,andattitudesthatsignifythecorporateenvironment

surroundingandsupporting development,operations,andQA.

• Automation:Itisthebeliefthatanythingcanbeeffectivelyautomatedtoimproveprocessesandreduceerrors.

• Lean:Itmeansreducingwaste,suchasteamsize,numberoftools,andmeetingfrequency,totheminimuminordertomaximizecustomervalue.

• Measure:Itreferstomeasuringeverythingandensuringthereare mechanismsbuilttoprovidevisibilityintoallsystemsandevents,whichshouldbeaccessiblethroughaunifiedinterface,likeadashboard.

• Sharing:Itisthenecessityofmaintainingcommunicationbetweendevelopmentandoperationsforaneffectiveintegrationbetweenthetwo.

TheCALMSacronymwasoriginallydevelopedbyJohnWillisandDamonEdwardsin2010,andlaterfurtherrefinedbyJezHumbleasameanstodescribeDevOps.

44©BlueHat,allrightsreserved

Questionsandcomments

Page 23: What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… · -introduction Christian F. Nissen, BlueHatP/S RESILIATM, ITIL® ... DevOps practices Commit

26/10/2017

23

45©BlueHat,allrightsreserved

Contact

ChristianF.Nissen

[email protected]+4540194145

BlueHat P/SWorldTradeCenterBallerupBorupvang3DK-2750BallerupCVR:37555908