SlideShare a Scribd company logo
GitOps, Jenkins X &
Future of CI/CD
Kohsuke Kawaguchi | Co-CEO, Launchable, Inc.
kkawaguchi@launchableinc.com | @kohsukekawa
DORA
State of
DevOps
Reports
“software delivery is an exercise in
continuous improvement, and our research
shows that year over year the best keep
getting better, and those who fail to improve
fall further and further behind.”
- Nicole Forsgren
Building and scaling high performance
technology organisations
• Common platform in all clouds
• AWS, Azure, GCP
• OpenShift, CloudFoundry
• Functionalities
• Cluster scheduler
• Service discovery
• Load balancer
• Extensibility
New “Cloud Operating System” is here
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps is the new legacy
So what is
important?
GitOps
What?
Source: https://www.weave.works/blog/what-is-gitops-really
Why?
• Transparency without sacrificing auditability &
access control
• How/who to get changes in
• What has happened
• Tools agnostic – works with any ”Infrastructure
as Code,” not just K8s
Why?
• Promote higher abstraction and reuse
• Review/test before you merge
• Trivial roll back, change detection, etc through
familiar workflows of Git/GitHub
You can have fun tinkering…
Or you can just get productive
Jenkins X vision
• Figure out the best practice of how to CD cloud
native apps
• Not just build, test, but reviewing, promotion,
changelog, collaboration, etc.
• Integrate best of the bleed 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
Image: https://flic.kr/p/smze69
Development Flow We Preach
More Best practice we preach
• Use cloud to develop, keep your laptop for what
it needs to do
• Keep master always releasable
• Deploy often and in small increments
• Inform other people about where changes are
Best Practices That Are
“Boring”
Integrate best of the bleed software in
this ecosystem to achieve it
MultiCloud Support: jx create cluster
• brew tap jenkins-x/jx
• brew install jx
• jx create cluster
Let’s get going
• You got all that tools, preconfigured properly
• Jenkins, with elastic build agents to build
containers
• Artifact repository to speed up your builds
• Monocular to catalog Helm charts
• You got staging & production environments
• For all your future apps to be onboarded to
Jenkins X
What just happened?
• Create a new project
• jx create spring
• Make your existing app work in Jenkins X
• jx import
Prepare your app
• Source code
• Wiring for build, deploy, & CD
• Jenkinsfile, Dockerfile, helm chart, …
• All services configured for you
• Repo on GitHub, webhook to Jenkins, Jenkins
jobs
• Initial release & all running in staging
What just happened?
• Work locally on a change
• Create a PR on GitHub
• Have the change reviewed & merged
Let’s work on a change
• Your PR gets automatically built & tested
• App deployed to a PR specific ‘preview
environment’
• Allows stakeholders to interact with the app
• Click a link in PR to see it
• (Then you merge your change)
• New master gets automatically built & tested
• New release gets created with changelog
What just happened?
• jx promote --version v0.0.3 --env production
• Go to GitHub and merge ‘deployment’ PR
• (v0.0.3 appears in production)
Let’s promote a release to production
Future of CI/CD
• Defend stability through depth, not just tests
GitOps is necessary, but
not sufficient for higher velocity
• Feature Flags
• Circuit Breaker
• Canary Deployment
• Better Observability
How do you defend in depth?
Leverage Production
Traffic
• Because there’s nothing like
production
• Traffic mirroring
• A/B testing
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
• Situation
• You are the DevOps team of a BigCo
• Massive modularized codebase with web
of dependencies
• Big, time consuming tests around them
• Questions
• I want to cut cost & time of the software
delivery process
Smarter testing
Step 1: Dependency Analysis
• ML model predicts useful subset to run
• Based on information about changes
• Of 105 changes/mo, 1% is used to train the
model
• Impact
• Only a third of tests are selected
• Misses just 0.1% of broken changes
• AWS cost is cut by half
36
Step 2: Predictive Test Selection
• Situation
• You are the SRE team in a BigCo
• You oversee 100s of apps
• ~1 deployment/app/day
• Questions
• Can we flag risky deployments
beforehand?
37
Deployment Risk Prediction
• Train model
• With 40,000 deployments of which 100
are failures
• Attributes: app names, commit messages,
…
• Impact
• Predict 99% of failures
• 5% false alarm rate
38
What they have done
• Learning
• Most outages are estimated as “low risk”
by developers
• Most outages had short time span till
approval
• Long-maintained code is more risky
• Imagine what you can do with this!
• Require somebody be on call
• Restrict window of deployment
39
What they have done
Where This Takes Us
• Every organization is trying to get better at
software delivery
• Kubernetes is an enabling technology but it can
be a detractor
• What’s important is DX, which is GitOps
• Jenkins X brings that for K8s without you rolling
your own which becomes legacy
• CI/CD is continuously evolving, so is Jenkins
Wrap Up
Thank You!

