21
Les piliers du déploiement applicatif avec XL Deploy Benoit Moussaud @bmoussaud Journée Devops – 10 Juin 2014

Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

Embed Size (px)

DESCRIPTION

Vous n'avez pas pu assister à la journée DevOps by Xebia ? Voici la présentation de Benoit Moussaud (XebiaLabs) : "Les piliers du déploiement applicatif avec XL Deploy "

Citation preview

Page 1: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

Les  piliers  du  déploiement  applicatif  avec  XL  Deploy  Benoit Moussaud @bmoussaud Journée Devops – 10 Juin 2014

Page 2: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

2 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Responsabilité  “Application”  

BUILD RUN

Page 3: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

3 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Responsabilité  “Infrastructure”  

RUN BUILD

Page 4: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

4 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Le  «  Build  »  Dev  

▪ Principe: Transformer du code en Binaire

▪ Outils => Build répétable −  Make −  ANT / MS-Build −  Maven / Gradle / SBT

▪  Intégration Continue => Build répétable, environement sain −  Jenkins −  TFS −  Bamboo − …

▪ Livrable : une version d’une application

Page 5: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

5 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Le  «  Build  »  Dev  

Le Package regroupe l’ensemble des éléments qui constituent une version d’une application. Ces éléments sont : ▪ des artefacts, les fichiers ou les

répertoires de fichiers : .exe, .war, fichiers SQL, fichier de configuration .properties ▪ des ressources, les éléments de

configuration tels que les datasources, virtualhost… ▪ des méta-données telles le nom de

l’application et sa version.

Page 6: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

6 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Le  «  Build  »  Ops  

▪ Principe: Installer & configurer (OS, Middleware, Sécurité..)

▪ Outils −  Script Shell (.bat ,.ps1, .sh) −  Package natif : rpm, deb, msi

▪ Build répétable −  Séquentiel : « installer ceci , puis cela »

•  « Old School »

−  Spécification : « cette machine doit avoir un serveur Web sur le port 9090 avec un utilisateur dédié » •  Puppet, Chef, Ansible.

▪ Livrable : un environnement

Page 7: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

7 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Le  «  Build  »  Ops  

▪ Principe: Installer & configurer (OS, Middleware, Sécurité..)

▪ Outils −  Script Shell (.bat ,.ps1, .sh) −  Package natif : rpm, deb, msi

▪ Build répétable −  Séquentiel : « installer ceci , puis cela » −  Spécification : « cette machine doit avoir un serveur Web sur le port 9090 avec un utilisateur dédié »

▪ Livrable : un environnement

Page 8: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

8 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Le  «  Build  »  Ops  

L’environnement est caractérisé par : ▪ un ensemble de containers, des éléments

d’infrastructure ou de middleware décrits du point de vue du déploiement (machine, serveur d’application, serveur web, base de données …) sur lesquels on va déployer l’application, ▪ un ensemble de dictionnaires qui décrivent la

configuration à appliquer. Exemple : username, password, répertoire, ports, placeholders à remplacer dans les fichiers de configuration.

Page 9: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

9 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Classique  échange  entre  Dev  &  Ops  

Page 10: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

10 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Comment  je  déploie  ?  

«  J’écrase  la  version  précédente  »  «  Hey  Ops,  file  moi  les  accès  root  »  

« Il est ou le document Word d’installation ? » « Hey Dev! donne moi un script pour installer ton application »

Page 11: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

11 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Le  déploiement  :  Le  «  Build  »  DevOps  

▪ Spécification de l’état final −  Une version de l’application −  Un environnement −  Chaque élément du package est associé avec un ou plusieurs cibles −  Chaque élément peut être configuré

Page 12: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

12 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

XL  Deploy:  un  modèle  de  déploiement  unifié  

Package  de  Déploiement   Environnement  

Applica4on  Déployée  

Déploiement  

Mappe  les  artefacts  et  resources  du  Package  de  Déploiement  sur  l’Environnement  pour  les  rendre  spécifiques  à  

l’Environnement  

Indépendant  de  l’Environnement  

Page 13: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

13 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Périmètre  fonctionnel  de  XL  Deploy        

GERER  UN  ETAT  

o  Basé  sur  un  modèle  (UDM)  

o  Référen.el  

o  des  environnements      

o  des  applica4ons  

o  des  versions  applica4ves  installées  o  Point  central  de  configura.on  et  de    paramétrage  de  ressources  

o  Ges4on  complète  de  la  traçabilité  

ANALYSER  LES  CHANGEMENTS  

o  Moteur  de  calcul  automa.que  des  

plans  de  déploiement  (“AutoFlow”)  

o  Calcul  des  deltas  entre  packages  

TRANSPORTER  et  EXECUTER  

o  Automate  de  déploiement  

des  packages  applica4fs  sur  

les  serveurs  

o  Exécu.on  des  commandes  

Page 14: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

14 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Architecture  XL  Deploy  

Page 15: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

15 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Plugins  et  points  d’extensions  

U.liser  Out  of  the  Box  

o  Apportent  le  savoir-­‐faire  (les  règles)  de  

déploiement  

o  Travaillent  de  concert  pour  cons4tuer  la  tâche  de  déploiement   Plugins  payants   Plugins  inclus   Plugins  

communautaires  

IBM  WAS  6,  7,  8  et  8.5  IBM  WebSphere  MQ  IBM  WebSphere  Process  Server  Oracle  Weblogic  Server  9,  10,  11g,  12c  Oracle  Service  Bus  10  et  11  JBoss  Applica4on  Server  4,  5,  6  ,7  Tomcat  Server  Microsoc  Windows  /  IIS  /  Biztalk  F5  Networks  Big  IP  Citrix  Netscaler  

Command  File  Web  Server  Database  No4fica4on  Release  Authoriza4on  Maven  Bamboo  Jenkins  TFS  

Test    Applica4on  Lock  Change  Management  Apache  mod_jk  Scheduler  /  SLA  Generic  Load  Balancer  DataPower  RPM  Personal  Creden4als  Puppet  

Etendre/paramétrer/modifier  

o  Les  plugins  par  simple  configura4on  

(XML)  pour  refléter  ses  propres  règles  

Créer  simplement  

o  Sa  propre  règle  de  déploiement  avec  le  

“Generic  Plugin”  

Page 16: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

16 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

XL  Deploy,  solution  d’entreprise    transverse  sécurisée  

Page 17: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

17 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

XL  Deploy  :  réconcilier  Dev  et  Ops  

XL  Dep

loy  

Developer

System Administrator

Importent    

Déclarent    Découvrent  

Page 18: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

18 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Solution  type  «  Livraison  Continue  »  

Development   Test   Acceptance   Produc.on  

App  B  V  3.3  

App  B  V  3.2  

App  B  V  3.1  

App  B  V  3.0  

Development   Test    

Acceptance   Produc.on  

App  A  V  2.0  

App  A  V  1.2  

App  A  V  1.1  

App  A  V  1.0  

Projets en développement

Intégration Continue

Provisioning d’infrastructure

Automatisation des déploiements

   

Page 19: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

19 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Proposition  de  valeur  et  différentiateurs  XebiaLabs  

   

AutoFlow  Pas  de  scripts  à  écrire  /  à  maintenir  

   

Plugins  out  of  the  box  

   

Modèle  puissant,  ouvert  et  extensible  

Rapidité    de  mise  en  oeuvre  

Architecture  sans  agents  

   

Licensing  

Page 20: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

20 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission    

Démo  

Page 21: Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de XebiaLabs

21 Copyright  2014.    Confiden4al  –  Distribu4on  prohibited  without  permission