Portable Pipelines - DevOps Pro Europe...DevOps Toolchain is licensed under the Creative Commons...

Preview:

Citation preview

@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

Questionshttps://sli.do#devops2019

CICD: The Basics

DevOps Toolchain is licensed under the Creative Commons Attribution-Share Alike 4.0 International license

Build -> Test -> Deploy Staging -> More Tests -> Deploy Production

@mongrelion - carlosleon.info

The Good

@mongrelion - carlosleon.info

The Good

● Predictable

@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

@mongrelion - carlosleon.info

The Bad

● Semantic Versioning

@mongrelion - carlosleon.info

The Bad

● Semantic Versioning● Can get chaotic when the pipeline is slow

@mongrelion - carlosleon.info

The Status Quo

Jenkins logo is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.

@mongrelion - carlosleon.info

The Good

@mongrelion - carlosleon.info

● Community support

The Good

@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

The Bad

@mongrelion - carlosleon.info

● Eager for resources

The Bad

@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

CICD Tooling

@mongrelion - carlosleon.info

Web application written in Go

Example

@mongrelion - carlosleon.info

Issues with this approach

@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

Portability

Example

@mongrelion - carlosleon.info

Pros

@mongrelion - carlosleon.info

Pros

● Portability

@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

@mongrelion - carlosleon.info

Cons

● Hard to bootstrap

@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

Questionshttps://sli.do#devops2019

@mongrelion - carlosleon.info

Thank you.

Recommended