SlideShare a Scribd company logo
1 of 24
Download to read offline
Ernst de Haan, E-commerce Architect, Deli XL   June 6, 2012




         Continuous Delivery @ Deli XL
Executive Summary

> PROD = 18 machines (16 virtual)
> Developer to PROD: ± 50 min
> Monday after Sprint → PROD
> Multi-site, multi-branch
> Deployment = 1 click (takes ± 20 min)
> Rollback = 1 click
> Deployment issues = 0
✓ 1K suppliers    ✓ 110K products   ✓ 2M consumers?
✓ 30K customers   ✓ € 750M/year     ✓ 100 catalogs
Process


> Scrum, 3 week Sprints
> Acceptance test inside Sprint
> Separate streets: D→A→P and T
> Monday after Sprint → Prod (06:00 h)
> Prod deployment by Ops team in India
> Developers/testers deploy to D/T/A
Architecture

> ATG 10 (multi-site)
 > Commerce
 > Service

> XINS
 > integration layers
 > high testability

> GigaSpaces
 > service grid + data grid
 > high scalability
web browsers, mobile apps, external systems


                        Internet
                                                              E-commerce
                    Apache                                    Architecture
                                                                    Domain
                                 Image API
                                   (XINS)

                      JSPs

                                                     JavaScript API
                                                         (XINS)




                  ATG Out API           ATG In API
                    (XINS)                (XINS)



    CMS                       Data Grid                 Passthru API
(First Spirit)               (GigaSpaces)               (GigaSpaces)




                    External systems: SAP, IDM, AS/400, etc.
Continuous Delivery @ Deli XL



 1   Why we did it

 2   What we did

 3   Demo

 4   Discussion
Typical IT Headaches
                                    been there…



> Creating builds = manual labour
> Deploying to test environments = slow
> Deployment reliability = error prone
> Get Sprint ready for PROD = challenging
> Root cause analysis = difficult
> Elastic scaling = not possible
Typical Business Headaches



> TTM
 > long, even with agile (Developer → P in weeks?)
 > much variance (typically due to issues after Sprint)

> Cost
 > manual builds & deployments are recurring costs
 > the later an issue is found, the more expensive
Why Continuous Delivery

> Improve TTM (shorten, reduce variance)
> Automate tedious work
> Increase project efficiency (within Sprints)
> Increase Ops efficiency
> Make offshoring easier
> Simplify new initiatives/brands
> Reduce (impact of) Production defects
> Elastic scaling
Why Continuous Delivery - Summary




> Reduce overhead cost
> Increase reliability
> Increase agility


       and because it reduces headaches for IT :-)
Continuous Delivery @ Deli XL



 1   Why we did it

 2   What we did

 3   Demo

 4   Discussion
At Project Start



> Manual quality control
> Manual builds & deployments
> Single site/brand
> Single project (1 branch in version control)
> Slow environment provisioning
Steps Taken During Project

> Unified vision & NFRs
> Standardized all processes
> Continuous Integration including QC
> Automated builds & deployments
> Workflow control system (Jenkins)
> Standardized environment provisioning
> Environment cloning procedures
Design

> Environment-agnostic builds/packages
> Commit Stages - one per branch
 > e.g. per project: previous release/hotfixes, next release
 > includes QC
 > includes automated deployments to CI environment
 > includes automated functional regression tests

> Deployment Pipelines
 > independent from Commit Stages
 > configuration easy to change
Technology




> Maven
> Jenkins
> Puppet


      less relevant, it’s about how you set it up…
Dealing with Parallel Projects

> Example:
 > Sprint 22 – 3 weeks – regular Sprint
 > Sprint 21+ – 1 week – started at same time

> Approach:
 > separate branch (10 min)
 > separate commit stage (10 min)
 > allocated a deployment pipeline (= environments)
 > communication
 > daily merge, one way
 > final merge after P delivery
Dealing with Data




> Simple approach for typical situations
 > repeatable data model changes

> In exceptional cases intervention is needed
Hotfixes




> Again: single click
> Regular deployments from release branch
Rollbacks




> Typical:
 > one click of a button

> Exceptional cases:
 > intervention needed because of data (structure)
Resourcing Vision (1/2)


> Business & management consulting:
 > local Solution Architect

