Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1
1
SENSIBLE DEFAULTS FOR CI/CD IN 2019
Charles Korn
Ready to
make your
mark?
/careers
Sensible defaults for CI/CD in 2019
Charles Korn
👋
4
Some assumptions
5
6
Mean time 

to recovery
Deployment
frequency
Lead time 

to change
Change 

failure rate
7
Time
Seconds Minutes Hours Days Weeks
Dev working locally
Pipeline
Production
compilation unit tests
linting integration...
8
Image credit: mindgamesbrisbane.com
Sensible default?
9
Culture
Pipeline
10
Testing
Tooling
Development Deployment
Culture
Pipeline
11
Testing
Tooling
Development Deployment
12
Sensible default #2:
Trunk-based
development
🌴
13
Sensible default #3:
Pairing
🍐
Culture
Pipeline
14
Testing
Tooling
Development Deployment
15
Com
pile
Lint
U
nittest
Contracttest
Integration
test
Static
analysis
Journey
test
CFR
tests
D
eploy
to
pre-prod
Sm
oke...
16
Sensible default #4:
The pipeline is the

only way
$
17
Sensible default #5:
Decoupled pipelines
⛓
18
Sensible default #6:
Build once, 

use everywhere
☝
19
Sensible default #7:
Two (or three)
environments
🏭
Culture
Pipeline
20
Testing
Tooling
Development Deployment
21
Sensible default #8:
Deployment ≠ release
🎉
22
Sensible default #9:
Automated 

deployments
🤖
23
Sensible default #1:
Continuous

Deployment
✨
24
Sensible default #10:
Zero-downtime
deployments
⏱
25
Sensible default #11:
Gradual

deployments
🦜
26
Sensible default #12:
Verified

deployments
🦜
💨
27
Sensible default #13:
Roll forward
➡
Culture
Pipeline
28
Testing
Tooling
Development Deployment
29
Sensible default #14:
Always be testing
🔬
30
Sensible default #15:
CFRs in pipeline
🔨
31
Sensible default #16:
Automated, repeatable,
isolated tests
⚙
Culture
Pipeline
32
Testing
Tooling
Development Deployment
33
Sensible default #17:
The pipeline is not
special
🎲
34
Sensible default #18:
Automated 

compliance
📋
35
Sensible default #19:
Pipeline is code
📜
36
Sensible default #20:
Config is code
📚
37
Sensible default #21:
Logging, monitoring

and alerting owned by
dev team
🚨
38
Sensible default #22:
Synthetic monitoring
🧐
Culture
Pipeline
39
Testing
Tooling
Development Deployment
40
Sensible default #23:
You build it, you run it

(it breaks, you wake)
🛌
Culture
Pipeline
41
Testing
Tooling
Development Deployment
How can I make this happen?
42
Establish Continuous Deployment as goal

and work backwards
43
44
Sensible default #24:
Paved roads and 

building blocks
🛣
Recap
45
46
Logging,
monitoring and
alerting owned
by dev team
Zero-downtime
deployments
Two (or three)
environments
Continuous
Dep...
47
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
What to Upload to SlideShare
Next
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

Share

Sensible defaults for CI and CD in 2019

Download to read offline

