SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
Mitchell CI/CD Journey Continues…
Richard Fong
(Raj) Rajwinder Singh Makkar
Introduction
Mitchell International
• Founded in 1946, with 70 years of experience in Property,
Casualty claims, and Collision Repair industries
• 50 million transactions annually
• 300 insurance companies/claims payers
• Over 30,000 collision repair facilities
• 2,000 associates
Raj Makkar
Senior Configuration Engineer @ Mitchell
Developing solutions around software release automation,
dependency management and continuous integration for
various software products in Mitchell.
Currently promoting continuous integration and continuous
delivery solutions to increase efficiency within Mitchell’s
software delivery pipeline.
Before Mitchell use to work for GE.
Richard Fong
CICD enthusiast with experience creating service oriented
infrastructure to efficiently and rapidly build, integrate, and
deliver quality software product for large enterprise.
Richard’s has worked with many known companies such as
Yahoo, Intuit and Qualcomm in architecting their full CICD tool
stacks and evangelized CICD for those organization.
Journey
Keep in mind it’s a journey …
Insert Screenshots
7 Years Ago
• Componentized
• Developer and SCM Team maintain the Build
• Developer maintain the Build of Materials
• Developer decide when to Release
• Central QA Team run Test Manually
Issues
• Dependency management is a pain
• Custom deployment for each component
• Multi days planning just for release coordination
The
“BIG BUILD”
4 Years Ago
• Big Build
• System Team maintains the Build
• System Team maintain the Build of Materials
• System Team decide when to Release
• Central QA Team try to automate test
Issues
• The Build is slow
• Dependency and Deployment are bottleneck by a single team
• Developer cannot run local big build
“Left Is the New Right”
Today
• Componentized
• Developer maintain the Build
• Developer maintain the Build of Materials
• Developer decide when to Release
• Central QA Team run a mix of Manual and Automated Tests
Benefits
• Componentized with Standard Packaging
• Component is Developer’s responsibility
• Build, Deploy, Test on check-in with Immediate Feedback
How the Journey Begin
Componentized Who
control
build
dependen
cies
Who
maintain
packaging
Who
decide on
what to
release
State of
QA
7 years ago Yes Dev+scm
team
N/A Dev Central QA
team
4 years ago Big build and
no
component
build
System
team
System
team
System
team
Being Agile
;-) + partial
workflow
QA team
Today Yes Dev Dev System
team
Central QA
team
“Build Highway, Not Traffic Light”
Lots of Terms
• CICD
• DevOps
• TDD
• BDD
• Don’t break the build
• Unit Test
• Pair programming
The Mission!!!
Is not about the terminology, but our Mission
to “Deliver Quality Product FAST”
Tools
VM Image Layer
Application
OS Baseline
Platform Baseline
Mitchell Baseline
Environment Configuration
Image Baseline
Application Deployable
Artifacts
Environment Configuration
From of Application Artifact
Application
OS Baseline
Environment Configuration
ISSS Baseline
SCM Baseline
Assembled Application
Application Layer
• The Delta
• Reproducible
• Flexible
• Simple to use
Shipping Application by Packages
Release
Tools
App.jar
Runtime
Client
Lib
Other
Things
N-th
Package
Application
Packages
Application State
Release
Tools
App.jar
Runtime
Client
Lib
Other
Things
N-th
Package
Application
Captured
Application State
State
Vision on Shipping Enterprise Application
Package Creation
Code Creation
Application Creation
System Deployment
System Creation
System Promotion
?
Windows RHEL
One Tool to Rule Them All
Deployment Standard
• Package to manage files
• State to manage packages
• System to manage States
Isolation
Env
Integration
Env
CI Build
Farm
Mitchell
Env(s)
Continuous Delivery Pipeline
Application
OS Baseline
Mitchell Baseline
Other Baseline
Promote
Integration
Verification
Auto Deploy
Build + Unit Test
+ Package Service
Verification
Promote
Application
Env Configuration
Test Agents Test Agents Test Agents
Many Technologies are Used
Use Jenkins/Artifactory
• From 1 Big Build to 1000 Component Build, Deploy, Test jobs
• Do about 1400 job runs / day
• Average life of slave is 12 hours
• Use of Docker and AWS to scale Jenkins Slaves
• Use of push model rather then polling for check-ins ( loosely coupled)
• New version of artifact for each check-in
• Artifactory serve as the centralized artifact repository
• 800+ GB in about 12 months
Same Data for Reporting
Java
.Net
Python
Javascript
Pipeline as Code
• Too many builds to manage manually
• Pipeline defined as JSON configuration
• Let Developer maintain their own pipelines
• Ability to create a Pipeline for Branching
• Job template to allow
• Re-usable for different projects
• Flexible in adopting new technology
Processes
Category of CI/CD Capabilities
Build
Deploy
Test
Promote
Continuous building software and validate new
source code
Continuous deploying software and validate new
compiled code
Continuous integration testing for software
cohesive functionalities
Continuous promotion of software for feature
availability to market
Product Taxonomy
• Systems
• Services
• Components
• Libraries
• Ownerships
Product
10/4/2016 | Page 33
Capabilities and Adoption
Build Deploy Test Promote
Product-A
Product-D
Product-C
Product-B
Capabilities and Adoption
CI/CD Capabilities
CI/CDAdoption
CI/CD Execution Grid
Software
Technology Not Yet as a Service
Platform
Infrastructure
JBoss
IIS
Apache
Oracle
SQL Server
Network
System or VM
Storage
Backup
Monitoring
Software a.a.S
Whose “aaS” do you kick?
Platform a.a.S
Infrastructure a.a.S
System Admin
SCM
System Team
Network Team
System Admin
Storage Team
Monitoring Team
IT
Developer
QA
Application Operator
Dev, QA, Ops, SCM, IT – Fragmented pipeline with walls
Dev - We completed our story and task given by PO
QA - We tested what we think we need to deliver to customer
OPS - I hope Dev did well and QA tested it well
SCM - Code is in version control , we can track it.
IT - We need to keep hardware up
Left Is the New Right
• Dev -> QA -> Ops -> SCM -> IT
• Pushing ownership to Developer
• You build it, you own
Test Pyramid
Martin Fowler: Test Pyramid
Reference: http://martinfowler.com/bliki/TestPyramid.html
Upside-Down Pyramid
Unit
Tests
Service Tests
Integration / UI
Pyramid on Top of Pyramid
Unit
Service
Int/UI
Unit
Service
Int/UI
The Super System Tests
System A System B
Software Quality Anti-Pattern
• High level integration test is better than no
test
• Manual QA transitioning to Automation
does not work
• No emphasis on Unit Test
• Big Build cannot be run on local machine
Software Quality Done Right
• Emphasis on Unit Test
• BDD to connect feature scenario sign off
and test
• Service testing to eliminate external
dependency
• Leverage local machine and VMs for
functional validation
• Test Category
• Run all your tests
“Pipeline, Bucket of Sewage Water without Test”
Where Developer Spent Their Time
• Development Work
• Build fixes
• Deployment
• Support
• Meetings
• Design
• Test Support
We Don’t Support BS
• Do the right thing, not just automating
current process
• Is the process event right
• People focus on current process and forgot
about the reason
Culture
Some aspects …
CICD and Quality is CEO’s Priority
Dealing with Merger and Acquisition
Acceleration to cloud related efforts
No big blue print designs before starting
Speak the same language across BUs
Java
.Net
Python
Javascript
Should We Break the Build
• Builds are broken, and no one is looking at
it
• Don’t break the build
• With TDD, break the build, then fix the
build
Hiring Challenges
• Hiring DevOps? You want a Developer? Or
an Operation Expert?
• Developer with no Ops/System/Network
experience
• System Admin with no Development
experience
• SCM in the middle but weak on both ends
• DevOps is a Culture and it is in all of us
Influence Changes Graph
Everything is continuous … including challenges ;-)
• Exploring capabilities of TFS in diff areas
• Multiple platforms support for development teams
• How cloud fit in this whole picture
• Exploring options for information radiators
• Exploring options end to end orchestration
• Promote “culture of reuse” for our chef recipes
Training Within
• Cross pollination (other wants to learn)
• Internal Operational Manuals for other teams
• AWS Study Group and Certification
One Team
Dev
System
Admin
SCM
Network
QA
OPS
Business
Dev
System
Admin
SCM
Network
QA
Ops
Business
• Raj Makkar
– raj.makkar@mitchell.com
– LinkedIn: https://www.linkedin.com/in/rajwinder-singh-83166718
• Richard Fong
– richard.fong@mitchell.com
– LinkedIn: https://www.linkedin.com/in/richardfong1

