WANT TO SUCCESSFULLY ADOPT DEVOPS? CHANGE EVERYTHING.

THE CHANGES IN TODAY’S TALK ▸ 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

WHO AM I? ▸ From Seattle, Washington, USA ▸ Technology Evangelist at ThoughtWorks ▸ DevOpsDays Organizer ▸ @kmugrage on Twitter @kmugrage https://www.gocd.org

REDEFINE WORDS FOR YOUR ORGANIZATION

WHAT ISN’T DEVOPS ▸ A Toolset ▸ A Role ▸ A Team @kmugrage https://www.gocd.org

IT’S VERBS, NOT NOUNS developING and operatING @kmugrage

CAMS ▸ Culture ▸ Automation ▸ Measurement ▸ Sharing https://blog.chef.io/2010/07/16/what-devops-means-to-me/ @kmugrage https://www.gocd.org

CALMS ▸ Culture ▸ Automation ▸ Lean ▸ Measurement ▸ Sharing https://blog.chef.io/2010/07/16/what-devops-means-to-me/ @kmugrage https://www.gocd.org

“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/

CHANGE YOUR ORG TO ENABLE DEVOPS

TRADITIONAL MODEL Development Teams @kmugrage Testing Team Operations Team

“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

TRADITIONAL MODEL Development Teams @kmugrage QA Team Operations Team

RENAMING OPS WON’T SOLVE THE ISSUE Development Teams @kmugrage QA Team DevOps Team

CREATING ANOTHER SILO DOESN’T SOLVE SILOS Development Teams QA Team DevOps Team @kmugrage Operations Team

PRODUCT TEAMS @kmugrage

“YOU BUILD IT, YOU RUN IT” –Werner Vogels, Amazon @kmugrage https://queue.acm.org/detail.cfm?id=1142065

“GIVING DEVELOPERS OPERATIONAL RESPONSIBILITIES HAS GREATLY ENHANCED THE QUALITY OF THE SERVICES, BOTH FROM A CUSTOMER AND A TECHNOLOGY POINT OF VIEW. THE TRADITIONAL MODEL IS THAT YOU TAKE YOUR SOFTWARE TO THE WALL THAT SEPARATES DEVELOPMENT AND OPERATIONS, AND THROW IT OVER AND THEN FORGET ABOUT IT. NOT AT AMAZON. YOU BUILD IT, YOU RUN IT. THIS BRINGS DEVELOPERS INTO CONTACT WITH THE DAY-TO-DAY OPERATION OF THEIR SOFTWARE. IT ALSO BRINGS THEM INTO DAY-TO-DAY 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

USE MODERN ARCHITECTURES AND TECHNOLOGIES

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

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

PRODUCT TEAMS Rental Cars Consumer Business to Business Tax Payments Hotels @kmugrage Airlines

HOMEWORK @kmugrage http://nealford.com/books/ http://samnewman.io/books/building_microservices/

WE STILL HAVE TO DEPLOY SOMEWHERE

CAR AS A SERVICE @kmugrage https://www.k3syspro.com/cloud-computing-choosing-right-deployment-method/

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/

THE CLOUD IS JUST SOMEBODY ELSE’S COMPUTER Someone at every conference @kmugrage

PRODUCT TEAMS @kmugrage

PRODUCT TEAMS Platform Team @kmugrage Compliance Team Security Team

https://commons.wikimedia.org/wiki/File:Continous_Delivery_by_Jez_Humble _and_David_Farley.jpg USE CONTINUOUS DELIVERY TO SAFELY DEPLOY MORE OFTEN

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/

MORE HOMEWORK @kmugrage

CONTINUOUS DELIVERY IS WHAT YOU “DO” AS PART OF A DEVOPS CULTURE Me @kmugrage

A PREREQUISITE TO CD CONTINUOUS INTEGRATION

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/

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/

ARE YOU PRACTICING CI? @kmugrage

CONTINUOUS DELIVERY PIPELINE @kmugrage

CD VS CD @kmugrage http://gofor.cd/cd_vs_cd

OUR TEAMS Product Team @kmugrage Security Team Compliance Team

OUR CONTINUOUS DELIVERY PIPELINE UNIT TESTS @kmugrage FUNCTIONAL TESTS DEPLOY STAGING DEPLOY PRODUCTION

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

…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/

THE PURPOSE OF A CONTINUOUS DELIVERY PIPELINE IS TO KILL A RELEASE CANDIDATE Me, and a lot of other people @kmugrage

OUR CONTINUOUS DELIVERY PIPELINE UNIT TESTS FUNCTIONAL TESTS DEPLOY STAGING SECURITY TESTS (OWASP, OTHERS) COMPLIANCE TESTS (SERVERSPEC, INSPEC) @kmugrage DEPLOY PRODUCTION

SORRY, THERE’S NO SILVER BULLET BUT THESE ARE SOLVED PROBLEMS AND THERE IS A LOT OF HELP

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

For more information about our products https://www.thoughworks.com/products/ https://www.gocd.org/