Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Need for Speed - Practical Tips for Optimising your CI/CD Pipeline

117c1e7c12a469a052f1361b6599af31?s=47 Zan Markan
November 30, 2020

The Need for Speed - Practical Tips for Optimising your CI/CD Pipeline

Talk delivered at DevOps Oxford meetup on 2020/11/24

Abstract:

When developing software and maintaining CI/CD and testing pipelines we are often compelled to increase our test coverage by adding more tests, and therefore improve our apps’ quality. After all, more automation equals better software, right?
There’s a flipside to this equation however, and a point at which we start seeing diminishing returns from each test we add. Taken to extreme, these diminishing returns begin to actively harm our ability to deliver working software.

In this talk we will look at a tale of creating and taming a monster of an all day build (one that really happened to me once), and cover tips, tricks, and tools to help you avoid that scenario in the future - from obvious suggestions such a s adding resources to your build machines, to less obvious ones like removing tests altogether.

Image sources: Unsplash, Boeing, Personal archive

117c1e7c12a469a052f1361b6599af31?s=128

Zan Markan

November 30, 2020
Tweet

Transcript

  1. $^QEVOER 7KH1HHG )2563((' $^QEVOER

  2. $^QEVOER 7KH1HHG )2563((' 4VEGXMGEPXMTWJSVSTXMQMWMRK]SYV'-'(TMTIPMRIW [LIR]SYVXIWXWXEOIEPPHE] $^QEVOER

  3. $^QEVOER ǜ ,M-ƅQ>ERȶ 'MVGPI'-(IZIPSTIV%HZSGEXI -IREFPIIHYGEXIERHMRWTMVI HIZIPSTIVGSQQYRMXMIWMR 'MVGPI'-(IZ3TWERH'-'( XSTMGWEGVSWW)1)% X[MXXIVGSQ^QEVOER KMXLYFGSQ^QEVOER

  4. $^QEVOER 7KH1HHG )2563((' 4VEGXMGEPXMTWJSVSTXMQMWMRK]SYV'-'(TMTIPMRIW [LIR]SYVXIWXWXEOIEPPHE] $^QEVOER

  5. $^QEVOER

  6. $^QEVOER 7XSV]EFSYXER %PP(E]&YMPH $^QEVOER

  7. $^QEVOER $^QEVOER

  8. $^QEVOER $^QEVOER

  9. $^QEVOER

  10. $^QEVOER

  11. $^QEVOER $^QEVOER

  12. $^QEVOER $^QEVOER

  13. $^QEVOER

  14. $^QEVOER $^QEVOER

  15. $^QEVOER $^QEVOER

  16. $^QEVOER ,MRHWMKLXMW  $^QEVOER

  17. $^QEVOER 7KH1HHG )2563((' 4VEGXMGEPXMTWJSVSTXMQMWMRK]SYV'-'(TMTIPMRIW [LIR]SYVXIWXWXEOIEPPHE] $^QEVOER

  18. $^QEVOER 'MVGPI'- &YMPHTMTIPMRIHIƻRIHMR `$-' $‰*)!$"`4(' ;SVOƼS[W.SFW  'SQQERHW )\IGYXMSRIRZMVSRQIRX $^QEVOER

  19. $^QEVOER  +IXEFMKKIVQEGLMRI $^QEVOER

  20. $^QEVOER 6IWSYVGI'PEWWIW LXXTWGMVGPIGMGSQHSGWGSRƻKYVEXMSRVIJIVIRGIVIWSYVGICGPEWW

  21. $^QEVOER Ϫ(MQMRMWLMRKVIXYVRW $^QEVOER

  22. $^QEVOER   7IIO-RWMKLXW $^QEVOER

  23. $^QEVOER $^QEVOER

  24. $^QEVOER 8YRMRK[LEXƅWVYRRMRKؾ 6YRWYFWIXSJFYMPH  SRGSQQMX  SRQEMRFVERGL  SRVIPIEWIXEK 7OMTXIWXVYRW[MXLv.&$+g$w

  25. $^QEVOER   'EGLIMW /MRKȼ

  26. $^QEVOER (ITIRHIRGMIW LXXTWGMVGPIGMGSQHSGWGEGLMRK %VXMJEGXW LXXTWGMVGPIGMGSQHSGWTIVWMWXHEXE +MXWSYVGI LXXTWGMVGPIGMGSQHSGWGEGLMRKWSYVGIGEGLMRK (SGOIVPE]IVW LXXTWGMVGPIGMGSQHSGWHSGOIVPE]IVGEGLMRK 'EGLMRK

  27. $^QEVOER   +S4EVEPPIP $^QEVOER

  28. $^QEVOER 8IWX4EVEPPIPMWQ 9WMRK'MVGPI'-'0- 7TPMXF]XMQIREQIƻPIWM^I 1ERYEPP] 9WMRKIRZZEVW LXXTWGMVGPIGMGSQHSGWTEVEPPIPMWQJEWXIVNSFW

  29. $^QEVOER  +SSVKSʐ $^QEVOER

  30. $^QEVOER  8IEQ[SVO $^QEVOER

  31. $^QEVOER $^QEVOER

  32. $^QEVOER '-'(-70-/)%2 %1&90%2') $^QEVOER

  33. $^QEVOER '-'(0-/)%2%1&90%2') $^QEVOER 7LSYPHKSJEWX &YXEPWSVIPMEFP]

  34. $^QEVOER 2YQFIVWXSFEGOXLMWYT (EXEJVSQOTVSNIGXW Ɣ QMRWJSV[SVOƼS[ VYR Ɣ LVXSVIGSZIV] LXXTWGMVGPIGMGSQVIWSYVGIWWXEXISJWSJX[EVIHIPMZIV]

  35. $^QEVOER '-'(0-/)%2%1&90%2') $^QEVOER 7LSYPHKSJEWX &YXEPWSVIPMEFP] ERHMJ]SYWIIXLIPMKLXWERH WMVIRWƼEWLMRKKSƻ\MX%7%4

  36. $^QEVOER 7KH1HHG )2563((' 4VEGXMGEPXMTWJSVSTXMQMWMRK]SYV'-'(TMTIPMRIW [LIR]SYVXIWXWXEOIEPPHE] $^QEVOER

  37. $^QEVOER ;LIVIXSKSRI\X# ݶ۫GMVGPIGMGSQHIZIPSTIV ʗHMWGYWWGMVGPIGMGSQ ˁGMVGPIGMGSQFPSK $^QEVOER