SlideShare uma empresa Scribd logo
1 de 55
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/21/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

Mais conteúdo relacionado

Mais procurados

Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryVirendra Bhalothia
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsCollabNet
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Amazon Web Services
 
Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkinsVinay H G
 
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...Gene Kim
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CDCprime
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeBrian Dawson
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationhugo lu
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHPArno Schneider
 
Anatomy of a Build Pipeline
Anatomy of a Build PipelineAnatomy of a Build Pipeline
Anatomy of a Build PipelineSamuel Brown
 
Continuous integration / deployment with Jenkins
Continuous integration / deployment with JenkinsContinuous integration / deployment with Jenkins
Continuous integration / deployment with Jenkinscherryhillco
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaEdureka!
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICDKnoldus Inc.
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersAmazon Web Services
 

Mais procurados (20)

Devops | CICD Pipeline
Devops | CICD PipelineDevops | CICD Pipeline
Devops | CICD Pipeline
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkins
 
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CD
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHP
 
Anatomy of a Build Pipeline
Anatomy of a Build PipelineAnatomy of a Build Pipeline
Anatomy of a Build Pipeline
 
Continuous integration / deployment with Jenkins
Continuous integration / deployment with JenkinsContinuous integration / deployment with Jenkins
Continuous integration / deployment with Jenkins
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containers
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 

Destaque

Gerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big DataGerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big DataStefano Galarraga
 
Docker Indy Meetup - CICD 26-May-2015
Docker Indy Meetup - CICD 26-May-2015Docker Indy Meetup - CICD 26-May-2015
Docker Indy Meetup - CICD 26-May-2015Matt Bentley
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Javatdc-globalcode
 
How to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingAcquia
 
Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesMark Sigler
 
Openstack devops challenges a journey from dump baremetal to functional ope...
Openstack devops challenges   a journey from dump baremetal to functional ope...Openstack devops challenges   a journey from dump baremetal to functional ope...
Openstack devops challenges a journey from dump baremetal to functional ope...Harish Kumar
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopMichael Palotas
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing IntroductionHai Tran Son
 
Test management in scrum
Test management in scrumTest management in scrum
Test management in scrumQA Club Kiev
 
CI&CD on AWS - Meetup Roma Oct 2016
CI&CD on AWS - Meetup Roma Oct 2016CI&CD on AWS - Meetup Roma Oct 2016
CI&CD on AWS - Meetup Roma Oct 2016Paolo latella
 
Agile Qa Framework Jacky Wu
Agile Qa Framework Jacky WuAgile Qa Framework Jacky Wu
Agile Qa Framework Jacky WuJacky Wu
 
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...Serena Software
 
DevOps for Big Data - Data 360 2014 Conference
DevOps for Big Data - Data 360 2014 ConferenceDevOps for Big Data - Data 360 2014 Conference
DevOps for Big Data - Data 360 2014 ConferenceGrid Dynamics
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentJoseph Beale
 
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingHow to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingAtlassian
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
 

Destaque (20)

Music streams
Music streamsMusic streams
Music streams
 
Gerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big DataGerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big Data
 
Docker Indy Meetup - CICD 26-May-2015
Docker Indy Meetup - CICD 26-May-2015Docker Indy Meetup - CICD 26-May-2015
Docker Indy Meetup - CICD 26-May-2015
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
2012 01-jenkins-udeploy
2012 01-jenkins-udeploy2012 01-jenkins-udeploy
2012 01-jenkins-udeploy
 
How to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated Testing
 
Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain Choices
 
Openstack devops challenges a journey from dump baremetal to functional ope...
Openstack devops challenges   a journey from dump baremetal to functional ope...Openstack devops challenges   a journey from dump baremetal to functional ope...
Openstack devops challenges a journey from dump baremetal to functional ope...
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
calmio-cicd-containers
calmio-cicd-containerscalmio-cicd-containers
calmio-cicd-containers
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
Test management in scrum
Test management in scrumTest management in scrum
Test management in scrum
 
CI&CD on AWS - Meetup Roma Oct 2016
CI&CD on AWS - Meetup Roma Oct 2016CI&CD on AWS - Meetup Roma Oct 2016
CI&CD on AWS - Meetup Roma Oct 2016
 
Agile Qa Framework Jacky Wu
Agile Qa Framework Jacky WuAgile Qa Framework Jacky Wu
Agile Qa Framework Jacky Wu
 
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
Continuous Delivery: Integrating the Deployment Pipeline Toolchain Through Au...
 
DevOps for Big Data - Data 360 2014 Conference
DevOps for Big Data - Data 360 2014 ConferenceDevOps for Big Data - Data 360 2014 Conference
DevOps for Big Data - Data 360 2014 Conference
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingHow to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile Testing
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
 
DevOps with Chef
DevOps with ChefDevOps with Chef
DevOps with Chef
 

Semelhante a SanDiego_DevOps_Meetup_9212016-v8

[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
 
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
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle ManagementAmazon Web Services
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDavide Benvegnù
 
DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI AppsRichin Jain
 
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
 
Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxNashet Ali
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+OpsShalu Ahuja
 
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
 
A Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityA Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityJeff Bramwell
 
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
 
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
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 

Semelhante a SanDiego_DevOps_Meetup_9212016-v8 (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
 
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
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Day 1.pptx
Day 1.pptxDay 1.pptx
Day 1.pptx
 
DevOps for AI Apps
DevOps for AI AppsDevOps for AI Apps
DevOps for AI Apps
 
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...
 
Training Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptxTraining Bootcamp - MainframeDevOps.pptx
Training Bootcamp - MainframeDevOps.pptx
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
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...
 
A Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityA Roadmap to Enterprise Quality
A Roadmap to Enterprise Quality
 
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...
 
Microdeployments for microservices dev ops nashville
Microdeployments for microservices   dev ops nashvilleMicrodeployments for microservices   dev ops nashville
Microdeployments for microservices dev ops nashville
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 

SanDiego_DevOps_Meetup_9212016-v8

  • 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/21/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

Notas do Editor

  1. (Optional) Add any slides necessary to explain the features/stories. Only add additional slides if necessary to explain the feature/stories that will be demoed.