What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… ·...
Transcript of What is DevOps?itsmf.dk/Admin/Public/DWSDownload.aspx?File=/Files/Filer/Konferen… ·...
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?
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
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
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
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
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
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
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)
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
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
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
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
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
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)
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
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
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
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
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?
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/
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!
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
26/10/2017
23
45©BlueHat,allrightsreserved
Contact
ChristianF.Nissen
[email protected]+4540194145
BlueHat P/SWorldTradeCenterBallerupBorupvang3DK-2750BallerupCVR:37555908