Weitere ähnliche Inhalte

Was ist angesagt?

DevOps - Applying Lean & Agile Principles to Operations & More
DevOps - Applying Lean & Agile Principles to Operations & MoreDevOps - Applying Lean & Agile Principles to Operations & More
DevOps - Applying Lean & Agile Principles to Operations & MoreChris Edwards
 
Java DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleJava DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleRyan McGuinness
 
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...Puppet
 
Rising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOpsRising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOpsIBM UrbanCode Products
 
DevOps – The Evolution of Agile
DevOps – The Evolution of AgileDevOps – The Evolution of Agile
DevOps – The Evolution of AgileQualitest
 
Puppet Labs EMC DevOps Day NYC Aug-2015
Puppet Labs  EMC DevOps Day NYC Aug-2015Puppet Labs  EMC DevOps Day NYC Aug-2015
Puppet Labs EMC DevOps Day NYC Aug-2015Bob Sokol
 
About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple stepsIhor Odynets
 
Optimizing DevOps strategy in a large enterprise
Optimizing DevOps strategy in a large enterpriseOptimizing DevOps strategy in a large enterprise
Optimizing DevOps strategy in a large enterpriseEyal Edri
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesIBM UrbanCode Products
 
ROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
ROI & Business Value of CI, CD, DevOps, DevSecOps, & MicroservicesROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
ROI & Business Value of CI, CD, DevOps, DevSecOps, & MicroservicesDavid Rico
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Steve Mercier
 
