“YOU BUILD IT, YOU RUN IT”
–Werner Vogels, Amazon @kmugrage
Slide 2
“…IT ALSO BRINGS THEM INTO DAY-TODAY CONTACT WITH THE CUSTOMER. THIS CUSTOMER FEEDBACK LOOP IS ESSENTIAL FOR IMPROVING THE QUALITY OF THE SERVICE.” –Werner Vogels, Amazon @kmugrage
https://queue.acm.org/detail.cfm?id=1142065
Slide 3
YOU ONLY HAVE TO CHANGE ONE THING TO DO THE DEVOPS
Slide 4
YOU ONLY HAVE TO CHANGE ONE THING TO DO THE DEVOPS EVERYTHING
Slide 5
THE CHANGES IN TODAY’S TALK ▸ (Re)define words for your organization ▸ Change your organization to enable DevOps ▸ Use modern architectures and technologies
▸ Use Continuous Delivery to safely deploy more often
@kmugrage
https://www.gocd.org
Slide 6
WHO AM I? ▸ From Seattle, Washington, USA ▸ Technology Advocate at ThoughtWorks ▸ DevOpsDays Core Organizer
▸ @kmugrage on Twitter
@kmugrage
https://www.gocd.org
Slide 7
REDEFINE WORDS
FOR YOUR ORGANIZATION
Slide 8
WHAT ISN’T DEVOPS ▸ A Toolset ▸ A Role ▸ A Team
@kmugrage
https://www.gocd.org
Slide 9
IT’S VERBS, NOT NOUNS
developING and operatING
@kmugrage
“DEVOPS: A CULTURE WHERE PEOPLE, REGARDLESS OF TITLE OR BACKGROUND, WORK TOGETHER TO IMAGINE, DEVELOP, DEPLOY AND OPERATE A SYSTEM.” –Me @kmugrage
https://kenmugrage.com/2017/05/05/my-new-definition-of-devops/
Slide 13
CHANGE YOUR ORG
TO ENABLE DEVOPS
Slide 14
TRADITIONAL MODEL Development Teams
@kmugrage
Testing Team
Operations Team
Slide 15
“ANY ORGANIZATION THAT DESIGNS A SYSTEM (DEFINED BROADLY) WILL PRODUCE A DESIGN WHOSE STRUCTURE IS A COPY OF THE ORGANIZATION'S COMMUNICATION STRUCTURE.” –Mel Conway @kmugrage
http://www.melconway.com/Home/Conways_Law.html
Slide 16
TRADITIONAL MODEL Development Teams
@kmugrage
QA Team
Operations Team
Slide 17
RENAMING OPS WON’T SOLVE THE ISSUE Development Teams
@kmugrage
QA Team
DevOps Team
Slide 18
CREATING ANOTHER SILO DOESN’T SOLVE SILOS Development Teams
QA Team
DevOps Team @kmugrage
Operations Team
Slide 19
PRODUCT TEAMS
@kmugrage
Slide 20
USE MODERN
ARCHITECTURES AND TECHNOLOGIES
Slide 21
MONOLITHS CAN BE HARD ▸ All functionality is in one process ▸ Scale by replicating the monolith on multiple servers
@kmugrage
https://www.thoughtworks.com/insights/blog/microservices-nutshell
Slide 22
DEVELOP SMALLER PIECES MICROSERVICE ARCHITECTURE ▸ Each element of functionality is in a separate service ▸ Scale by distributing these services across servers, replicating as needed
@kmugrage
https://www.thoughtworks.com/insights/blog/microservices-nutshell
Slide 23
PRODUCT TEAMS
Rental Cars Consumer Business to Business Tax Payments
Hotels
@kmugrage
Airlines
CAR AS A SERVICE s
@kmugrage
https://www.k3syspro.com/cloud-computing-choosing-right-deployment-method/
Slide 27
AN EXAMPLE OF PLATFORM AS A SERVICE CLOUD.GOV ▸ Official service of the US Government ▸ 325 required security controls ▸ 269 handled by cloud.gov ▸ 41 shared ▸ 15 handled by customer
@kmugrage
https://cloud.gov/overview/technology/responsibilities/
Slide 28
THE CLOUD IS JUST SOMEBODY ELSE’S COMPUTER Someone at every conference @kmugrage
Slide 29
PRODUCT TEAMS
@kmugrage
Slide 30
PRODUCT TEAMS
Platform Team @kmugrage
Compliance Team
Security Team
Slide 31
https://commons.wikimedia.org/wiki/File:Continous_Delivery_by_Jez_Humble _and_David_Farley.jpg
USE CONTINUOUS DELIVERY
TO SAFELY DEPLOY MORE OFTEN
Slide 32
CONTINUOUS DELIVERY IS THE ABILITY TO GET CHANGES OF ALL TYPES—INCLUDING NEW FEATURES, CONFIGURATION CHANGES, BUG FIXES AND EXPERIMENTS—INTO PRODUCTION, OR INTO THE HANDS OF USERS, SAFELY AND QUICKLY IN A SUSTAINABLE WAY.
Jez Humble @kmugrage
https://continuousdelivery.com/
Slide 33
MORE HOMEWORK
@kmugrage
Slide 34
CONTINUOUS DELIVERY IS WHAT YOU “DO” AS PART OF A DEVOPS CULTURE Me @kmugrage
Slide 35
A PREREQUISITE TO CD
CONTINUOUS INTEGRATION
Slide 36
CI THEATRE The ThoughtWorks tech radar recently recommended putting a hold on the tech team anti-pattern, CI Theatre. CI Theatre describes the illusion of practicing continuous integration (CI) while not really practicing it.
@kmugrage
https://www.gocd.org/2017/05/16/its-not-CI-its-CI-theatre/
Slide 37
CI THEATRE
In another ThoughtWorks study only 10% of participants acknowledged that having a CI server was not the same as practicing CI. @kmugrage
https://www.gocd.org/2017/05/16/its-not-CI-its-CI-theatre/
Slide 38
ARE YOU PRACTICING CI?
@kmugrage
Slide 39
CONTINUOUS DELIVERY PIPELINE
@kmugrage
Slide 40
CD VS CD
@kmugrage
http://gofor.cd/cd_vs_cd
Slide 41
OUR TEAMS
Product Team
@kmugrage
Security Team
Compliance Team
Slide 42
OUR CONTINUOUS DELIVERY PIPELINE UNIT TESTS
@kmugrage
FUNCTIONAL TESTS
DEPLOY STAGING
DEPLOY PRODUCTION
Slide 43
EXAMPLES OF THINGS WHICH ARE BAD ▸ Deploying insecure software ▸ Deploying non-performant software ▸ Deploying non-complying software
▸ Deploying ineffective software
@kmugrage
https://www.gocd.org
Slide 44
…OF THE 106 COMPONENTS PER APPLICATION, THE REPORT’S ANALYSIS REVEALED AN AVERAGE OF 24 (I.E., 23%) HAVE KNOWN CRITICAL OR SEVERE SECURITY VULNERABILITIES… Derek Weeks @kmugrage
http://blog.sonatype.com/2015/06/rework-is-choking-software-2015-state-of-the-software-supply-chain-report/
Slide 45
THE PURPOSE OF A CONTINUOUS DELIVERY PIPELINE IS TO KILL A RELEASE CANDIDATE Me, and a lot of other people @kmugrage
SORRY, THERE’S NO SILVER BULLET
BUT THESE ARE SOLVED PROBLEMS AND THERE IS A LOT OF HELP
Slide 49
SUMMARY ▸ Redefine words for your organization ▸ Change your organization to enable DevOps ▸ Use modern architectures and technologies
▸ Use Continuous Delivery to safely deploy more often
@kmugrage
https://www.gocd.org