CI and CD are nothing new. But learning more about how to do them better is where we should be focusing our energy – the goal is after all to enhance our ability to deliver value.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Sensible defaults for CI and CD in 2019

  1. 1. 1 1 SENSIBLE DEFAULTS FOR CI/CD IN 2019 Charles Korn
  2. 2. Ready to make your mark? /careers
  3. 3. Sensible defaults for CI/CD in 2019 Charles Korn
  4. 4. 👋 4
  5. 5. Some assumptions 5
  6. 6. 6 Mean time 
 to recovery Deployment frequency Lead time 
 to change Change 
 failure rate
  7. 7. 7 Time Seconds Minutes Hours Days Weeks Dev working locally Pipeline Production compilation unit tests linting integration tests business metrics customer feedbackincidents technical metricsperformance tests security scanning
  8. 8. 8 Image credit: mindgamesbrisbane.com
  9. 9. Sensible default? 9
  10. 10. Culture Pipeline 10 Testing Tooling Development Deployment
  11. 11. Culture Pipeline 11 Testing Tooling Development Deployment
  12. 12. 12 Sensible default #2: Trunk-based development 🌴
  13. 13. 13 Sensible default #3: Pairing 🍐
  14. 14. Culture Pipeline 14 Testing Tooling Development Deployment
  15. 15. 15 Com pile Lint U nittest Contracttest Integration test Static analysis Journey test CFR tests D eploy to pre-prod Sm oke testD eploy to prod Sm oke test D ependency license check D ependency
 vulnerability
 check D ependency
 update
 check Image credit: https://martinfowler.com/bliki/TestPyramid.html Com m it
  16. 16. 16 Sensible default #4: The pipeline is the
 only way $
  17. 17. 17 Sensible default #5: Decoupled pipelines ⛓
  18. 18. 18 Sensible default #6: Build once, 
 use everywhere ☝
  19. 19. 19 Sensible default #7: Two (or three) environments 🏭
  20. 20. Culture Pipeline 20 Testing Tooling Development Deployment
  21. 21. 21 Sensible default #8: Deployment ≠ release 🎉
  22. 22. 22 Sensible default #9: Automated 
 deployments 🤖
  23. 23. 23 Sensible default #1: Continuous
 Deployment ✨
  24. 24. 24 Sensible default #10: Zero-downtime deployments ⏱
  25. 25. 25 Sensible default #11: Gradual
 deployments 🦜
  26. 26. 26 Sensible default #12: Verified
 deployments 🦜 💨
  27. 27. 27 Sensible default #13: Roll forward ➡
  28. 28. Culture Pipeline 28 Testing Tooling Development Deployment
  29. 29. 29 Sensible default #14: Always be testing 🔬
  30. 30. 30 Sensible default #15: CFRs in pipeline 🔨
  31. 31. 31 Sensible default #16: Automated, repeatable, isolated tests ⚙
  32. 32. Culture Pipeline 32 Testing Tooling Development Deployment
  33. 33. 33 Sensible default #17: The pipeline is not special 🎲
  34. 34. 34 Sensible default #18: Automated 
 compliance 📋
  35. 35. 35 Sensible default #19: Pipeline is code 📜
  36. 36. 36 Sensible default #20: Config is code 📚
  37. 37. 37 Sensible default #21: Logging, monitoring
 and alerting owned by dev team 🚨
  38. 38. 38 Sensible default #22: Synthetic monitoring 🧐
  39. 39. Culture Pipeline 39 Testing Tooling Development Deployment
  40. 40. 40 Sensible default #23: You build it, you run it
 (it breaks, you wake) 🛌
  41. 41. Culture Pipeline 41 Testing Tooling Development Deployment
  42. 42. How can I make this happen? 42
  43. 43. Establish Continuous Deployment as goal
 and work backwards 43
  44. 44. 44 Sensible default #24: Paved roads and 
 building blocks 🛣
  45. 45. Recap 45
  46. 46. 46 Logging, monitoring and alerting owned by dev team Zero-downtime deployments Two (or three) environments Continuous Deployment Decoupled pipelines Build once, 
 use everywhere The pipeline is not special Synthetic monitoring Always be testing Automated, repeatable, isolated tests Pairing The pipeline is the only way Roll forward Gradual deployments Config is code You build it, 
 you run it Automated deployments Paved roads and building blocks Trunk-based development CFRs in pipeline Deployment 
 ≠ release Pipeline is code Automated compliance Verified deployments
  47. 47. 47
  • ravikunapareddy

    Oct. 14, 2020
  • powerirs

    Mar. 22, 2020
  • vikasbhatnagar925

    Oct. 29, 2019

CI and CD are nothing new. But learning more about how to do them better is where we should be focusing our energy – the goal is after all to enhance our ability to deliver value.

Views

Total views

934

On Slideshare

0

From embeds

0

Number of embeds

2

Actions

Downloads

4

Shares

0

Comments

0

Likes

3

×