@mongrelion - carlosleon.info
Portable
Pipelines
Vilnius, DevOpsPro Europe 2019
Slide 2
Slide 2 text
@mongrelion - carlosleon.info
Carlos León - @mongrelion
Strategic Consultant
All Things Cloud Native, DevOps, Programmable Infrastructure, Automation and Hang Gliding <3
Slide 3
Slide 3 text
@mongrelion - carlosleon.info
Agenda
1 CICD: The Basics
2 The Status Quo
3 CICD Tooling
4 Example
5 Portability
6 Q&A
Slide 4
Slide 4 text
Questions
https://sli.do
#devops2019
Slide 5
Slide 5 text
CICD: The Basics
Slide 6
Slide 6 text
DevOps Toolchain is licensed under the Creative Commons Attribution-Share Alike 4.0 International license
Slide 7
Slide 7 text
Build -> Test -> Deploy Staging -> More Tests -> Deploy Production
Slide 8
Slide 8 text
@mongrelion - carlosleon.info
The Good
Slide 9
Slide 9 text
@mongrelion - carlosleon.info
The Good
● Predictable
Slide 10
Slide 10 text
@mongrelion - carlosleon.info
The Good
● Predictable
● Reproducible
Slide 11
Slide 11 text
@mongrelion - carlosleon.info
The Good
● Predictable
● Reproducible
● Visibility
Slide 12
Slide 12 text
@mongrelion - carlosleon.info
The Good
● Predictable
● Reproducible
● Visibility
● Accountability
Slide 13
Slide 13 text
@mongrelion - carlosleon.info
The Good
● Predictable
● Reproducible
● Visibility
● Accountability
● Less error prone
Slide 14
Slide 14 text
@mongrelion - carlosleon.info
The Bad
Slide 15
Slide 15 text
@mongrelion - carlosleon.info
The Bad
● Semantic Versioning
Slide 16
Slide 16 text
@mongrelion - carlosleon.info
The Bad
● Semantic Versioning
● Can get chaotic when the pipeline is slow
Slide 17
Slide 17 text
@mongrelion - carlosleon.info
The Status Quo
Slide 18
Slide 18 text
Jenkins logo is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
Slide 19
Slide 19 text
@mongrelion - carlosleon.info
The Good
Slide 20
Slide 20 text
@mongrelion - carlosleon.info
● Community support
The Good
Slide 21
Slide 21 text
@mongrelion - carlosleon.info
● Community support
● Commercial support
The Good
Slide 22
Slide 22 text
@mongrelion - carlosleon.info
The Good
● Community support
● Commercial support
● Extensions/plugins ecosystem
Slide 23
Slide 23 text
@mongrelion - carlosleon.info
● Community support
● Commercial support
● Extensions/plugins ecosystem
● Well known
The Good
Slide 24
Slide 24 text
@mongrelion - carlosleon.info
The Good
● Community support
● Commercial support
● Extensions/plugins ecosystem
● Well known
● Battle tested
Slide 25
Slide 25 text
@mongrelion - carlosleon.info
The Bad
Slide 26
Slide 26 text
@mongrelion - carlosleon.info
● Eager for resources
The Bad
Slide 27
Slide 27 text
@mongrelion - carlosleon.info
● Eager for resources
● Hard to automate
The Bad
Slide 28
Slide 28 text
@mongrelion - carlosleon.info
● Eager for resources
● Hard to automate
● Stateful to the bone
The Bad
Slide 29
Slide 29 text
@mongrelion - carlosleon.info
The Bad
● Eager for resources
● Hard to automate
● Stateful to the bone
● Extensions/plugin ecosystem
Slide 30
Slide 30 text
CICD Tooling
Slide 31
Slide 31 text
No content
Slide 32
Slide 32 text
@mongrelion - carlosleon.info
Web application written in Go
Example
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
@mongrelion - carlosleon.info
Issues with this
approach
Slide 36
Slide 36 text
@mongrelion - carlosleon.info
Issues with this
approach
● Lots of manual steps
Slide 37
Slide 37 text
@mongrelion - carlosleon.info
Issues with this
approach
● Lots of manual steps
● Changes are not visible
Slide 38
Slide 38 text
@mongrelion - carlosleon.info
Issues with this
approach
● Lots of manual steps
● Changes are not visible
● No track
Slide 39
Slide 39 text
@mongrelion - carlosleon.info
Issues with this
approach
● Lots of manual steps
● Changes are not visible
● No track
● No responsibility
Slide 40
Slide 40 text
@mongrelion - carlosleon.info
Issues with this
approach
● Lots of manual steps
● Changes are not visible
● No track
● No responsibility
● Long feedback loops
Slide 41
Slide 41 text
@mongrelion - carlosleon.info
Portability
Example
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
No content
Slide 44
Slide 44 text
No content
Slide 45
Slide 45 text
No content
Slide 46
Slide 46 text
No content
Slide 47
Slide 47 text
No content
Slide 48
Slide 48 text
@mongrelion - carlosleon.info
Pros
Slide 49
Slide 49 text
@mongrelion - carlosleon.info
Pros
● Portability
Slide 50
Slide 50 text
@mongrelion - carlosleon.info
Pros
● Portability
● Short iteration loops