3. The information contained in this document is confidential and proprietary to YOOX Group
AWS Deploy – YOOX continuous integration and continuous delivery
Enterprise CI and CD process outlines
package
server
change/release
management
server
DEV
environment
PROD / LIVE
environment
software
package
(all in one)
STAGE / PREPROD
environment
configuration fitting
environment
L
I
F
E
C
Y
C
L
E
build server
DEV
DEV
DEV
DM QA+
distribuited
version
control
server
INTEGRATION
environment
Acceptance tests
short TTM
best QA
4. The information contained in this document is confidential and proprietary to YOOX Group
AWS Deploy – Goals on AWS
S3
Deploy with no downtime (blue-green)
Ability to rollback to any previous code version
Separate infrastructures for each WordPress installation
Goals and solution overview
Env-1
Env-2
Git
YDEPLOY
+
DCVS
Kiln
DEVS
artifact package
managing
Beanstalk Application
EB
buckets
DM DEV
✓
✓
✓
BLUE
GREEN
SWITCHING
DM QA+
EB
versioned package
versioned package
5. The information contained in this document is confidential and proprietary to YOOX Group
DEVS DM QA
YDEPLOY
+
AWS Deploy – AWS Application and deploy advantages
AWS deploy infrastructure provisioning prerequisite
A ruby library is provided to handle the complete infrastructure with resources needed to automate setup
process by WP applications on EB envs.
An empty AWS application on EB for WordPress hosting environments will be created.
Reduce TTM and increase QA in safe mode with blue/green paradigm
Deploy the binaries, not a new build across server farms on cloud !
Automation / traceability / versioning / repeatable process
Providing repeatable, automated deployment of websites and any kind of application
Acceptance test / approval lifecycle
Continuous integration and delivery system with lifecycle promotion paradigm
✓
✓
✓
✓
✓
✓
AWS blue green deploy results
6. The information contained in this document is confidential and proprietary to YOOX Group
AWS Deploy – Visual flow deploy
The application exposes three environments:
dev, prod-1 and prod-2 (there is an only ‘on-line’
environment at a time by CNAME)
TeamCity deploys the code-bundle on Dev and
then on production off-line environment
After acceptance tests on delegated
environment for production, the Delivery
Manager put the right code-bundle online by
switching URL exposed through the CDN with
right CNAME (blue/green deploy paradigm)
The easy rollback is a simple switching revert
Visual flow
BLUE
GREEN
SWITCHING
7. The information contained in this document is confidential and proprietary to YOOX Group
www.yooxgroup.com #YOOXlabsTechEvent
BOLOGNA - MILANO - NEW YORK - MADRID - PARIS - TOKYO - SHANGHAI - HONG KONG
AWS Deploy – Testing strategy and CI/CD evolution
• Jez Humble, David Farley, foreward by Martin Fowler
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
(Addison-Wesley Signature Series)
Bibliography
Continuous delivery evolution on AWS
AWS CodeDeploy
Docker
TDD mantra and testing pyramid
• Tommaso Bellagamba
YOOX Senior Cloud Service Developer
• Alessandro Pancaldi
YOOX Cloud Service Architect