Portable Pipelines - DevOps Pro Europe...DevOps Toolchain is licensed under the Creative Commons...
Transcript of Portable Pipelines - DevOps Pro Europe...DevOps Toolchain is licensed under the Creative Commons...
@mongrelion - carlosleon.info
Portable PipelinesVilnius, DevOpsPro Europe 2019
@mongrelion - carlosleon.info
Carlos León - @mongrelion
Strategic Consultant
All Things Cloud Native, DevOps, Programmable Infrastructure, Automation and Hang Gliding <3
@mongrelion - carlosleon.info
Agenda1 CICD: The Basics
2 The Status Quo
3 CICD Tooling
4 Example
5 Portability
6 Q&A
DevOps Toolchain is licensed under the Creative Commons Attribution-Share Alike 4.0 International license
@mongrelion - carlosleon.info
The Good
● Predictable● Reproducible
@mongrelion - carlosleon.info
The Good
● Predictable● Reproducible● Visibility
@mongrelion - carlosleon.info
The Good
● Predictable● Reproducible● Visibility● Accountability
@mongrelion - carlosleon.info
The Good
● Predictable● Reproducible● Visibility● Accountability● Less error prone
@mongrelion - carlosleon.info
The Bad
● Semantic Versioning● Can get chaotic when the pipeline is slow
Jenkins logo is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
@mongrelion - carlosleon.info
● Community support● Commercial support
The Good
@mongrelion - carlosleon.info
The Good
● Community support● Commercial support● Extensions/plugins ecosystem
@mongrelion - carlosleon.info
● Community support● Commercial support● Extensions/plugins ecosystem● Well known
The Good
@mongrelion - carlosleon.info
The Good
● Community support● Commercial support● Extensions/plugins ecosystem● Well known● Battle tested
@mongrelion - carlosleon.info
● Eager for resources● Hard to automate
The Bad
@mongrelion - carlosleon.info
● Eager for resources● Hard to automate● Stateful to the bone
The Bad
@mongrelion - carlosleon.info
The Bad
● Eager for resources● Hard to automate● Stateful to the bone● Extensions/plugin ecosystem
@mongrelion - carlosleon.info
Web application written in Go
Example
@mongrelion - carlosleon.info
Issues with this approach
● Lots of manual steps
@mongrelion - carlosleon.info
Issues with this approach
● Lots of manual steps
● Changes are not visible
@mongrelion - carlosleon.info
Issues with this approach
● Lots of manual steps
● Changes are not visible
● No track
@mongrelion - carlosleon.info
Issues with this approach
● Lots of manual steps
● Changes are not visible
● No track
● No responsibility
@mongrelion - carlosleon.info
Issues with this approach
● Lots of manual steps
● Changes are not visible
● No track
● No responsibility
● Long feedback loops
@mongrelion - carlosleon.info
Pros
● Portability● Short iteration loops
@mongrelion - carlosleon.info
Pros
● Portability● Short iteration loops● Accountability
@mongrelion - carlosleon.info
Pros
● Portability● Short iteration loops● Accountability● Trackable changes
@mongrelion - carlosleon.info
Cons
● Hard to bootstrap● Time to learn bash
@mongrelion - carlosleon.info
Cons
● Hard to bootstrap● Time to learn bash● Hard to reuse community components