Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides ›...

31
GitOps, Jenkins & Jenkins X Tracy Miranda, Director of Open Source Community | CloudBees [email protected] | @tracymiranda @tracymiranda

Transcript of Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides ›...

Page 1: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

GitOps, Jenkins & Jenkins XTracy Miranda, Director of Open Source Community | CloudBees

[email protected] | @tracymiranda

@tracymiranda

Page 2: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

What is DevOps?

@tracymiranda

Page 3: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

DevOps is the new legacy

@tracymiranda

Page 4: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

Cloud Native Technologies

• On demand self-service

• Broad network access

• Resource pooling

• Rapid elasticity

• Measured service

Page 5: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

DORA State of DevOps

Reports

@tracymiranda

Page 6: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

The Science of Lean Software and DevOps

@tracymiranda

Page 7: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

Building and scaling high performance technology organisations

@tracymiranda

ThroughputFrequent deployments

Low lead time from commit to deploy

StabilityFast mean time to recovery (MTTR)

Low change failure rate

Page 8: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

GitOps

@tracymiranda

Operation by pull request

Git as the single place where we operate

All changes are observable

Page 9: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

https://www.weave.works/blog/what-is-gitops-really

@tracymiranda

Page 10: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

@tracymiranda

Page 11: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

Jenkins

@tracymiranda

Page 12: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

JENKINS

PIPELINE

JENKINS

EVERGREEN

CONFIGURATION

AS CODE

CLOUD NATIVE

JENKINS

JENKINS X

Page 13: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

CONFIGURATION AS CODE

Page 14: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

WHAT IF …

C O N F I G U R AT I O N A S C O D E

You can apply a sane change control

practice to Jenkins configuration?

Jenkins stops being a snowflake?

You can safely roll back a failed upgrade?

You could cookie cutter lots of

identical Jenkins instances?

Page 15: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

jenkins:

securityRealm:

ldap:

configurations:

- server: ldap.acme.com

rootDN: dc=acme,dc=fr

managerPasswordSecret:

${LDAP_PASSWORD}

cache:

size: 100

ttl: 10

userIdStrategy: CaseSensitive

groupIdStrategy: CaseSensitive

Page 16: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

1

This is

happening

Launch Docker container withsaid config file

Page 17: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

Getting Started with config-as-code

• https://www.praqma.com/stories/start-jenkins-config-as-code/

Page 18: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

@tracymiranda

Page 19: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

@tracymiranda

Page 20: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

JENKINS X

Page 21: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

COMMON PLATFORM IN ALL CLOUDS

AWS, Microsoft Azure, Google Cloud

Platform, OpenShift, Cloud Foundry

FUNCTIONALITY

Cluster scheduler, service discovery,

load balancer

EXTENSIBILITY

NEW Cloud Operating System

Page 22: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

You can have fun

tinkering

Page 23: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

Or you can just get

productive

Page 24: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

Jenkins X Vision

Figure out the best practice of how to CD cloud native appsNot just build and test, but review, promote, changelog, collaborate, etc.

Integrate best of breed software in this ecosystem to achieve it

Democratize it by building a pleasant CLI that represents high-level

steps

Be opinionated on how to do things

Kubernetes is a means to the end

Page 25: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

@tracymiranda

Page 26: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

@tracymiranda

Page 27: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

@tracymiranda

Page 28: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

@tracymiranda

Page 29: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

Best Practice We Preach

Use cloud to develop, keep your

laptop for what it needs to do

Promote apps through

multiple environments

GitOps: deployment should be

recorded and tracked in Git

Develop/collaborate changes in PR,

review/test before merge

Keep master always releasable

Inform other people about

where changes are

Deploy often and in small increments

Page 30: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

Wrap-up

Page 31: Jenkins Jenkins X & Gitops - JAX London › wp-content › uploads › slides › Gitops__Jenkin… · Building and scaling high performance technology organisations @tracymiranda

Conclusions

• Configuration as code is a best practice to follow.

• If you are using cloud native technologies, GitOps has essentialtechniques and practices to help you go faster without costing you stability.

• There are some problems your tools won’t fix, for everything else there’s Jenkins X.

@tracymiranda