SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie Continuous Delivery at Deli XL

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 servicesAndré Agostinho
 
Fluentd - RubyKansai 65
Fluentd - RubyKansai 65Fluentd - RubyKansai 65
Fluentd - RubyKansai 65N Masahiro
 
How to deploy & optimize eZ Publish
How to deploy & optimize eZ PublishHow to deploy & optimize eZ Publish
How to deploy & optimize eZ PublishKaliop-slide
 
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 WorksKenneth Peeples
 
Sap Process Integration
Sap Process Integration Sap Process Integration
Sap Process Integration Tauhidul Islam
 
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)camunda services GmbH
 
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 NeunteuflNETWAYS
 
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 Triggr In
 
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 Factorypanayaofficial
 
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
 
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...VISEO
 
Crafted Design - Sandro Mancuso
Crafted Design - Sandro MancusoCrafted Design - Sandro Mancuso
Crafted Design - Sandro MancusoJAXLondon2014
 
An Introduction to Microservices
An Introduction to MicroservicesAn Introduction to Microservices
An Introduction to MicroservicesAd van der Veer
 
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 SAPSplunk
 
#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learned#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learnedVincent Biret
 

Ähnlich wie 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
 

Kürzlich hochgeladen

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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 productivityPrincipled Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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...Drew Madelung
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Kürzlich hochgeladen (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

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