SlideShare a Scribd company logo
1 of 42
GitOps, Jenkins X &
Future of CI/CD
Kohsuke Kawaguchi | CTO, CloudBees, Inc.
kkawaguchi@cloudbees.com | @kohsukekawa
2© 2019 CloudBees, Inc. All Rights Reserved.
DORA State
of DevOps
Reports
3© 2019 CloudBees, Inc. All Rights Reserved.
The Science of Lean
Software and DevOps
“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© 2019 CloudBees, Inc. All Rights Reserved.
Building and scaling high performance
technology organisations
5© 2019 CloudBees, Inc. All Rights Reserved.
• Common platform in all clouds
• AWS, Azure, GCP
• OpenShift, CloudFoundry
• Functionalities
• Cluster scheduler
• Service discovery
• Load balancer
• Extensibility
New “Cloud Operating System” is here
6© 2019 CloudBees, Inc. All Rights Reserved.
7© 2019 CloudBees, Inc. All Rights Reserved.
DevOps is the new legacy
8© 2019 CloudBees, Inc. All Rights Reserved.
So what is important?
GitOps
10© 2019 CloudBees, Inc. All Rights Reserved.
What?
Source: https://www.weave.works/blog/what-is-gitops-really
11© 2019 CloudBees, Inc. All Rights Reserved.
• 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
• Promote higher abstraction and reuse
• Review/test before you merge
• Trivial roll back, change detection, etc through familiar workflows of Git/GitHub
Why?
12© 2019 CloudBees, Inc. All Rights Reserved.
You can have fun tinkering…
13© 2019 CloudBees, Inc. All Rights Reserved.
Or you can just get productive
14© 2019 CloudBees, Inc. All Rights Reserved.
• 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
Jenkins X vision
15© 2019 CloudBees, Inc. All Rights Reserved.
Image: https://flic.kr/p/smze69
16© 2019 CloudBees, Inc. All Rights Reserved.
Development Flow We Preach
17© 2019 CloudBees, Inc. All Rights Reserved.
• 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
More Best practice we preach
18© 2019 CloudBees, Inc. All Rights Reserved.
Best Practices That Are “Boring”
19© 2019 CloudBees, Inc. All Rights Reserved.
Integrate best of the bleed software in this ecosystem to achieve it
20© 2019 CloudBees, Inc. All Rights Reserved.
MultiCloud Support: jx create cluster
21© 2019 CloudBees, Inc. All Rights Reserved.
• brew tap jenkins-x/jx
• brew install jx
• jx create cluster
Let’s get going
22© 2019 CloudBees, Inc. All Rights Reserved.
• 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?
23© 2019 CloudBees, Inc. All Rights Reserved.
• Create a new project
• jx create spring
• Make your existing app work in Jenkins X
• jx import
Prepare your app
24© 2019 CloudBees, Inc. All Rights Reserved.
• 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?
25© 2019 CloudBees, Inc. All Rights Reserved.
• Work locally on a change
• Create a PR on GitHub
• Have the change reviewed & merged
Let’s work on a change
26© 2019 CloudBees, Inc. All Rights Reserved.
• 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
• Deployed to staging
What just happened?
27© 2019 CloudBees, Inc. All Rights Reserved.
• 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
29© 2019 CloudBees, Inc. All Rights Reserved.
• Jenkins itself run like a Function-as-a-Service
• One build, in a container, then gone
• Benefits
• Better scalability
• Better isolation
• Jenkins X already uses Jenkins in this manner
• This mode of operation should be available more over time
Serverless Jenkins
30© 2019 CloudBees, Inc. All Rights Reserved.
• Defend stability through depth, not just tests
GitOps is necessary, but not sufficient for higher velocity
31© 2019 CloudBees, Inc. All Rights Reserved.
• Feature Flags
• Circuit Breaker
• Canary Deployment
• Better Observability
How do you defend in depth?
32© 2019 CloudBees, Inc. All Rights Reserved.
• Because there’s nothing like production
• Traffic mirroring
• A/B testing
Leverage Production Traffic
34© 2019 CloudBees, Inc. All Rights Reserved.
35© 2019 CloudBees, Inc. All Rights Reserved.
Smarter testing
● 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
36© 2019 CloudBees, Inc. All Rights Reserved.
Step 1: Dependency Analysis
37© 2019 CloudBees, Inc. All Rights Reserved.
Step 2: Predictive Test Selection
● 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
37
38© 2019 CloudBees, Inc. All Rights Reserved.
Deployment Risk Prediction
● 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?
38
39© 2019 CloudBees, Inc. All Rights Reserved.
What they have done
● 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
39
40© 2019 CloudBees, Inc. All Rights Reserved.
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
40
41© 2019 CloudBees, Inc. All Rights Reserved.
Where This Takes Us
42© 2019 CloudBees, Inc. All Rights Reserved.
• 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
Software at the speed of ideas
THANK YOU!
www.cloudbees.com