Progressive exposure using deployment rings and feature flags
Progressive exposure using deployment rings and feature flagsProgressive exposure using deployment rings and feature flags
Progressive exposure using deployment rings and feature flagsWilly-Peter Schaub
 
Integrating Automated Testing into DevOps
Integrating Automated Testing into DevOpsIntegrating Automated Testing into DevOps
Integrating Automated Testing into DevOpsTechWell
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introductionSridhara T V
 
DevOps: What, who, why and how?
DevOps: What, who, why and how?DevOps: What, who, why and how?
DevOps: What, who, why and how?Red Gate Software
 
Scaling Your DevOps with Chef (December 15th 2016)
Scaling Your DevOps with Chef (December 15th 2016)Scaling Your DevOps with Chef (December 15th 2016)
Scaling Your DevOps with Chef (December 15th 2016)Anthony Hodson
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOpsRed Gate Software
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewIBM UrbanCode Products
 

Was ist angesagt? (20)

Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
 
DevOps - Applying Lean & Agile Principles to Operations & More
DevOps - Applying Lean & Agile Principles to Operations & MoreDevOps - Applying Lean & Agile Principles to Operations & More
DevOps - Applying Lean & Agile Principles to Operations & More
 
Java DevOps at Enterprise Scale
Java DevOps at Enterprise ScaleJava DevOps at Enterprise Scale
Java DevOps at Enterprise Scale
 
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
 
Rising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOpsRising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOps
 
