Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

55
RELEASE ENGINEERING & RUGGED DEVOPS: AN INTERSECTION? J. PAUL REED RELEASE ENGINEERING APPROACHES

Transcript of Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Page 1: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

R E L E A S E E N G I N E E R I N G & R U G G E D D E V O P S :

A N I N T E R S E C T I O N ?

J . PA U L R E E D R E L E A S E E N G I N E E R I N G A P P R O A C H E S

Page 2: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Wait, this looks familiar…

@jpaulreed #RuggedDevOps

Page 3: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

@jpaulreed #RuggedDevOps

Page 4: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

R E L E A S E E N G I N E E R I N G & R U G G E D D E V O P S :

A N I N T E R S E C T I O N !

J . PA U L R E E D R E L E A S E E N G I N E E R I N G A P P R O A C H E S

D E V O P S C O N N E C T AT

R S A C O N F E R E N C E

( 2 . 0 )

Page 5: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

J . PA U L R E E D

• @jpaulreed on

• Managing Partner, Release Engineering Approaches

• 15+ years build/release engineering experience

• Alum of The Ship Show podcast

• Today: “A DevOps Consultant™”

• Master of Science candidate in Human Factors and Systems Safety

@jpaulreed #RuggedDevOps

@jpaulreed #RuggedDevOps

Page 6: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

H O W D O T H E Y I N T E R S E C T ?

R E L E A S E E N G I N E E R I N G A N D R U G G E D D E V O P S :

@jpaulreed #RuggedDevOps

Page 7: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

R E L E A S E E N G I N E E R I N G / S E C U R I T Y O P E R AT I O N S S I M I L A R I T Y C H E C K L I S T

• We look… “a little off” to developers & the business™.

• We both can often be found shoveling DevOps Unicorn poop.

@jpaulreed #RuggedDevOps

Page 8: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

@petecheslock

DevOps

Sec

@hijinksensue(via @petecheslock)@jpaulreed #RuggedDevOps

Page 9: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

R E L E A S E E N G I N E E R I N G / S E C U R I T Y O P E R AT I O N S S I M I L A R I T Y C H E C K L I S T

• We look… “a little off” to developers & the business™.

• We both can often be found shoveling DevOps Unicorn poop.

• Including our work in project plans/scoping/requirements: maybe?

• But when “it” breaks, suddenly: all eyes on us. Really angry eyes.

• We have a reputation for “No.”

• The nature of our roles is undergoing a fundamental shift.

• The industry is starting to “get it.”@jpaulreed #RuggedDevOps

Page 10: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

How does Release

Engineering impact/

relate to/ converge with

Security?@jpaulreed #RuggedDevOps

Page 11: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

R E L E A S E E N G I N E E R I N G ’ S I M PA C T T O / R E L AT I O N W I T H S E C U R I T Y O P S

• Software Supply Chains

@jpaulreed #RuggedDevOps

Page 12: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

One vulnerable library in your product

is a security problem.

Multiple versions of a vulnerable library in your product

is a release engineering problem. — @jpaulreed

@jpaulreed #RuggedDevOps

Page 13: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

R E L E A S E E N G I N E E R I N G ’ S I M PA C T T O / R E L AT I O N W I T H S E C U R I T Y O P S

• Software Supply Chains

• “Old-fashioned” software delivery mechanisms

• Artifact management

• The bold new world of containers

• Every versioning bikeshed ever@jpaulreed #RuggedDevOps

Page 14: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

What Did We Find Out?

@jpaulreed #RuggedDevOps

Page 15: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

1. The ways in which we consume software continue to be problematic.

@jpaulreed #RuggedDevOps

Page 16: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

1. The ways in which we consume software continue to be problematic.

2. The ways in which we produce software continue to be problematic.

@jpaulreed #RuggedDevOps

Page 17: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

1. The ways in which we consume software continue to be problematic

2. The ways in which we produce software continue to be problematic

3. In many cases, we ignoring heuristics that can help us

@jpaulreed #RuggedDevOps

Page 18: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Problematic Consumption

@jpaulreed #RuggedDevOps

Page 19: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

We are stitching our software together

from more places than ever!

Page 20: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Your software supply chain may have more actors involved than you think!

@jpaulreed #RuggedDevOps

Page 21: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Knowing exactly what you’re getting can be difficult…

@jpaulreed #RuggedDevOps

Page 22: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Making sense of what you have

can be difficult.

