Introduire le Continuous Delivery dans
votre entreprise
Par Benoit Moussaud (@bmoussaud) & Jean-Louis Rigau (@jlrigau)
Agenda
1

Continuous Delivery ?

2

Deployit
Application deployment for DevOps

3

REX du projet SPark à la SGCIB
Mise en ...
Continuous
Delivery ?
1
Continuous Delivery ?
Dé!nition
« Stratégie de livraison de logiciels visant à passer vos besoins métier jusqu’en
producti...
Continuous Delivery ?
Les composants
0. Agile projects

1. Continuous Integration

• 
• 
• 
• 
• 
• 
• 

Automated testing...
Continuous Delivery ?
Improve Time to market

6
Continuous Delivery ?
Réduction du risque

7
Continuous Delivery ?
Qualité ++

8
Continuous Delivery
La Formule

higher quality + automation

(test + provisioning +deployment )

= cost reduction + accele...
Continuous Delivery ?
Modèle de maturité

10
Continuous Delivery ?
Automatisation en pratique
Agile projects
Continuous Integration
Application Release Automation

Pro...
Deployit
Application
Deployment for
DevOps

2
Deployit
Deployment Package
✓Un par version d’application
✓Complet, il contient l’ensemble des ressources nécessaires
• ar...
Deployit
Environnement
✓Machine ou ensemble de machines sur lesquelles sont installés des middleware
• Serveurs d’applicat...
Deployit
Le déploiement
• Associer un package (version X de l’application Y) sur un environnement Z
• Chaque élément du pa...
Deployit
Un même package déployé sur di"érents environments

Developer

System Administrator

16
Deployit
Les dictionnaires
•Permettent de centraliser et gérer les paramètres de con#guration en
fonction de l’environneme...
Deployit
Les fonctionnalités
• Implémente l’UDM
• Référentiels (Applications, Environnement, Infrastructure)
• Point centr...
Deployit
Architecture

19
Deployit
Solution transverse & sécurisée

20
Deployit
Pourquoi est-il di"érent ?
Plugins
Procédures de
déploiement out
of the box

Auto!ow
pas de
scripts à
maintenir

...
Deployit
Plugins et points d’extension
• Apportent le savoir-faire de déploiement
•Travaillent de concert
• Extensibles et...
REX

Mise en place du processus
de déploiement continu
sur le projet SPark
à la SGCIB

3
REX
SPark in a glance

SPark is an application, used worldwide, that
provides a uni!ed process for multi-asset structured
...
REX
Deployment pipeline
hotfix

dev

develop

1

Versioning
Build

DEV

Execute tests
Developer

Package

HOTFIX

Archive
...
REX
Release strategy

#1

#2

#3

#4

#5

DEV

Review

Demo

DEV

Sprint N+2
#6

DEV

Fix
Review

Demo

Weeks

Sprint N+1
...
REX
Deployment statistics
3010

2177
531

224
78

8 per day!

177

128
31

13

8

6

5

2
Since April 2012

DEV

Per month...
REX
Activity automation maturity
SPark

‘Worst’ case

Action Mode

Frequency

Action Mode

Frequency

#1 Build a package

...
REX
Satisfaction survey (April 2013)
Sent to 680
users

75%

68%

86%

Global

Performance

User
communication
68 answers
...
REX
Bene!ts and pain points
Time to market
Risk decrease
Quality improvement
E#ciency
Non-event release
Enable CM/RM simpl...
REX
Next steps
Be able to deliver in
production
features
independently one
from each other

31
THANK
YOU

FOR watching

Merci!
Upcoming SlideShare
Loading in …5
×

Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-Louis Rigau et Benoit Moussaud

