Publicité
Publicité

Contenu connexe

Présentations pour vous(20)

Similaire à Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-Louis Rigau et Benoit Moussaud(20)

Publicité

Plus de Publicis Sapient Engineering(20)

Publicité

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

  1. Introduire le Continuous Delivery dans votre entreprise Par Benoit Moussaud (@bmoussaud) & Jean-Louis Rigau (@jlrigau)
  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. Continuous Delivery ? 1
  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. 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. Continuous Delivery ? Improve Time to market 6
  7. Continuous Delivery ? Réduction du risque 7
  8. Continuous Delivery ? Qualité ++ 8
  9. Continuous Delivery La Formule higher quality + automation (test + provisioning +deployment ) = cost reduction + acceleration 9
  10. Continuous Delivery ? Modèle de maturité 10
  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. Deployit Application Deployment for DevOps 2
  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. 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. 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. Deployit Un même package déployé sur di"érents environments Developer System Administrator 16
  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. 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. Deployit Architecture 19
  20. Deployit Solution transverse & sécurisée 20
  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. 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. REX Mise en place du processus de déploiement continu sur le projet SPark à la SGCIB 3
  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. 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. 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. 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. 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. 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. 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. REX Next steps Be able to deliver in production features independently one from each other 31
  32. THANK YOU FOR watching Merci!
Publicité