> Analysis
 > Deli XL

> Development:
 > local ATG/Java expertise, leads (Mindcurv Europe)
 > offshore ATG/Java capacity (Mindcurv India)
Resourcing Vision (2/2)



> Testing:
 > local testers documenting test cases
 > offshore Testing-as-a-Service (Mindcurv)

> Support & maintenance:
 > mostly offshore
 > local Service Delivery Manager
Continuous Delivery @ Deli XL



 1   Why we did it

 2   What we did

 3   Demo

 4   Discussion
Continuous Delivery @ Deli XL



 1   Why we did it

 2   What we did

 3   Demo

 4   Discussion

More Related Content

Similar to Continuous Delivery at Deli XL

Service Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksService Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service Works
Kenneth Peeples
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
WSPDC & FEDSPUG
 

Similar to Continuous Delivery at Deli XL (20)

Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct services
 
North east user group tour
North east user group tourNorth east user group tour
North east user group tour
 
Fluentd - RubyKansai 65
Fluentd - RubyKansai 65Fluentd - RubyKansai 65
Fluentd - RubyKansai 65
 
How to deploy & optimize eZ Publish
How to deploy & optimize eZ PublishHow to deploy & optimize eZ Publish
How to deploy & optimize eZ Publish
 
SAP PI and SOA Overview
SAP PI and SOA OverviewSAP PI and SOA Overview
SAP PI and SOA Overview
 
Service Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksService Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service Works
 
Sap Process Integration
Sap Process Integration Sap Process Integration
Sap Process Integration
 
Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)
 
Virtualization at Gilt
Virtualization at GiltVirtualization at Gilt
Virtualization at Gilt
 
Nagios Conference 2007 | Nagios in very large Environments by Werner Neunteufl
Nagios Conference 2007 | Nagios in very large Environments by Werner NeunteuflNagios Conference 2007 | Nagios in very large Environments by Werner Neunteufl
Nagios Conference 2007 | Nagios in very large Environments by Werner Neunteufl
 
Lean product management for web2.0 by Sujoy Bhatacharjee, April
Lean product management for web2.0 by Sujoy Bhatacharjee, April Lean product management for web2.0 by Sujoy Bhatacharjee, April
Lean product management for web2.0 by Sujoy Bhatacharjee, April
 
Oracle EBS R12.2 - The Upgrade Know-How Factory
Oracle EBS R12.2 - The Upgrade Know-How FactoryOracle EBS R12.2 - The Upgrade Know-How Factory
Oracle EBS R12.2 - The Upgrade Know-How Factory
 
Ibm innovate ci for system z
Ibm innovate ci for system zIbm innovate ci for system z
Ibm innovate ci for system z
 
Census Bureau PBOCS
Census Bureau PBOCSCensus Bureau PBOCS
Census Bureau PBOCS
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
What’s new in Microsoft ALM 2013, hosted in Windows Azure, VISUAL STUDIO ONLI...
What’s new in Microsoft ALM 2013, hosted in Windows Azure, VISUAL STUDIO ONLI...What’s new in Microsoft ALM 2013, hosted in Windows Azure, VISUAL STUDIO ONLI...
What’s new in Microsoft ALM 2013, hosted in Windows Azure, VISUAL STUDIO ONLI...
 
Crafted Design - Sandro Mancuso
Crafted Design - Sandro MancusoCrafted Design - Sandro Mancuso
Crafted Design - Sandro Mancuso
 
An Introduction to Microservices
An Introduction to MicroservicesAn Introduction to Microservices
An Introduction to Microservices
 
Splunk Conf2010: Corporate Express presents Splunk with SAP
Splunk Conf2010: Corporate Express presents Splunk with SAPSplunk Conf2010: Corporate Express presents Splunk with SAP
Splunk Conf2010: Corporate Express presents Splunk with SAP
 