783 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
783
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-Louis Rigau et Benoit Moussaud

  1. 1. Introduire le Continuous Delivery dans votre entreprise Par Benoit Moussaud (@bmoussaud) & Jean-Louis Rigau (@jlrigau)
  2. 2. Agenda 1 Continuous Delivery ? 2 Deployit Application deployment for DevOps 3 REX du projet SPark à la SGCIB Mise en place du processus de déploiement continu 2
  3. 3. Continuous Delivery ? 1
  4. 4. Continuous Delivery ? Dé!nition « Stratégie de livraison de logiciels visant à passer vos besoins métier jusqu’en production aussi rapidement et e"cacement que possible. » Pipeline de livraison automatisé: 1. Code géré en con#guration 2. Compilation et packaging centralisés et automatisés 3. Tests automatisés et intégrés au processus 4. Applications déployées automatiquement de bout en bout 5. Environnements créés et détruits à la volée / en mode ‘Push Button’ 6. Reporting clair, précis et continu 4
  5. 5. Continuous Delivery ? Les composants 0. Agile projects 1. Continuous Integration •  •  •  •  •  •  •  Automated testing Automated packaging Automated distribution Software Library (DSL) Clear reports Fewer coding errors Auditability 2. Application Release Automation •  •  •  •  •  •  Automated end to end deploy < 10 min. Roll back in < 10 mn Clear reports Cheaper deployments Fewer deployment errors Auditability 3. Provisioning •  •  •  •  •  •  •  •  Build / teardown environments < 15 min. Standardized environments Reproducible environment configuration Policy controlled creation and scaling Fewer errors Clear reports Less environment errors Auditability Development Test Acceptance Production App A V 2.0 App A V 1.2 App A V 1.1 App A V 1.0 Development Test Acceptance Production App B V 3.3 App B V 3.2 App B V 3.1 App B V 3.0 5
  6. 6. Continuous Delivery ? Improve Time to market 6
  7. 7. Continuous Delivery ? Réduction du risque 7
  8. 8. Continuous Delivery ? Qualité ++ 8
  9. 9. Continuous Delivery La Formule higher quality + automation (test + provisioning +deployment ) = cost reduction + acceleration 9
  10. 10. Continuous Delivery ? Modèle de maturité 10
  11. 11. Continuous Delivery ? Automatisation en pratique Agile projects Continuous Integration Application Release Automation Provisioning Development Test Acceptance Production App A V 2.0 App A V 1.2 App A V 1.1 App A V 1.0 Development Test Acceptance Production App B V 3.3 App B V 3.2 App B V 3.1 App B V 3.0 11
  12. 12. Deployit Application Deployment for DevOps 2
  13. 13. Deployit Deployment Package ✓Un par version d’application ✓Complet, il contient l’ensemble des ressources nécessaires • archives (WAR, EAR, JAR…) • .exe, .dll, application pool • contenu statique (html, javascript, images, video) • scripts de bases de données et datasources • !chiers de con!guration ✓Structure adaptable aux modes opératoires existants ✓Indépendant de l’environnement 13
  14. 14. Deployit Environnement ✓Machine ou ensemble de machines sur lesquelles sont installés des middleware • Serveurs d’application, Serveurs Web • Base de données • Portail, ESB, • .... ✓Classiquement • Développement (simple) • Test • Recette • Production (complexe) 14
  15. 15. Deployit Le déploiement • Associer un package (version X de l’application Y) sur un environnement Z • Chaque élément du package (deployable) est associé à un ou plusieurs containers de l’environnementpour devenir un ‘deployed’ • Chaque ‘deployed’ est con#gurable. 15
  16. 16. Deployit Un même package déployé sur di"érents environments Developer System Administrator 16
  17. 17. Deployit Les dictionnaires •Permettent de centraliser et gérer les paramètres de con#guration en fonction de l’environnement cible •Valeur par défaut des propriétés (ex: #le.DeployedFile.targetDir) •Valeur des placeholders (ex:{{DB_USERNAME}}, {{ULR_BACKEND}}) •Association •Plusieurs par environnement •Partageables entre plusieurs environnements 17
  18. 18. Deployit Les fonctionnalités • Implémente l’UDM • Référentiels (Applications, Environnement, Infrastructure) • Point central de con#guration • Moteur de calcul automatique des plans de déploiements (AutoFlow) • Automate de déploiement 18
  19. 19. Deployit Architecture 19
  20. 20. Deployit Solution transverse & sécurisée 20
  21. 21. Deployit Pourquoi est-il di"érent ? Plugins Procédures de déploiement out of the box Auto!ow pas de scripts à maintenir Deployit Basé sur un modèle Architecture sans agent Mise en oeuvre accélérée 21
  22. 22. Deployit Plugins et points d’extension • Apportent le savoir-faire de déploiement •Travaillent de concert • Extensibles et paramétrables par con#guration (XML) •‘Generic Plugin’ : pour modéliser un déploiement (package & container) Licensed Plugin IBM WAS 6, 7, 8 et 8.5 IBM WebSphere MQ IBM WebSphere Process Server Oracle Weblogic Server 9, 10, 11g, Oracle Service Bus 10 et 11 12c JBoss Application Server 4, 5, 6 ,7 Apache Tomcat Server IIS / Biztalk BigIP F5 Load Balancer Bundled Plugins Command Plugin File Plugin Web Server Plugin Database Plugin Notification Plugin Release Authorization Plugin Maven Plugin Bamboo Plugin Puppet Plugin Jenkins Plugin Community Plugins Test Application Plugin Lock Plugin Change Management Plugin Apache mod_jk Scheduler / SLA Plugin Generic Load Balancer Plugin DataPower Plugin RPM Plugin Personal Credentials Plugin 22
  23. 23. REX Mise en place du processus de déploiement continu sur le projet SPark à la SGCIB 3
  24. 24. REX SPark in a glance SPark is an application, used worldwide, that provides a uni!ed process for multi-asset structured products creation. SPark is a repository and a Work"ow. Used by more than 700 users. Sales, Pricers, Structurers, traders, middle o#ces, etc. Developments started in October 2011. SPark is in production since June 2012. 24
  25. 25. REX Deployment pipeline hotfix dev develop 1 Versioning Build DEV Execute tests Developer Package HOTFIX Archive Continuous Deployment Job 2 test UAT One Click Deployment Business Analyst 3 Automatic Deployment run Tag PRD Increment version Developer Release Job One Click Deployment 25
  26. 26. REX Release strategy #1 #2 #3 #4 #5 DEV Review Demo DEV Sprint N+2 #6 DEV Fix Review Demo Weeks Sprint N+1 Fix Review Delivery pace 2 weeks 2 weeks Demo Sprint N Fix 2 weeks 26
  27. 27. REX Deployment statistics 3010 2177 531 224 78 8 per day! 177 128 31 13 8 6 5 2 Since April 2012 DEV Per month UAT HOTFIX Per day PRD Overall 3010 deployments in 1,5 years 27
  28. 28. REX Activity automation maturity SPark ‘Worst’ case Action Mode Frequency Action Mode Frequency #1 Build a package Auto All build Manual All release #2 Deploy on development env. Auto All build Manual On demand #3 Historize package Auto All build Manual All release #4 Run unitary tests Auto All build None #5 Run integration tests Auto All build Manual All release In progress /Auto All build Manual All release In study /Auto All build Manual All release #8 Run performance tests No - To Do All build Manual All release #9 Run security tests No - To Do All build Manual All release Auto Auto All deployment All build Manual None All release Push Button On demand Manual On demand Manual On demand Manual On demand Push Button On demand Manual On demand Auto All deployment Manual All prod release #16 Deploy to prod env. Push Button On demand Manual On demand #17 Setup environment Manual On demand Manual On demand #18 Refresh database Manual On demand Manual On demand Auto Real time Manual All release Activity #6 Run functional non-reg. tests #7 Run user interface non-reg. tests #10 Run smoke tests #11 Verify code quality #12 Deploy to homologation env. #13 Acceptance tests #14 Deploy to pre-prod env. #15 Prepare rollout & rollback planning #19 Feedback on issues 28
  29. 29. REX Satisfaction survey (April 2013) Sent to 680 users 75% 68% 86% Global Performance User communication 68 answers 86% 87% 87% Dev Availability Enhancements Help desk 29
  30. 30. REX Bene!ts and pain points Time to market Risk decrease Quality improvement E#ciency Non-event release Enable CM/RM simpli!cation Bene"ts Environment provisionning Proximity with Ops New usages of IC tools Pain points 30
  31. 31. REX Next steps Be able to deliver in production features independently one from each other 31
  32. 32. THANK YOU FOR watching Merci!

×