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.
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
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
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