#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learned#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learned
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Continuous Delivery at Deli XL

  • 1. Ernst de Haan, E-commerce Architect, Deli XL June 6, 2012 Continuous Delivery @ Deli XL
  • 2. Executive Summary > PROD = 18 machines (16 virtual) > Developer to PROD: ± 50 min > Monday after Sprint → PROD > Multi-site, multi-branch > Deployment = 1 click (takes ± 20 min) > Rollback = 1 click > Deployment issues = 0
  • 3. ✓ 1K suppliers ✓ 110K products ✓ 2M consumers? ✓ 30K customers ✓ € 750M/year ✓ 100 catalogs
  • 4. Process > Scrum, 3 week Sprints > Acceptance test inside Sprint > Separate streets: D→A→P and T > Monday after Sprint → Prod (06:00 h) > Prod deployment by Ops team in India > Developers/testers deploy to D/T/A
  • 5. Architecture > ATG 10 (multi-site) > Commerce > Service > XINS > integration layers > high testability > GigaSpaces > service grid + data grid > high scalability
  • 6. web browsers, mobile apps, external systems Internet E-commerce Apache Architecture Domain Image API (XINS) JSPs JavaScript API (XINS) ATG Out API ATG In API (XINS) (XINS) CMS Data Grid Passthru API (First Spirit) (GigaSpaces) (GigaSpaces) External systems: SAP, IDM, AS/400, etc.
  • 7. Continuous Delivery @ Deli XL 1 Why we did it 2 What we did 3 Demo 4 Discussion
  • 8. Typical IT Headaches been there… > Creating builds = manual labour > Deploying to test environments = slow > Deployment reliability = error prone > Get Sprint ready for PROD = challenging > Root cause analysis = difficult > Elastic scaling = not possible
  • 9. Typical Business Headaches > TTM > long, even with agile (Developer → P in weeks?) > much variance (typically due to issues after Sprint) > Cost > manual builds & deployments are recurring costs > the later an issue is found, the more expensive
  • 10. Why Continuous Delivery > Improve TTM (shorten, reduce variance) > Automate tedious work > Increase project efficiency (within Sprints) > Increase Ops efficiency > Make offshoring easier > Simplify new initiatives/brands > Reduce (impact of) Production defects > Elastic scaling
  • 11. Why Continuous Delivery - Summary > Reduce overhead cost > Increase reliability > Increase agility and because it reduces headaches for IT :-)
  • 12. Continuous Delivery @ Deli XL 1 Why we did it 2 What we did 3 Demo 4 Discussion
  • 13. At Project Start > Manual quality control > Manual builds & deployments > Single site/brand > Single project (1 branch in version control) > Slow environment provisioning
  • 14. Steps Taken During Project > Unified vision & NFRs > Standardized all processes > Continuous Integration including QC > Automated builds & deployments > Workflow control system (Jenkins) > Standardized environment provisioning > Environment cloning procedures
  • 15. Design > Environment-agnostic builds/packages > Commit Stages - one per branch > e.g. per project: previous release/hotfixes, next release > includes QC > includes automated deployments to CI environment > includes automated functional regression tests > Deployment Pipelines > independent from Commit Stages > configuration easy to change
  • 16. Technology > Maven > Jenkins > Puppet less relevant, it’s about how you set it up…
  • 17. Dealing with Parallel Projects > Example: > Sprint 22 – 3 weeks – regular Sprint > Sprint 21+ – 1 week – started at same time > Approach: > separate branch (10 min) > separate commit stage (10 min) > allocated a deployment pipeline (= environments) > communication > daily merge, one way > final merge after P delivery
  • 18. Dealing with Data > Simple approach for typical situations > repeatable data model changes > In exceptional cases intervention is needed
  • 19. Hotfixes > Again: single click > Regular deployments from release branch
  • 20. Rollbacks > Typical: > one click of a button > Exceptional cases: > intervention needed because of data (structure)
  • 21. Resourcing Vision (1/2) > Business & management consulting: > local Solution Architect > Analysis > Deli XL > Development: > local ATG/Java expertise, leads (Mindcurv Europe) > offshore ATG/Java capacity (Mindcurv India)
  • 22. Resourcing Vision (2/2) > Testing: > local testers documenting test cases > offshore Testing-as-a-Service (Mindcurv) > Support & maintenance: > mostly offshore > local Service Delivery Manager
  • 23. Continuous Delivery @ Deli XL 1 Why we did it 2 What we did 3 Demo 4 Discussion
  • 24. Continuous Delivery @ Deli XL 1 Why we did it 2 What we did 3 Demo 4 Discussion