Download - Continuous Delivery at Deli XL
![Page 1: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/1.jpg)
Continuous Delivery @ Deli XL
Ernst de Haan, E-commerce Architect, Deli XL June 6, 2012
![Page 2: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/2.jpg)
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
![Page 3: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/3.jpg)
✓ 1K suppliers✓ 30K customers
✓ 110K products✓ € 750M/year
✓ 2M consumers?✓ 100 catalogs
![Page 4: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/4.jpg)
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
![Page 5: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/5.jpg)
Architecture
> ATG 10 (multi-site)> Commerce> Service
> XINS> integration layers> high testability
> GigaSpaces> service grid + data grid> high scalability
![Page 6: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/6.jpg)
web browsers, mobile apps, external systems
Image API(XINS)
InternetInternet
ATG In API(XINS)
ATG Out API(XINS)
External systems: SAP, IDM, AS/400, etc.
CMS(First Spirit)
Apache
JSPs
E-commerceArchitecture
Domain
Passthru API(GigaSpaces)
Data Grid(GigaSpaces)
JavaScript API(XINS)
![Page 7: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/7.jpg)
Continuous Delivery @ Deli XL
Why we did it
What we did
Demo
Discussion
1
2
3
4
![Page 8: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/8.jpg)
Typical IT Headaches
> 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
been there…
![Page 9: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/9.jpg)
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
![Page 10: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/10.jpg)
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
![Page 11: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/11.jpg)
Why Continuous Delivery - Summary
> Reduce overhead cost> Increase reliability> Increase agility
and because it reduces headaches for IT :-)
![Page 12: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/12.jpg)
Continuous Delivery @ Deli XL
Why we did it
What we did
Demo
Discussion
1
2
3
4
![Page 13: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/13.jpg)
At Project Start
> Manual quality control> Manual builds & deployments> Single site/brand> Single project (1 branch in version control)> Slow environment provisioning
![Page 14: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/14.jpg)
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
![Page 15: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/15.jpg)
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
![Page 16: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/16.jpg)
Technology
> Maven> Jenkins> Puppet
less relevant, it’s about how you set it up…
![Page 17: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/17.jpg)
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
![Page 18: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/18.jpg)
Dealing with Data
> Simple approach for typical situations> repeatable data model changes
> In exceptional cases intervention is needed
![Page 19: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/19.jpg)
Hotfixes
> Again: single click> Regular deployments from release branch
![Page 20: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/20.jpg)
Rollbacks
> Typical:> one click of a button
> Exceptional cases:> intervention needed because of data (structure)
![Page 21: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/21.jpg)
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)
![Page 22: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/22.jpg)
Resourcing Vision (2/2)
> Testing:> local testers documenting test cases> offshore Testing-as-a-Service (Mindcurv)
> Support & maintenance:> mostly offshore> local Service Delivery Manager
![Page 23: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/23.jpg)
Continuous Delivery @ Deli XL
Why we did it
What we did
Demo
Discussion
1
2
3
4
![Page 24: Continuous Delivery at Deli XL](https://reader034.vdocument.in/reader034/viewer/2022051312/547b9c8c5906b581798b45ff/html5/thumbnails/24.jpg)
Continuous Delivery @ Deli XL
Why we did it
What we did
Demo
Discussion
1
2
3
4