DevOps – The Evolution of Agile
DevOps – The Evolution of AgileDevOps – The Evolution of Agile
DevOps – The Evolution of Agile
 
Puppet Labs EMC DevOps Day NYC Aug-2015
Puppet Labs  EMC DevOps Day NYC Aug-2015Puppet Labs  EMC DevOps Day NYC Aug-2015
Puppet Labs EMC DevOps Day NYC Aug-2015
 
About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple steps
 
Optimizing DevOps strategy in a large enterprise
Optimizing DevOps strategy in a large enterpriseOptimizing DevOps strategy in a large enterprise
Optimizing DevOps strategy in a large enterprise
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for Databases
 
ROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
ROI & Business Value of CI, CD, DevOps, DevSecOps, & MicroservicesROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
ROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
 
DevOps Foundation
DevOps FoundationDevOps Foundation
DevOps Foundation
 
Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015Agility via Software Engineering Practices - Agile Tour Montreal 2015
Agility via Software Engineering Practices - Agile Tour Montreal 2015
 
Progressive exposure using deployment rings and feature flags
Progressive exposure using deployment rings and feature flagsProgressive exposure using deployment rings and feature flags
Progressive exposure using deployment rings and feature flags
 
Integrating Automated Testing into DevOps
Integrating Automated Testing into DevOpsIntegrating Automated Testing into DevOps
Integrating Automated Testing into DevOps
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
DevOps: What, who, why and how?
DevOps: What, who, why and how?DevOps: What, who, why and how?
DevOps: What, who, why and how?
 
Scaling Your DevOps with Chef (December 15th 2016)
Scaling Your DevOps with Chef (December 15th 2016)Scaling Your DevOps with Chef (December 15th 2016)
Scaling Your DevOps with Chef (December 15th 2016)
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOps
 
Digital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture OverviewDigital Disruption with DevOps - Reference Architecture Overview
Digital Disruption with DevOps - Reference Architecture Overview
 

Ähnlich wie SanDiego_DevOps_Meetup_9212016

[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...WSO2
 
Accelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft AzureAccelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft AzurePerficient, Inc.
 
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOps
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOpsTDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOps
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOpsBert Jan Schrijver
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI AppsRichin Jain
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle ManagementAmazon Web Services
 
Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxNashet Ali
 
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...Bert Jan Schrijver
 
RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15Pierluigi Riti
 
CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with RubyPierluigi Riti
 
A Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityA Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityJeff Bramwell
 
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...Bert Jan Schrijver
 
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...Bert Jan Schrijver
 
Microdeployments for microservices dev ops nashville
Microdeployments for microservices   dev ops nashvilleMicrodeployments for microservices   dev ops nashville
Microdeployments for microservices dev ops nashvilleNathaniel (Ned) Bauerle
 
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Bert Jan Schrijver
 
DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)Ahmed Misbah
 
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...Bert Jan Schrijver
 
DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.Bert Jan Schrijver
 

Ähnlich wie SanDiego_DevOps_Meetup_9212016 (20)

[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
 
Accelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft AzureAccelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft Azure
 
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOps
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOpsTDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOps
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOps
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI Apps
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptx
 
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
 
RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15
 
CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with Ruby
 
A Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityA Roadmap to Enterprise Quality
A Roadmap to Enterprise Quality
 
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
 
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
 
Microdeployments for microservices dev ops nashville
Microdeployments for microservices   dev ops nashvilleMicrodeployments for microservices   dev ops nashville
Microdeployments for microservices dev ops nashville
 
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
 
DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)
 
Day 1.pptx
Day 1.pptxDay 1.pptx
Day 1.pptx
 
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
 
DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.
 