More Related Content

What's hot

What's hot (20)

Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
 
GitOps & the deployment branching models - DevOps D-day Marseille 2021
GitOps & the deployment branching models - DevOps D-day Marseille 2021GitOps & the deployment branching models - DevOps D-day Marseille 2021
GitOps & the deployment branching models - DevOps D-day Marseille 2021
 
IoT Scale Event-Stream Processing for Connected Fleet at Penske
IoT Scale Event-Stream Processing for Connected Fleet at PenskeIoT Scale Event-Stream Processing for Connected Fleet at Penske
IoT Scale Event-Stream Processing for Connected Fleet at Penske
 
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
 
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵 클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
 
Pivotal Container Service il modo più semplice per gestire Kubernetes in azie...
Pivotal Container Service il modo più semplice per gestire Kubernetes in azie...Pivotal Container Service il modo più semplice per gestire Kubernetes in azie...
Pivotal Container Service il modo più semplice per gestire Kubernetes in azie...
 
DevOps KPIs as a Service: Daimler’s Solution
DevOps KPIs as a Service: Daimler’s SolutionDevOps KPIs as a Service: Daimler’s Solution
DevOps KPIs as a Service: Daimler’s Solution
 
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
 
Deploying Spring Boot apps on Kubernetes
Deploying Spring Boot apps on KubernetesDeploying Spring Boot apps on Kubernetes
Deploying Spring Boot apps on Kubernetes
 
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
Sicurezza integrate nella tua piattaforma Cloud-Native con VMware NSX (Pivota...
 
Enterprise machine learning on k8s lessons learned and the road ahead
Enterprise machine learning on k8s   lessons learned and the road aheadEnterprise machine learning on k8s   lessons learned and the road ahead
Enterprise machine learning on k8s lessons learned and the road ahead
 
Costruire Applicazioni Cloud-Native con Spring Boot (Pivotal Cloud-Native Wor...
Costruire Applicazioni Cloud-Native con Spring Boot (Pivotal Cloud-Native Wor...Costruire Applicazioni Cloud-Native con Spring Boot (Pivotal Cloud-Native Wor...
Costruire Applicazioni Cloud-Native con Spring Boot (Pivotal Cloud-Native Wor...
 
Five Lessons Learned from Large-scale Implementation of Kubernetes in the Ent...
Five Lessons Learned from Large-scale Implementation of Kubernetes in the Ent...Five Lessons Learned from Large-scale Implementation of Kubernetes in the Ent...
Five Lessons Learned from Large-scale Implementation of Kubernetes in the Ent...
 
Kubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slidesKubecon seattle 2018 workshop slides
Kubecon seattle 2018 workshop slides
 
Pivotal Container Service (PKS) at SF Cloud Foundry Meetup
Pivotal Container Service (PKS) at SF Cloud Foundry MeetupPivotal Container Service (PKS) at SF Cloud Foundry Meetup
Pivotal Container Service (PKS) at SF Cloud Foundry Meetup
 
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud ServicesDCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
 
Welcome - Kubernetes for the Enterprise - London
Welcome - Kubernetes for the Enterprise - LondonWelcome - Kubernetes for the Enterprise - London
Welcome - Kubernetes for the Enterprise - London
 
Operator development made easy with helm
Operator development made easy with helmOperator development made easy with helm
Operator development made easy with helm
 
Building Developer Pipelines with PKS, Harbor, Clair, and Concourse
Building Developer Pipelines with PKS, Harbor, Clair, and ConcourseBuilding Developer Pipelines with PKS, Harbor, Clair, and Concourse
Building Developer Pipelines with PKS, Harbor, Clair, and Concourse
 

Similar to GitOps, Jenkins X &Future of CI/CD

Similar to GitOps, Jenkins X &Future of CI/CD (20)

CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
 
DevOps Patterns to Enable Success in Microservices
DevOps Patterns to Enable Success in MicroservicesDevOps Patterns to Enable Success in Microservices
DevOps Patterns to Enable Success in Microservices
 
5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
 
DevOps Patterns to Enable Success in Microservices
DevOps Patterns to Enable Success in MicroservicesDevOps Patterns to Enable Success in Microservices
DevOps Patterns to Enable Success in Microservices
 
DevOps for Enterprise Systems : Innovate like a Startup
DevOps for Enterprise Systems : Innovate like a StartupDevOps for Enterprise Systems : Innovate like a Startup
DevOps for Enterprise Systems : Innovate like a Startup
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016
 
CampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
CampDevOps keynote - DevOps: Using 'Lean' to eliminate BottlenecksCampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
CampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
 
Build 12-Factor apps with Docker
Build 12-Factor apps with DockerBuild 12-Factor apps with Docker
Build 12-Factor apps with Docker
 
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
 
Continuous Deployment To The Cloud
Continuous Deployment To The CloudContinuous Deployment To The Cloud
Continuous Deployment To The Cloud
 
Leveraging Multiple Cloud Orchestration
Leveraging Multiple Cloud OrchestrationLeveraging Multiple Cloud Orchestration
Leveraging Multiple Cloud Orchestration
 
DevOps adoption in the enterprise
DevOps adoption in the enterpriseDevOps adoption in the enterprise
DevOps adoption in the enterprise
 
Agile and NextOps
Agile and NextOpsAgile and NextOps
Agile and NextOps
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 
2019 Accelerate State of DevOps Survey Results Are In
2019 Accelerate State of DevOps Survey Results Are In2019 Accelerate State of DevOps Survey Results Are In
2019 Accelerate State of DevOps Survey Results Are In
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 
Node.js Deeper Dive
Node.js Deeper DiveNode.js Deeper Dive
Node.js Deeper Dive
 
App Modernization
App ModernizationApp Modernization
App Modernization
 

More from Rakuten Group, Inc.

More from Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

Recently uploaded

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

GitOps, Jenkins X &Future of CI/CD

  • 1. GitOps, Jenkins X & Future of CI/CD Kohsuke Kawaguchi | CTO, CloudBees, Inc. kkawaguchi@cloudbees.com | @kohsukekawa
  • 2. 2© 2019 CloudBees, Inc. All Rights Reserved. DORA State of DevOps Reports
  • 3. 3© 2019 CloudBees, Inc. All Rights Reserved. The Science of Lean Software and DevOps “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. 4© 2019 CloudBees, Inc. All Rights Reserved. Building and scaling high performance technology organisations
  • 5. 5© 2019 CloudBees, Inc. All Rights Reserved. • Common platform in all clouds • AWS, Azure, GCP • OpenShift, CloudFoundry • Functionalities • Cluster scheduler • Service discovery • Load balancer • Extensibility New “Cloud Operating System” is here
  • 6. 6© 2019 CloudBees, Inc. All Rights Reserved.
  • 7. 7© 2019 CloudBees, Inc. All Rights Reserved. DevOps is the new legacy
  • 8. 8© 2019 CloudBees, Inc. All Rights Reserved. So what is important?
  • 10. 10© 2019 CloudBees, Inc. All Rights Reserved. What? Source: https://www.weave.works/blog/what-is-gitops-really
  • 11. 11© 2019 CloudBees, Inc. All Rights Reserved. • 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 • Promote higher abstraction and reuse • Review/test before you merge • Trivial roll back, change detection, etc through familiar workflows of Git/GitHub Why?
  • 12. 12© 2019 CloudBees, Inc. All Rights Reserved. You can have fun tinkering…
  • 13. 13© 2019 CloudBees, Inc. All Rights Reserved. Or you can just get productive
  • 14. 14© 2019 CloudBees, Inc. All Rights Reserved. • 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 Jenkins X vision
  • 15. 15© 2019 CloudBees, Inc. All Rights Reserved. Image: https://flic.kr/p/smze69
  • 16. 16© 2019 CloudBees, Inc. All Rights Reserved. Development Flow We Preach
  • 17. 17© 2019 CloudBees, Inc. All Rights Reserved. • 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 More Best practice we preach
  • 18. 18© 2019 CloudBees, Inc. All Rights Reserved. Best Practices That Are “Boring”
  • 19. 19© 2019 CloudBees, Inc. All Rights Reserved. Integrate best of the bleed software in this ecosystem to achieve it
  • 20. 20© 2019 CloudBees, Inc. All Rights Reserved. MultiCloud Support: jx create cluster
  • 21. 21© 2019 CloudBees, Inc. All Rights Reserved. • brew tap jenkins-x/jx • brew install jx • jx create cluster Let’s get going
  • 22. 22© 2019 CloudBees, Inc. All Rights Reserved. • 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?
  • 23. 23© 2019 CloudBees, Inc. All Rights Reserved. • Create a new project • jx create spring • Make your existing app work in Jenkins X • jx import Prepare your app
  • 24. 24© 2019 CloudBees, Inc. All Rights Reserved. • 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?
  • 25. 25© 2019 CloudBees, Inc. All Rights Reserved. • Work locally on a change • Create a PR on GitHub • Have the change reviewed & merged Let’s work on a change
  • 26. 26© 2019 CloudBees, Inc. All Rights Reserved. • 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 • Deployed to staging What just happened?
  • 27. 27© 2019 CloudBees, Inc. All Rights Reserved. • 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
  • 29. 29© 2019 CloudBees, Inc. All Rights Reserved. • Jenkins itself run like a Function-as-a-Service • One build, in a container, then gone • Benefits • Better scalability • Better isolation • Jenkins X already uses Jenkins in this manner • This mode of operation should be available more over time Serverless Jenkins
  • 30. 30© 2019 CloudBees, Inc. All Rights Reserved. • Defend stability through depth, not just tests GitOps is necessary, but not sufficient for higher velocity
  • 31. 31© 2019 CloudBees, Inc. All Rights Reserved. • Feature Flags • Circuit Breaker • Canary Deployment • Better Observability How do you defend in depth?
  • 32. 32© 2019 CloudBees, Inc. All Rights Reserved. • Because there’s nothing like production • Traffic mirroring • A/B testing Leverage Production Traffic
  • 33. 34© 2019 CloudBees, Inc. All Rights Reserved.
  • 34. 35© 2019 CloudBees, Inc. All Rights Reserved. Smarter testing ● 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
  • 35. 36© 2019 CloudBees, Inc. All Rights Reserved. Step 1: Dependency Analysis
  • 36. 37© 2019 CloudBees, Inc. All Rights Reserved. Step 2: Predictive Test Selection ● 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 37
  • 37. 38© 2019 CloudBees, Inc. All Rights Reserved. Deployment Risk Prediction ● 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? 38
  • 38. 39© 2019 CloudBees, Inc. All Rights Reserved. What they have done ● 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 39
  • 39. 40© 2019 CloudBees, Inc. All Rights Reserved. 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 40
  • 40. 41© 2019 CloudBees, Inc. All Rights Reserved. Where This Takes Us
  • 41. 42© 2019 CloudBees, Inc. All Rights Reserved. • 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
  • 42. Software at the speed of ideas THANK YOU! www.cloudbees.com