CI/CD FOR THE ENTERPRISE: TEACHING AN OLD DOG NEW TRICKS Open - - PowerPoint PPT Presentation

ci cd for the enterprise teaching an old dog new tricks
SMART_READER_LITE
LIVE PREVIEW

CI/CD FOR THE ENTERPRISE: TEACHING AN OLD DOG NEW TRICKS Open - - PowerPoint PPT Presentation

CI/CD FOR THE ENTERPRISE: TEACHING AN OLD DOG NEW TRICKS Open Infrastructure Summit 2019 Patrick Easters Sr. Software Applications Engineer May 1, 2019 THE PIPE DREAM CONTINUOUS CONTINUOUS INTEGRATION DELIVERY AUTOMATICALLY BUILD TEST


slide-1
SLIDE 1

CI/CD FOR THE ENTERPRISE: TEACHING AN OLD DOG NEW TRICKS

Open Infrastructure Summit 2019

Patrick Easters

  • Sr. Software Applications Engineer

May 1, 2019

slide-2
SLIDE 2

2

THE PIPE DREAM

CODE QUALITY SECURITY SCANNING CHANGE MGMT PORTFOLIO MGMT BUILD TEST AUTOMATICALLY DEPLOY TO PRODUCTION CONTINUOUS INTEGRATION CONTINUOUS DELIVERY

slide-3
SLIDE 3

3

THE SQUAD

WHO WE ARE

  • 22 people (managers, developers,

SREs, quality engineers, BAs)

  • Distributed across 3 states in the

US and 3 continents

WHAT WE DO

  • Build and maintain applications to

help Red Hat customers manage their subscriptions and access content

slide-4
SLIDE 4

4

WHERE WE BEGIN

  • Early stages of adopting DevOps practices, but still very siloed
  • IT Operations group performs majority of releases
  • Good use of Configuration Management, though it was complex
  • Averaged 2 releases/mo for our flagship application
slide-5
SLIDE 5

5

THE TERRIBLE, HORRIBLE, NO GOOD, VERY BAD RELEASE PROCESS

QA Ops Dev BA Manager Change Manager

Dev QA Stage Prod

Product Owner

PHASE

slide-6
SLIDE 6

6

THE TERRIBLE, HORRIBLE, NO GOOD, VERY BAD RELEASE PROCESS

slide-7
SLIDE 7

7

OPPORTUNITIES FOR IMPROVEMENT

  • Releases were a significant source of toil
  • Infrequent releases led to long cycle times
  • Confusing process
slide-8
SLIDE 8

8

PAAS TO THE RESCUE?

  • Red Hat IT launched new PaaS offering based on OpenShift 3
  • Application teams given access to their apps in production
  • Automated build and release jobs “for free”
slide-9
SLIDE 9

9

slide-10
SLIDE 10

10

CI/CD

slide-11
SLIDE 11

11

SCALING OUT

  • So far we’ve only migrated a few low-touch apps
  • Migrated our flagship app: access.redhat.com/management
  • Started a greenfield app: api.access.redhat.com/management
slide-12
SLIDE 12

SOLVING CONSTRAINTS

slide-13
SLIDE 13

13

DEV-ON-DEMAND

  • A single dev environment was no longer sufficient
  • Moved to short-lived instances following Merge Requests
  • Shifted left: code quality scans, unit tests
  • Quick feedback for QEs and BAs
slide-14
SLIDE 14

14

OPERATION “GO GREEN”

  • Many automated tests flickered and became unstable over time
  • Manual triage required by Quality Engineers
  • Conscious choice to allocate time for fixing tests instead of

developing new ones

slide-15
SLIDE 15

15

MODERNIZING CHANGE MANAGEMENT

  • Better risk categorization
  • Removed arbitrary lead time requirement and change freezes
  • Used “Standard Change” type that is pre-approved
  • Used ServiceNow API to open/close changes
slide-16
SLIDE 16

16

USER STORIES, NOT FAKE NEWS

  • Up-to-date Kanban board is important

○ WIP Limits ○ Current Status

  • Integrated pipeline with Rally APIs to move stories and create

milestones

slide-17
SLIDE 17

17

IT’S BEGINNING TO LOOK A LOT LIKE CI/CD

slide-18
SLIDE 18

MEASURING UP

slide-19
SLIDE 19

19

DELIVERY PERFORMANCE

ELITE HIGH MEDIUM LOW Deployment Frequency

  • n-demand

hourly-daily weekly-monthly weekly-monthly Change Lead Time <1h 1d - 1w 1w - 1m 1m - 6m MTTR <1h <1d <1d 1w - 1m Change Failure Rate 0-15% 0-15% 0-15% 46-60%

From DORA’s 2018 State of DevOps report

slide-20
SLIDE 20

20

RHSM WEB CHANGE RATE

Change Requests per Month

slide-21
SLIDE 21

21

LEAD TIME

slide-22
SLIDE 22

22

THE HUMAN FACTOR

“Our release process used to feel more like filing taxes, but now it’s more like sending money with Venmo”

slide-23
SLIDE 23

23

THE HUMAN FACTOR

“My favorite part of our CI/CD adoption has been the freedom to experiment: having disposable merge instances for giving early feedback, feature flags that let us try things with a targeted audience and fine-tune before turning on new functionality for the entire customer base, and even the experimentation that comes with every member of the team feeling empowered to try automating some piece

  • f our process.”
slide-24
SLIDE 24

24

THE HE-MAN FACTOR

“I am basically He-Man. By the power of CI/CD, I have the power*!”

*To push changes to production myself when an appropriate

threshold of quality and organizational preparedness, much of which is built into our pipelines, is met.

slide-25
SLIDE 25

Q+A

slide-26
SLIDE 26

THANK YOU

Email: peasters@redhat.com Twitter: @patrickeasters