SanDiego_DevOps_Meetup_9212016

  • 1. Mitchell CI/CD Journey Continues… Richard Fong (Raj) Rajwinder Singh Makkar
  • 3. Mitchell International • Founded in 1946, with 70 years of experience in Property, Casualty claims, and Collision Repair industries • 50 million transactions annually • 300 insurance companies/claims payers • Over 30,000 collision repair facilities • 2,000 associates
  • 4. Raj Makkar Senior Configuration Engineer @ Mitchell Developing solutions around software release automation, dependency management and continuous integration for various software products in Mitchell. Currently promoting continuous integration and continuous delivery solutions to increase efficiency within Mitchell’s software delivery pipeline. Before Mitchell use to work for GE.
  • 5. Richard Fong CICD enthusiast with experience creating service oriented infrastructure to efficiently and rapidly build, integrate, and deliver quality software product for large enterprise. Richard’s has worked with many known companies such as Yahoo, Intuit and Qualcomm in architecting their full CICD tool stacks and evangelized CICD for those organization.
  • 7. Keep in mind it’s a journey … Insert Screenshots
  • 8. 7 Years Ago • Componentized • Developer and SCM Team maintain the Build • Developer maintain the Build of Materials • Developer decide when to Release • Central QA Team run Test Manually Issues • Dependency management is a pain • Custom deployment for each component • Multi days planning just for release coordination
  • 10. 4 Years Ago • Big Build • System Team maintains the Build • System Team maintain the Build of Materials • System Team decide when to Release • Central QA Team try to automate test Issues • The Build is slow • Dependency and Deployment are bottleneck by a single team • Developer cannot run local big build
  • 11. “Left Is the New Right”
  • 12. Today • Componentized • Developer maintain the Build • Developer maintain the Build of Materials • Developer decide when to Release • Central QA Team run a mix of Manual and Automated Tests Benefits • Componentized with Standard Packaging • Component is Developer’s responsibility • Build, Deploy, Test on check-in with Immediate Feedback
  • 13. How the Journey Begin Componentized Who control build dependen cies Who maintain packaging Who decide on what to release State of QA 7 years ago Yes Dev+scm team N/A Dev Central QA team 4 years ago Big build and no component build System team System team System team Being Agile ;-) + partial workflow QA team Today Yes Dev Dev System team Central QA team
  • 14. “Build Highway, Not Traffic Light”
  • 15. Lots of Terms • CICD • DevOps • TDD • BDD • Don’t break the build • Unit Test • Pair programming
  • 16. The Mission!!! Is not about the terminology, but our Mission to “Deliver Quality Product FAST”
  • 17. Tools
  • 18. VM Image Layer Application OS Baseline Platform Baseline Mitchell Baseline Environment Configuration Image Baseline Application Deployable Artifacts Environment Configuration
  • 19. From of Application Artifact Application OS Baseline Environment Configuration ISSS Baseline SCM Baseline Assembled Application Application Layer • The Delta • Reproducible • Flexible • Simple to use
  • 20. Shipping Application by Packages Release Tools App.jar Runtime Client Lib Other Things N-th Package Application Packages
  • 22. Vision on Shipping Enterprise Application Package Creation Code Creation Application Creation System Deployment System Creation System Promotion
  • 23. ? Windows RHEL One Tool to Rule Them All
  • 24. Deployment Standard • Package to manage files • State to manage packages • System to manage States
  • 25. Isolation Env Integration Env CI Build Farm Mitchell Env(s) Continuous Delivery Pipeline Application OS Baseline Mitchell Baseline Other Baseline Promote Integration Verification Auto Deploy Build + Unit Test + Package Service Verification Promote Application Env Configuration Test Agents Test Agents Test Agents
  • 27. Use Jenkins/Artifactory • From 1 Big Build to 1000 Component Build, Deploy, Test jobs • Do about 1400 job runs / day • Average life of slave is 12 hours • Use of Docker and AWS to scale Jenkins Slaves • Use of push model rather then polling for check-ins ( loosely coupled) • New version of artifact for each check-in • Artifactory serve as the centralized artifact repository • 800+ GB in about 12 months
  • 28. Same Data for Reporting Java .Net Python Javascript
  • 29. Pipeline as Code • Too many builds to manage manually • Pipeline defined as JSON configuration • Let Developer maintain their own pipelines • Ability to create a Pipeline for Branching • Job template to allow • Re-usable for different projects • Flexible in adopting new technology
  • 31. Category of CI/CD Capabilities Build Deploy Test Promote Continuous building software and validate new source code Continuous deploying software and validate new compiled code Continuous integration testing for software cohesive functionalities Continuous promotion of software for feature availability to market
  • 32. Product Taxonomy • Systems • Services • Components • Libraries • Ownerships Product
  • 33. 10/4/2016 | Page 33 Capabilities and Adoption Build Deploy Test Promote Product-A Product-D Product-C Product-B Capabilities and Adoption CI/CD Capabilities CI/CDAdoption CI/CD Execution Grid
  • 34. Software Technology Not Yet as a Service Platform Infrastructure JBoss IIS Apache Oracle SQL Server Network System or VM Storage Backup Monitoring
  • 35. Software a.a.S Whose “aaS” do you kick? Platform a.a.S Infrastructure a.a.S System Admin SCM System Team Network Team System Admin Storage Team Monitoring Team IT Developer QA Application Operator
  • 36. Dev, QA, Ops, SCM, IT – Fragmented pipeline with walls Dev - We completed our story and task given by PO QA - We tested what we think we need to deliver to customer OPS - I hope Dev did well and QA tested it well SCM - Code is in version control , we can track it. IT - We need to keep hardware up
  • 37. Left Is the New Right • Dev -> QA -> Ops -> SCM -> IT • Pushing ownership to Developer • You build it, you own
  • 38. Test Pyramid Martin Fowler: Test Pyramid Reference: http://martinfowler.com/bliki/TestPyramid.html
  • 40. Pyramid on Top of Pyramid Unit Service Int/UI Unit Service Int/UI The Super System Tests System A System B
  • 41. Software Quality Anti-Pattern • High level integration test is better than no test • Manual QA transitioning to Automation does not work • No emphasis on Unit Test • Big Build cannot be run on local machine
  • 42. Software Quality Done Right • Emphasis on Unit Test • BDD to connect feature scenario sign off and test • Service testing to eliminate external dependency • Leverage local machine and VMs for functional validation • Test Category • Run all your tests
  • 43. “Pipeline, Bucket of Sewage Water without Test”
  • 44. Where Developer Spent Their Time • Development Work • Build fixes • Deployment • Support • Meetings • Design • Test Support
  • 45. We Don’t Support BS • Do the right thing, not just automating current process • Is the process event right • People focus on current process and forgot about the reason
  • 47. Some aspects … CICD and Quality is CEO’s Priority Dealing with Merger and Acquisition Acceleration to cloud related efforts No big blue print designs before starting
  • 48. Speak the same language across BUs Java .Net Python Javascript
  • 49. Should We Break the Build • Builds are broken, and no one is looking at it • Don’t break the build • With TDD, break the build, then fix the build
  • 50. Hiring Challenges • Hiring DevOps? You want a Developer? Or an Operation Expert? • Developer with no Ops/System/Network experience • System Admin with no Development experience • SCM in the middle but weak on both ends • DevOps is a Culture and it is in all of us
  • 52. Everything is continuous … including challenges ;-) • Exploring capabilities of TFS in diff areas • Multiple platforms support for development teams • How cloud fit in this whole picture • Exploring options for information radiators • Exploring options end to end orchestration • Promote “culture of reuse” for our chef recipes
  • 53. Training Within • Cross pollination (other wants to learn) • Internal Operational Manuals for other teams • AWS Study Group and Certification
  • 55. • Raj Makkar – raj.makkar@mitchell.com – LinkedIn: https://www.linkedin.com/in/rajwinder-singh-83166718 • Richard Fong – richard.fong@mitchell.com – LinkedIn: https://www.linkedin.com/in/richardfong1