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

Introduire le Continuous Delivery dans votre entreprise

Par Benoit Moussaud (@bmoussaud) & Jean-Louis Rigau (@jlrigau)

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

Agenda

2

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

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

Continuous Delivery ?

1

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

Dé!nitionContinuous Delivery ?

« 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

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

Les composantsContinuous Delivery ?

5

0. Agile projects 1. Continuous Integration

•  Automated testing •  Automated packaging •  Automated distribution •  Software Library (DSL) •  Clear reports •  Fewer coding errors •  Auditability

Development Test Acceptance Production

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

App B V 3.3

App B V 3.2

App B V 3.1

App B V 3.0

Development Test

Acceptance Production

2. Application Release Automation •  Automated end to end deploy < 10 min. •  Roll back in < 10 mn •  Clear reports •  Cheaper deployments •  Fewer deployment errors •  Auditability

App A V 2.0

App A V 1.2

App A V 1.1

App A V 1.0

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

Improve Time to marketContinuous Delivery ?

6

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

Réduction du risqueContinuous Delivery ?

7

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

Qualité ++Continuous Delivery ?

8

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

La FormuleContinuous Delivery

higher quality + automation (test + provisioning +deployment )

= cost reduction + acceleration

9

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

Modèle de maturitéContinuous Delivery ?

10

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

Automatisation en pratiqueContinuous Delivery ?

11

Development Test Acceptance Production

App B V 3.3

App B V 3.2

App B V 3.1

App B V 3.0

Development Test

Acceptance Production

App A V 2.0

App A V 1.2

App A V 1.1

App A V 1.0

Agile projects

Continuous Integration

Application Release Automation

Provisioning

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

DeployitApplication Deployment for DevOps

2

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

Deployment PackageDeployit

✓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

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

EnvironnementDeployit

✓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

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

Le déploiementDeployit

• 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

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

Un même package déployé sur di"érents environmentsDeployit

16

System AdministratorDeveloper

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

Les dictionnairesDeployit

•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

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

Les fonctionnalitésDeployit

• 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

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

ArchitectureDeployit

19

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

Solution transverse & sécuriséeDeployit

20

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

Deployit

Auto!owpas de

scripts à maintenir

Architecture sans agent

Plugins Procédures de

déploiement out of the box

Basé sur un modèle

DeployitPourquoi est-il di"érent ?

21

Mise en oeuvre

accélérée

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

DeployitPlugins et points d’extension

22

• 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 Bundled Plugins Community PluginsIBM WAS 6, 7, 8 et 8.5 Command Plugin Test Application PluginIBM WebSphere MQ File Plugin Lock PluginIBM WebSphere Process Server Web Server Plugin Change Management PluginOracle Weblogic Server 9, 10, 11g, 12c

Database Plugin Apache mod_jkOracle Service Bus 10 et 11 Notification Plugin Scheduler / SLA PluginJBoss Application Server 4, 5, 6 ,7 Release Authorization Plugin Generic Load Balancer PluginApache Tomcat Server Maven Plugin DataPower PluginIIS / Biztalk Bamboo Plugin RPM PluginBigIP F5 Load Balancer Puppet Plugin Personal Credentials Plugin

Jenkins Plugin

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

REXMise en place du processus de déploiement continusur le projet SParkà la SGCIB

3

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

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.

REXSPark in a glance

24

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

REXDeployment pipeline

25

One Click Deployment

Continuous Deployment Job

Versioning

Build Execute tests

Package

Archive Automatic

Deployment

DEV

HOTFIX

One Click Deployment

UAT

Release Job

Tag

Increment version PRD

develop

hotfix 1

Developer

dev

3 run

Developer

2 test

Business Analyst

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

REXRelease strategy

26

Weeks

Delivery pace

Sprint N Sprint N+1 Sprint N+2

DEV DEV DEV

ReviewD

emo

Fix

#1 #2 #3 #4 #5 #6

Review

Dem

o

Fix

Review

Dem

o

Fix

2 weeks 2 weeks 2 weeks

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

REXDeployment statistics

27

Since April 2012 Per month Per day

8

177

3010

5

78

13

224

2

31

531

6

128

2177

DEV UAT HOTFIX PRD Overall

8 per day!

3010 deployments in 1,5 years

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

Activity automation maturityREX

28

Activity 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#6 Run functional non-reg. tests In progress /Auto All build Manual All release#7 Run user interface non-reg. tests 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

#10 Run smoke tests Auto All deployment Manual All release#11 Verify code quality Auto All build None#12 Deploy to homologation env. Push Button On demand Manual On demand#13 Acceptance tests Manual On demand Manual On demand#14 Deploy to pre-prod env. Push Button On demand Manual On demand#15 Prepare rollout & rollback planning 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#19 Feedback on issues Auto Real time Manual All release

SPark ‘Worst’ case

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

REXSatisfaction survey (April 2013)

29

68%75% 86%

Global Performance User communication

87%86% 87%

Dev Availability Enhancements Help desk

Sent to 680 users

68 answers

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

Bene!ts and pain pointsREX

30

Time to marketRisk decreaseQuality improvementE#ciencyNon-event releaseEnable CM/RM simpli!cation

Environment provisionningProximity with OpsNew usages of IC tools

Bene"ts

Pain points

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

Be able to deliver in production features independently one from each other

REXNext steps

31

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

YOUFOR watching

THANK

Merci!


Recommended