More Related Content

PPTX
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
PDF
Devops Kaizen - DevopsDays Dallas 2017
PPTX
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
PPTX
DevOps Pipelines and Metrics Driven Feedback Loops
PPTX
Pivotal tracker getting started
PDF
DevOps - A Gentle Introduction
PPTX
DevOps Enterprise Summit 2016
PPTX
Ian Margetts - ASOS’ Journey to Continuous Deployment
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
Devops Kaizen - DevopsDays Dallas 2017
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
DevOps Pipelines and Metrics Driven Feedback Loops
Pivotal tracker getting started
DevOps - A Gentle Introduction
DevOps Enterprise Summit 2016
Ian Margetts - ASOS’ Journey to Continuous Deployment

What's hot (20)

PPTX
DOES SFO 2016 - Topo Pal - DevOps at Capital One
PDF
cdSummit Austin - Jez Humble: CD Architecture
PPTX
DevOps game lego
PPTX
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
PPTX
OOP 2016 - Building Software That Eats The World
PPTX
Jeffrey Snover - Empowering DevOps with Azure Stack
PPTX
DevOps Transformation at Dynatrace and with Dynatrace
PDF
Art of the Possible - Serverless Conference NYC 2017
PPTX
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
PDF
ChatOps in Action
PDF
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
PDF
Metrics-driven Continuous Delivery
PDF
Tracking Huge Files with Git LFS
PPTX
Lies Enterprise Architects Tell - Data Day Texas 2018 Keynote
PDF
Great Add-ons for Improving Teamwork
PDF
Takeaways From Migrating to Git and Bitbucket Server
PDF
Bitbucket Pipelines: Serverless CI/CD That Will Save Your Life
PDF
Tfs 2015 Upgrade Tips and Tricks
PDF
Continuous Integration @ Haptik
PDF
Popular Git Workflows You Haven't Heard About
DOES SFO 2016 - Topo Pal - DevOps at Capital One
cdSummit Austin - Jez Humble: CD Architecture
DevOps game lego
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
OOP 2016 - Building Software That Eats The World
Jeffrey Snover - Empowering DevOps with Azure Stack
DevOps Transformation at Dynatrace and with Dynatrace
Art of the Possible - Serverless Conference NYC 2017
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
ChatOps in Action
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
Metrics-driven Continuous Delivery
Tracking Huge Files with Git LFS
Lies Enterprise Architects Tell - Data Day Texas 2018 Keynote
Great Add-ons for Improving Teamwork
Takeaways From Migrating to Git and Bitbucket Server
Bitbucket Pipelines: Serverless CI/CD That Will Save Your Life
Tfs 2015 Upgrade Tips and Tricks
Continuous Integration @ Haptik
Popular Git Workflows You Haven't Heard About
Ad

Similar to DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD (20)

PPTX
DevOps model in software engineering.pptx
PPTX
DevOps for Network Engineers
PPTX
CD with spinnaker
PDF
Agile Secure Cloud Application Development Management
PPTX
DevOps Overview in my own words
PDF
Containers, microservices and serverless for realists
PDF
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
PPTX
Dev/Test scenarios in DevOps world
PPTX
SplunkLive! London 2016 Splunk for Devops
PPTX
Continuous Integration as a Way of Life
PPTX
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
PPTX
DevOps Days Ohio
PPTX
How to go from waterfall app dev to secure agile development in 2 weeks
PPTX
DevOps and Microservice
PPTX
What is DevOps?
PDF
SQL Server DevOps Jumpstart
PPTX
BrainQuest-DevOps
PPTX
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
PPTX
Continuous Integration
PPTX
The Rocky Cloud Road
DevOps model in software engineering.pptx
DevOps for Network Engineers
CD with spinnaker
Agile Secure Cloud Application Development Management
DevOps Overview in my own words
Containers, microservices and serverless for realists
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Dev/Test scenarios in DevOps world
SplunkLive! London 2016 Splunk for Devops
Continuous Integration as a Way of Life
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
DevOps Days Ohio
How to go from waterfall app dev to secure agile development in 2 weeks
DevOps and Microservice
What is DevOps?
SQL Server DevOps Jumpstart
BrainQuest-DevOps
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Continuous Integration
The Rocky Cloud Road
Ad

More from DevOps_Fest (20)

