“10+ Deploys per Day: Dev and Ops Cooperation at Flickr” - John Allspaw, Paul Hammond
Slide 17
Slide 18
Slide 19
Slide 20
Image credit: freepik
Slide 21
Slide 22
Slide 23
Slide 24
Image credit: ROELBOB at DevOps.com
Slide 25
Image credit: ROELBOB at DevOps.com
Slide 26
Image credit: ROELBOB at DevOps.com
Slide 27
Imagine you’re getting ready to ship something…
Slide 28
Slide 29
You press the big red button
Slide 30
click
Slide 31
Slide 32
silence
Slide 33
Do you… a) Sweat and wait to see if it blows up
Slide 34
Do you… a) Sweat and wait to see if it blows up b) Pack up, go home & enjoy your weekend
Slide 35
It all boils down to automation.
Slide 36
The green pastures of automation
Image source: Forbes
Slide 37
Slide 38
Image source: Horizon Zero Dawn
Slide 39
Image source: Demotivational
Slide 40
Continuous {Integration|Deployment}
Slide 41
Slide 42
Slide 43
Scrumban!
Slide 44
Slide 45
Slide 46
Quick History of CI/CD
1991
Slide 47
Quick History of CI/CD
1991
1997
Slide 48
Quick History of CI/CD
2001
1991
1997
Slide 49
Quick History of CI/CD
Slide 50
Quick History of CI/CD
Slide 51
Quick History of CI/CD
Slide 52
Software Development without CI/CD
Slide 53
Software Development without CI/CD
Image source: Oursky
Slide 54
CI == Continuous Integration
the practice of merging all developers’ working copies to a shared code repository
Code
Shared Code Repo
CI/CD Runtime
Test
Scan for Vulnerabilities
Build Website
Slide 55
CI == Continuous Integration ●
Merge code changes often
Code
Shared Code Repo
CI/CD Runtime
Test
Scan for Vulnerabilities
Build Website
Slide 56
CI == Continuous Integration ● ●
Merge code changes often Run automated tests to validate builds
Code
Shared Code Repo
CI/CD Runtime
Test
Scan for Vulnerabilities
Build Website
Slide 57
CI == Continuous Integration ● ● ●
Merge code changes often Run automated tests to validate builds Only integrate tested code into code base
Code
Shared Code Repo
CI/CD Runtime
Test
Scan for Vulnerabilities
Build Website
Slide 58
CI == Continuous Integration ● ● ● ●
Merge code changes often Run automated tests to validate builds Only integrate tested code into code base Changes frequently merged into release branches
Code
Shared Code Repo
CI/CD Runtime
Test
Scan for Vulnerabilities
Build Website
Slide 59
Image credit: Product Coalition
Slide 60
CD == Continuous Deployment the practice of automatically deploying new software releases to target environments
Build Website
Server deployment
Active Users
Slide 61
CD == Continuous Deployment ●
Build Website
Faster release cycles
Server Deployment
Active Users
Slide 62
CD == Continuous Deployment ● ●
Build Website
Faster release cycles Low-risk releases
Server Deployment
Active Users
Slide 63
CD == Continuous Deployment ● ● ●
Build Website
Faster release cycles Low-risk releases Higher quality
Server Deployment
Active Users
Slide 64
CD == Continuous Deployment ● ● ● ●
Build Website
Faster release cycles Low-risk releases Higher quality Lower costs
Server Deployment
Active Users
Slide 65
Is CI/CD a TOOL?
Slide 66
Are there benefits to CI/CD?
Slide 67
CI/CD Benefits ● ● ● ● ● ●
Improve team productivity & efficiency Accelerate speed to market Identify product/market fit Release higher quality, more stable products Increase customer satisfaction Keep devs happy and shipping code
Slide 68
Implementing CI/CD
Slide 69
Make sure everyone is on the same page
Slide 70
Always start small
Slide 71
Do what works for you
Slide 72
Always measure
Slide 73
CI/CD Benchmarks
Throughput
Duration
At will
<10 minutes
Success Rate
90%
Mean Time to Recovery <1 hour
Slide 74
Better CI/CD Practices ●
Make testing an integral part of the dev process
Slide 75
Better CI/CD Practices ● ●
Make testing an integral part of the dev process Ensure testing environment mirrors production
Slide 76
Better CI/CD Practices ● ● ●
Make testing an integral part of the dev process Ensure testing environment mirrors production Use coding better practices, i.e. pair programming
Slide 77
Better CI/CD Practices ● ● ● ●
Make testing an integral part of the dev process Ensure testing environment mirrors production Use coding better practices, i.e. pair programming Automate the deploy workflow
Slide 78
Streamline deploy
Slide 79
Slide 80
Full Report
https://circle.ci/ssd2022
Slide 81
Thank you. For feedback and swag: circle.ci/jeremy
Timeline.jerdog.me IAmJerdog jerdog /in/jeremymeiss