@jpaulreed #RuggedDevOps

Page 23: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

The good news: this problem has been solved for about 20 years

@jpaulreed #RuggedDevOps

Page 24: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

https://github.com/preed/git-vendor-mirror@jpaulreed #RuggedDevOps

Page 25: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

C V S V E N D O R B R A N C H E S , G I T S T Y L E

• Creates a copy of artifacts, so they’re under your control

• Supports a standardized version format (but you can use your own because bike shedding!)

• Custom-patch to your heart’s content (and be able to track them!)

• Supports developer interaction with “standard forks.”@jpaulreed #RuggedDevOps

Page 26: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

@jpaulreed #RuggedDevOps

Page 27: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Much easier to just understand what’s going on

@jpaulreed #RuggedDevOps

Page 28: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Records information you care about, automatically

@jpaulreed #RuggedDevOps

Page 29: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Problematic Production

@jpaulreed #RuggedDevOps

Page 30: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

A L L A B O A R D T H E S S D O C K E R !

@jpaulreed #RuggedDevOps

Page 31: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

S O W H AT ’ S I N A C O N TA I N E R , A N Y W AY ?

You don’t know.@jpaulreed #RuggedDevOps

Page 32: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

“The majority of people using Docker are using images containing an entire operating system filesystem.”

Presentation:

https://speakerdeck.com/garethr/whats-inside-that-container

@jpaulreed #RuggedDevOps

Page 33: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Vine’s source code, leaked via Docker images.@jpaulreed #RuggedDevOps

Page 34: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

@jpaulreed #RuggedDevOps

Page 35: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

More continuous integration, continuous delivery, and

orchestration tools than ever!

Page 36: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

More attack surface

than ever!

Page 37: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

We’re all applying speed and scale

to our CD pipelines.

And they may need to have a little more security…

and a little less speed and scale. — Security researcher

@jpaulreed #RuggedDevOps

Page 38: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Missed Heuristics

@jpaulreed #RuggedDevOps

Page 39: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

U S E F U L H E U R I S T I C S W E C A N M I S S

Build Processes Taking A Lot of Time@jpaulreed #RuggedDevOps

Page 40: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

U S E F U L H E U R I S T I C S W E C A N M I S S

Build Processes You Can’t Do On a Train@jpaulreed #RuggedDevOps

Page 41: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

U S E F U L H E U R I S T I C S W E C A N M I S S

Build Artifacts You Shipped, But Can’t Find Later@jpaulreed #RuggedDevOps

Page 42: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Think of it as housecleaning.

Software bugs are like cockroaches: they hide in the darkest, messiest parts of your code.

To get rid of cockroaches, you wouldn’t hunt them down one-by-one. Instead, you’d clean up the house and get rid of their hiding places.

Do the same in your code.

— My undergrad CS professor

@jpaulreed #RuggedDevOps

Page 43: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Where to Go

Now?@jpaulreed #RuggedDevOps

Page 44: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Introduce Your Release &

Security Engineers

@jpaulreed #RuggedDevOps

Page 45: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Task the Two Groups to Research

Your Software Supply Chain

@jpaulreed #RuggedDevOps

Page 46: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Start a project that engages other

teams with these practices

@jpaulreed #RuggedDevOps

Page 47: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

H O W D O T H E Y I N T E R S E C T ?

R E L E A S E E N G I N E E R I N G A N D R U G G E D D E V O P S :

@jpaulreed #RuggedDevOps

Page 48: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

H O W C A N W E E N G A G E A N D H E L P E A C H O T H E R M O R E ?

R E L E A S E E N G I N E E R I N G A N D R U G G E D D E V O P S :

@jpaulreed #RuggedDevOps

Page 49: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Let’s Find Out!

@jpaulreed #RuggedDevOps

Page 50: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Finally, Remember: Who Owns Your Software Supply

Chain?@jpaulreed #RuggedDevOps

Page 51: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

For a handy reminder: http://WhoOwnsMySoftwareSupplyChain.com@jpaulreed #RuggedDevOps

Page 52: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

J . PA U L R E E D

W W W. J PA U L R E E D . C O M @ J PA U L R E E D

W W W. R E L E A S E - A P P R O A C H E S . C O M S I M P LY S H I P. E V E R Y T I M E .

Page 53: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Get  my  slides  immediately  

[email protected]

Page 54: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed
Page 55: Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed

Our  sponsors  speak  your  language…  DevOps.