PDF
DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...
PDF
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
PDF
DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...
PDF
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
PDF
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
PPTX
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
PDF
DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...
PPTX
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
PDF
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
PPTX
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
PDF
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
PDF
DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...
PPTX
DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...
PPTX
DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...
PDF
DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...
PPTX
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
PDF
DevOps Fest 2020. Philipp Krenn. Scale Your Auditing Events
PPTX
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...
PDF
DevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra Light
PDF
DevOps Fest 2020. Даніель Яворович. Data pipelines: building an efficient ins...
DevOps Fest 2020. Сергій Калінець. Building Data Streaming Platform with Apac...
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
DevOps Fest 2020. James Spiteri. Advanced Security Operations with Elastic Se...
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Павел Жданов та Никора Никита. Построение процесса CI\CD дл...
DevOps Fest 2020. Станислав Коленкин. How to connect non-connectible: tips, t...
DevOps Fest 2020. Андрій Шабалін. Distributed Tracing for microservices with ...
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Роман Орлов. Инфраструктура тестирования в Kubernetes
DevOps Fest 2020. Андрей Шишенко. CI/CD for AWS Lambdas with Serverless frame...
DevOps Fest 2020. Александр Глущенко. Modern Enterprise Network Architecture ...
DevOps Fest 2020. Виталий Складчиков. Сквозь монолитный enterprise к микросер...
DevOps Fest 2020. Денис Медведенко. Управление сложными многокомпонентными ин...
DevOps Fest 2020. Павел Галушко. Что делать devops'у если у вас захотели mach...
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Philipp Krenn. Scale Your Auditing Events
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...
DevOps Fest 2020. Денис Васильев. Let's make it KUL! Kubernetes Ultra Light
DevOps Fest 2020. Даніель Яворович. Data pipelines: building an efficient ins...

Recently uploaded (20)

PDF
Classroom Observation Tools for Teachers
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPTX
master seminar digital applications in india
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
RMMM.pdf make it easy to upload and study
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Classroom Observation Tools for Teachers
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPH.pptx obstetrics and gynecology in nursing
O7-L3 Supply Chain Operations - ICLT Program
Renaissance Architecture: A Journey from Faith to Humanism
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
master seminar digital applications in india
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
VCE English Exam - Section C Student Revision Booklet
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Module 4: Burden of Disease Tutorial Slides S2 2025
RMMM.pdf make it easy to upload and study
102 student loan defaulters named and shamed – Is someone you know on the list?
Anesthesia in Laparoscopic Surgery in India
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
STATICS OF THE RIGID BODIES Hibbelers.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf

DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD

  • 1. GitOps, Jenkins X & Future of CI/CD Kohsuke Kawaguchi | Co-CEO, Launchable, Inc. kkawaguchi@launchableinc.com | @kohsukekawa
  • 3. “software delivery is an exercise in continuous improvement, and our research shows that year over year the best keep getting better, and those who fail to improve fall further and further behind.” - Nicole Forsgren
  • 4. Building and scaling high performance technology organisations
  • 5. • Common platform in all clouds • AWS, Azure, GCP • OpenShift, CloudFoundry • Functionalities • Cluster scheduler • Service discovery • Load balancer • Extensibility New “Cloud Operating System” is here
  • 7. DevOps is the new legacy
  • 11. Why? • Transparency without sacrificing auditability & access control • How/who to get changes in • What has happened • Tools agnostic – works with any ”Infrastructure as Code,” not just K8s
  • 12. Why? • Promote higher abstraction and reuse • Review/test before you merge • Trivial roll back, change detection, etc through familiar workflows of Git/GitHub
  • 13. You can have fun tinkering…
  • 14. Or you can just get productive
  • 15. Jenkins X vision • Figure out the best practice of how to CD cloud native apps • Not just build, test, but reviewing, promotion, changelog, collaboration, etc. • Integrate best of the bleed 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
  • 18. More Best practice we preach • Use cloud to develop, keep your laptop for what it needs to do • Keep master always releasable • Deploy often and in small increments • Inform other people about where changes are
  • 19. Best Practices That Are “Boring”
  • 20. Integrate best of the bleed software in this ecosystem to achieve it
  • 21. MultiCloud Support: jx create cluster
  • 22. • brew tap jenkins-x/jx • brew install jx • jx create cluster Let’s get going
  • 23. • You got all that tools, preconfigured properly • Jenkins, with elastic build agents to build containers • Artifact repository to speed up your builds • Monocular to catalog Helm charts • You got staging & production environments • For all your future apps to be onboarded to Jenkins X What just happened?
  • 24. • Create a new project • jx create spring • Make your existing app work in Jenkins X • jx import Prepare your app
  • 25. • Source code • Wiring for build, deploy, & CD • Jenkinsfile, Dockerfile, helm chart, … • All services configured for you • Repo on GitHub, webhook to Jenkins, Jenkins jobs • Initial release & all running in staging What just happened?
  • 26. • Work locally on a change • Create a PR on GitHub • Have the change reviewed & merged Let’s work on a change
  • 27. • Your PR gets automatically built & tested • App deployed to a PR specific ‘preview environment’ • Allows stakeholders to interact with the app • Click a link in PR to see it • (Then you merge your change) • New master gets automatically built & tested • New release gets created with changelog What just happened?
  • 28. • jx promote --version v0.0.3 --env production • Go to GitHub and merge ‘deployment’ PR • (v0.0.3 appears in production) Let’s promote a release to production
  • 30. • Defend stability through depth, not just tests GitOps is necessary, but not sufficient for higher velocity
  • 31. • Feature Flags • Circuit Breaker • Canary Deployment • Better Observability How do you defend in depth?
  • 32. Leverage Production Traffic • Because there’s nothing like production • Traffic mirroring • A/B testing
  • 34. • Situation • You are the DevOps team of a BigCo • Massive modularized codebase with web of dependencies • Big, time consuming tests around them • Questions • I want to cut cost & time of the software delivery process Smarter testing
  • 35. Step 1: Dependency Analysis
  • 36. • ML model predicts useful subset to run • Based on information about changes • Of 105 changes/mo, 1% is used to train the model • Impact • Only a third of tests are selected • Misses just 0.1% of broken changes • AWS cost is cut by half 36 Step 2: Predictive Test Selection
  • 37. • Situation • You are the SRE team in a BigCo • You oversee 100s of apps • ~1 deployment/app/day • Questions • Can we flag risky deployments beforehand? 37 Deployment Risk Prediction
  • 38. • Train model • With 40,000 deployments of which 100 are failures • Attributes: app names, commit messages, … • Impact • Predict 99% of failures • 5% false alarm rate 38 What they have done
  • 39. • Learning • Most outages are estimated as “low risk” by developers • Most outages had short time span till approval • Long-maintained code is more risky • Imagine what you can do with this! • Require somebody be on call • Restrict window of deployment 39 What they have done
  • 41. • Every organization is trying to get better at software delivery • Kubernetes is an enabling technology but it can be a detractor • What’s important is DX, which is GitOps • Jenkins X brings that for K8s without you rolling your own which becomes legacy • CI/CD is continuously evolving, so is Jenkins Wrap Up

Editor's Notes

  • #3: Every organization is trying to get better at software delivery
  • #5: Not either or. Both.
  • #7: So everyone is rebuilding their new devops flow
  • #8: But wait, that is the new legacy Building it is hard enough, who is going to maintain it?
  • #9: Better question to ask is, what is the right user experience
  • #14: You need to learn the technologies Install & operationalize Kubernetes Survey the ecosystem and pick up additional tools & services Move to containers Figure out how to deploy containers to Kubernetes Wire up automation … while figuring out the practice Figure out the delivery practice What’s this GitOps thing? How do I deal with secrets? Am I doing it right? What am I missing out? (Image CC0 by https://pixabay.com/en/car-engine-prius-c-motor-vehicle-231213/)
  • #17: Jenkins is like a vast road network / Jenkins X is like a high speed rail (image: https://flic.kr/p/smze69 CC-BY-SA 2.0)
  • #21: Prow, monocular, Helm,
  • #24: None of this is rocket science, but just think about how much it takes if you wire this together yourself (image: https://pixabay.com/en/home-building-residence-1353389/ CC-0)
  • #26: (image: https://pixabay.com/en/log-cabin-cottage-house-home-1886620/ CC-0)
  • #27: You can even develop locally and have the change deployed to your own development environment instantaneously
  • #28: (image: https://pixabay.com/en/country-house-building-home-540796/ CC-0)
  • #33: (Image: Pixabay license: https://pixabay.com/photos/cyclist-person-people-men-bicycle-3202481/)
  • #34: Once you incorporate learning into your way of work, where ML can apply becomes a lot more obvious And companies are already doing this (Image: no attribution required: https://pixabay.com/illustrations/artificial-neural-network-ann-3501528/)
  • #36: Diamond: source file / Square: module / Circle: test
  • #37: File types, frequency of changes in the files modified, # of files modified, historical failure rate of tests, test module name, distance from changes to tests
  • #41: https://pixabay.com/photos/fantasy-feet-knight-landscape-2546204/