agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be
TRANSCRIPT
![Page 1: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/1.jpg)
Abraham Marin-Perez@AbrahamMarin
fromfragiletoagile.com
Keeping Your CI / CD Pipeline as Fast as It Needs to Be
#FastCI @AbrahamMarin @EqualExperts
![Page 2: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/2.jpg)
About Me
![Page 3: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/3.jpg)
About Me
![Page 4: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/4.jpg)
About Me
![Page 5: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/5.jpg)
About Me
![Page 6: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/6.jpg)
About Me
![Page 7: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/7.jpg)
About Me
![Page 8: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/8.jpg)
About Me
![Page 9: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/9.jpg)
About This Talk
![Page 10: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/10.jpg)
About This Talk
![Page 11: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/11.jpg)
About This Talk
![Page 12: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/12.jpg)
About This Talk
![Page 13: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/13.jpg)
About This Talk
![Page 14: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/14.jpg)
![Page 15: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/15.jpg)
Slow feedback
Impact on ability to meet our SLAs
Pay per use
The Problems Of Size
![Page 16: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/16.jpg)
![Page 17: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/17.jpg)
SUPER APP
# Files: 169# Tests: 1800Build Time: 9 minOutput: superapp.war
APP BACKEN
DSUPER
APP
# Files: 115# Tests: 1200Build Time: 6 minOutput: superapp.war
# Files: 72# Tests: 800Build Time: 4 minOutput: appbackend.jar
![Page 18: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/18.jpg)
Microservices?
![Page 19: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/19.jpg)
Microservices
![Page 20: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/20.jpg)
Microservices
![Page 21: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/21.jpg)
Microservices
![Page 22: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/22.jpg)
Microservices
![Page 23: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/23.jpg)
Microservices
![Page 24: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/24.jpg)
Microservices
![Page 25: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/25.jpg)
Build Pipeline Becomes a Network
![Page 26: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/26.jpg)
![Page 27: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/27.jpg)
A real case scenario
![Page 28: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/28.jpg)
Service
Service
Service
Parent POM
Logging
![Page 29: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/29.jpg)
Service
Service
Service
Parent POM
Logging
28%
![Page 30: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/30.jpg)
Service
Service
Service
Parent POM
Logging
28%28%
28%
![Page 31: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/31.jpg)
Service
Service
Service
Parent POM
Logging
28%28%
28%
20%
![Page 32: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/32.jpg)
Service
Service
Service
Parent POM
Logging
48%
28%
28%
20%
![Page 33: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/33.jpg)
Service
Service
Service
Parent POM
Logging
Highest runfrequency
Lowest runfrequency
![Page 34: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/34.jpg)
Service
Service
Service
Highest runfrequency
Lowest runfrequency
![Page 35: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/35.jpg)
Build Time (BT): time an individual build takes to run
Change Rate (CR): percentage of commits upon an individual build with respect to the whole system
Useful Metrics
![Page 36: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/36.jpg)
Service
Service
Service
Highest runfrequency
Lowest runfrequency
![Page 37: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/37.jpg)
Service
Service
Service
Parent POM
Logging
28%
![Page 38: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/38.jpg)
Impact Time (IT): total time to run a build and all the builds that will be triggered as a result
Useful Metrics
![Page 39: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/39.jpg)
No dependants IT(A) = BT(A)
A
Useful Metrics
![Page 40: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/40.jpg)
Serial execution IT(A) = BT(A) + IT(B) + IT(C)
B
A
C
Useful Metrics
![Page 41: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/41.jpg)
Parallel execution IT(A) = BT(A) + max(IT(B), IT(C))
B
A
C
Useful Metrics
![Page 42: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/42.jpg)
Service
Service
Service
Highest runfrequency
Lowest runfrequency
![Page 43: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/43.jpg)
Weighted Impact Time (WIT): impact time of a build weighted according to its change rage
WIT(A) = IT(A) * CR(A)
Useful Metrics
![Page 44: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/44.jpg)
Average Impact Time (AIT): total time needed, on average, to execute all necessary builds after any given commit anywhere in the system
AIT = WIT(A) + WIT(B) + ... + WIT(Z)
Useful Metrics
![Page 45: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/45.jpg)
Sample Thresholds
![Page 46: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/46.jpg)
Average Impact Time
Average Impact Time is what indicates how well you have scaled your system
Sample Thresholds
![Page 47: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/47.jpg)
Maximum Impact Time
In a worst-case scenario, a build won’t take longer than this.
Sample Thresholds
![Page 48: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/48.jpg)
Maximum Impact Time for Critical Components
The same, but only for your most sensitive modules (log-in, payment gateway, etc.)
Beware of dependencies!
Sample Thresholds
![Page 49: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/49.jpg)
Service
Service
Service
Highest runfrequency
Lowest runfrequency
![Page 50: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/50.jpg)
Manual processingtakes time...
![Page 51: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/51.jpg)
https://commons.wikimedia.org/wiki/File:2012_Italian_GP_-_Lotus_wheel.jpg
![Page 52: Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be](https://reader036.vdocument.in/reader036/viewer/2022070523/58ec993e1a28abc8388b46c7/html5/thumbnails/52.jpg)
Thank You
@EqualExperts
equal-experts
equalexperts.com
Thank You
fromfragiletoagile.com@AbrahamMarin
#FastCI