SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Déploiement
 continu en
 production
  Claude Falguière
 Agile France le 26 Mai 2011
Copyright notice

●   Vous êtes libre de :                           http://creativecommons.org/licenses/by/3.0
                                                   /
    ●   Reproduire, distribuer et communiquer cette création au public
    ●   Modifier cette création
●   Selon les conditions suivantes :
    ●   Paternité. Vous devez citer le nom de l'auteur original de la
        manière indiquée par l'auteur de l'oeuvre ou le titulaire des droits
        qui vous confère cette autorisation (mais pas d'une manière qui
        suggérerait qu'ils vous soutiennent ou approuvent votre
        utilisation de l'oeuvre).
    ●   Rien dans ce contrat ne diminue ou ne restreint le droit moral de
        l'auteur ou des auteurs.

                            Continuous deployment - Falguière                              2
Claude Falguière
Architecte
                                                 @cfalguiere
Technique
          Devops
  Usines logicielles
       Performances
   Déploiement
          Java


             Continuous deployment - Falguière                 3
Continu
 Continuous deployment - Falguière   4
Déploiement
Continu
Pas seulement
automatisé

Pas forcément sans
intervention humaine

           Continuous deployment - Falguière   5
Batch & queue

Produire un lot
Livrer le lot

Délai
Exceptionnel
Volume
               Continuous deployment - Falguière   6
Continuous Flow

Livrer au fur et
à mesure

Réactivité
Banalise
Ciblé

               Continuous deployment - Falguière   7
Continuous
                                    Deployment
          Continuous
           Delivery
Continuous
Integration




              Continuous deployment - Falguière   8
REX
Continuous deployment - Falguière   9
Continuous deployment - Falguière   10
Contexte


Startup
Refonte
Domaine complexe
Difficile tester en simulation
Grand nombre de serveurs

             Continuous deployment - Falguière   11
DEVOPS

DEVOPS
 Continuous deployment - Falguière   12
devops

Une application ne
 rend le service
     prévu aux
utilisateurs que si
      elle est

  déployée

            Continuous deployment - Falguière   13
devops

Peur des déploiements
Ça marche chez moi !




           Continuous deployment - Falguière   14
devops

Peur des déploiements
Ça marche chez moi !

           Coopérer dès le début

                    Abattre les silos


           Continuous deployment - Falguière   15
devops


 Des Blogs
     http://parisdevops.fr/
     http://devops.fr




         Continuous deployment - Falguière   16
devops

   Des User Groups
              Lille-devops
              Paris-devops

                           Et chez vous ?



         Continuous deployment - Falguière   17
Production

   Continuous deployment - Falguière   18
Deploiement

mvn deploy

                     mettre à disposition
                        des utilisateurs
                                      Avertir les utilisateurs
                                      Arrêter le service
                                      Installer
                                      Vérifier
                                      Avertir les utilisateurs

             Continuous deployment - Falguière                    19
Vous êtes
                   ici
La cible
L'environnement de dev


                Continuous deployment - Falguière   20
Provisioning
      Approvisionnement



L'affectation plus ou moins automatisée
de ressources à un utilisateur

               Packages Linux
                Repo Maven
      <votre-smartphone-préféré>Store

              Continuous deployment - Falguière   21
Test / Production

Nombre : Clusters & Fermes

Sécurité & Confidentialité


Rollback

           Continuous deployment - Falguière   22
Responsabilités
       Confidentialité, Sécurité
         Interdépendances
        Opérations planifiées

    assembler
       → approvisionner
                    → installer
                      → déployer
          Continuous deployment - Falguière   23
Jusque là tout va bien

       Continuous deployment - Falguière   24
Livrer au plus tôt

Livrer des features

Feature flags → par environnement
Feature flippers → par user



            Continuous deployment - Falguière   25
Tester au plus tôt

Smoke test
Tests automatisés (raisonnablement)

Déploiement progressif / green-blue
Tests en production


            Continuous deployment - Falguière   26
Evaluer au plus tôt

Inclure les retours des utilisateurs

Tests beta (feature flippers)

A/B testings (feature flags)


             Continuous deployment - Falguière   27
Processus Fast Fail
Analyser les causes

Améliorer
Prévenir
Impliquer



             Continuous deployment - Falguière   28
Automatiser
   Continuous deployment - Falguière   29
Installer Facilement

1) Processus clair
2) Outillé
3) Automatisé

Etape par étape
Laisser la place à l'humain (BdD)

             Continuous deployment - Falguière   30
Installer au plus tôt

Env Tests/Recette
      ≅ Env Production

Déminer
Simplifier


             Continuous deployment - Falguière   31
Qui déclenche ?

PO + SM + OPS

Autopromote
     #deploy #env



           Continuous deployment - Falguière   32
Surveiller

Pendant
  Juste après
    Après

Monitoring
Autodiagnostic, journaux

            Continuous deployment - Falguière   33
Changement

   Continuous deployment - Falguière   34
Résistances

Application installable
Stop the line pour la production

Croyances
  Tout doit être testé
  Ma raison d'être est d'installer

           Continuous deployment - Falguière   35
Outils utiles

Cfengine/MCollective/RunDeck/Fabric
/Capistrano vs Hudson/Jenkins

Git vs SVN

Script vs Maven

             Continuous deployment - Falguière   36
L'usine
  Continuous deployment - Falguière   37
Continuous deployment - Falguière   38
e pr int
Blu




              Continuous deployment - Falguière   39
Merci pour votre attention

    Vos questions ?

                                             @cfalguiere
         Continuous deployment - Falguière             40
Quelques Lectures
http://continuousdelivery.com/
      http://continuousdelivery.com/2011/05/make-large-scale-changes-incrementally-
      with-branch-by-abstraction/
      http://continuousdelivery.com/2010/08/continuous-delivery-vs-continuous-deployment/

http://www.slideshare.net/ashmaurya/continuous-deployment-startup-lessons-learned
http://programmerjoe.com/2009/02/19/the-hard-part-of-continuous-deployment/
http://programmerjoe.com/2009/02/12/continuous-deployment-with-thick-clients/
http://www.codemanship.co.uk/parlezuml/blog/?postid=955
http://www.tvagile.com/2010/08/04/continuous-integration-pipelines-and-deployment/
http://www.slicedbreaddesign.com/blog/index.php/2009/11/is-continuous-deployment-good-for-users
http://code.flickr.com/blog/2009/12/02/flipping-out/
http://martinfowler.com/bliki/BlueGreenDeployment.html
http://eng.wealthfront.com/2010/05/deployment-infrastructure-for.html




                                    Continuous deployment - Falguière                       41
Crédits photo
  http://www.flickr.com/photos/pjb2332/1892076224

                http://www.flickr.com/photos/jurvetson/5126137767

                               http://www.flickr.com/photos/wirralwater/3304595702


      http://www.flickr.com/photos/hugo90/5360024969

                   http://www.flickr.com/photos/grill/5704051872

                                   http://www.flickr.com/photos/deltamike/112665695


  http://www.flickr.com/photos/theplanetdotcom/4878815037
            http://www.flickr.com/photos/edvvc/1972546648



                        Continuous deployment - Falguière                        42
Crédits photo
   http://www.flickr.com/photos/ecru76/2709226929

                http://www.flickr.com/photos/abbot45/309058972
                               http://www.flickr.com/photos/seeminglee/3929959851


   http://www.flickr.com/photos/publicresourceorg/4245550588

                http://www.flickr.com/photos/theleticiabertin/5344450700

                          http://www.flickr.com/photos/pjb2332/2209369645


   http://www.flickr.com/photos/pjb2332/2095801220




                     Continuous deployment - Falguière                       43

Mais conteúdo relacionado

Mais procurados

Nouveaux espaces d'apprentissage enseigner avec la vidéo
Nouveaux espaces  d'apprentissage enseigner avec la vidéoNouveaux espaces  d'apprentissage enseigner avec la vidéo
Nouveaux espaces d'apprentissage enseigner avec la vidéoChristophe Batier
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration ContinueFrédéric Sagez
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 
Introduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuéesIntroduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuéesSOAT
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes PratiquesEmmanuel Hugonnet
 
Hibernate Native : télécharger et configurer
Hibernate Native : télécharger et configurerHibernate Native : télécharger et configurer
Hibernate Native : télécharger et configurerProfLibre
 

Mais procurados (7)

Nouveaux espaces d'apprentissage enseigner avec la vidéo
Nouveaux espaces  d'apprentissage enseigner avec la vidéoNouveaux espaces  d'apprentissage enseigner avec la vidéo
Nouveaux espaces d'apprentissage enseigner avec la vidéo
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration Continue
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
 
Soiree Maven 2
Soiree Maven 2Soiree Maven 2
Soiree Maven 2
 
Introduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuéesIntroduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuées
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
 
Hibernate Native : télécharger et configurer
Hibernate Native : télécharger et configurerHibernate Native : télécharger et configurer
Hibernate Native : télécharger et configurer
 

Destaque

Joe Mobile sur le Cloud - DevoxxFR 2013
Joe Mobile sur le Cloud - DevoxxFR 2013Joe Mobile sur le Cloud - DevoxxFR 2013
Joe Mobile sur le Cloud - DevoxxFR 2013Cyrille Le Clerc
 
Petit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 EurositesPetit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 EurositesHervé Leclerc
 
Ruby and Framework Security
Ruby and Framework SecurityRuby and Framework Security
Ruby and Framework SecurityCreston Jamison
 
Retour d'expérience sur Capistrano
Retour d'expérience sur CapistranoRetour d'expérience sur Capistrano
Retour d'expérience sur CapistranoOxalide
 
Devops@Kelkoo - Agile Grenoble 2012
Devops@Kelkoo - Agile Grenoble 2012Devops@Kelkoo - Agile Grenoble 2012
Devops@Kelkoo - Agile Grenoble 2012Nicolas Capponi
 
Happy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMCHappy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMCLudovic A
 
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCRetour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCLudovic A
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - PrésentationDavid RIEHL
 
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséDécouvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséECAM Brussels Engineering School
 
French Webinar: XL Deploy 4.0
French Webinar: XL Deploy 4.0French Webinar: XL Deploy 4.0
French Webinar: XL Deploy 4.0XebiaLabs
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nulsMalk Zameth
 
Symfony Live Paris 2016 - Ce que nous avons retenu
Symfony Live Paris 2016 - Ce que nous avons retenuSymfony Live Paris 2016 - Ce que nous avons retenu
Symfony Live Paris 2016 - Ce que nous avons retenuSooyoos
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
 
Presentation du framework symfony
Presentation du framework symfonyPresentation du framework symfony
Presentation du framework symfonyJeremy Gachet
 
Orchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesOrchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesXavier Gorse
 

Destaque (20)

Joe Mobile sur le Cloud - DevoxxFR 2013
Joe Mobile sur le Cloud - DevoxxFR 2013Joe Mobile sur le Cloud - DevoxxFR 2013
Joe Mobile sur le Cloud - DevoxxFR 2013
 
Ruby Daemons
Ruby DaemonsRuby Daemons
Ruby Daemons
 
Petit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 EurositesPetit DéJeuner Industrialisation 13 10 2011 Eurosites
Petit DéJeuner Industrialisation 13 10 2011 Eurosites
 
Ruby and Framework Security
Ruby and Framework SecurityRuby and Framework Security
Ruby and Framework Security
 
Retour d'expérience sur Capistrano
Retour d'expérience sur CapistranoRetour d'expérience sur Capistrano
Retour d'expérience sur Capistrano
 
Capistrano 3 Deployment
Capistrano 3 DeploymentCapistrano 3 Deployment
Capistrano 3 Deployment
 
Devops@Kelkoo - Agile Grenoble 2012
Devops@Kelkoo - Agile Grenoble 2012Devops@Kelkoo - Agile Grenoble 2012
Devops@Kelkoo - Agile Grenoble 2012
 
Happy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMCHappy birthday "monUPMC": 9 years of Portal at UPMC
Happy birthday "monUPMC": 9 years of Portal at UPMC
 
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMCRetour d'expérience : Mise en place de l'ENT v4 à l'UPMC
Retour d'expérience : Mise en place de l'ENT v4 à l'UPMC
 
Dev opsday case study
Dev opsday   case studyDev opsday   case study
Dev opsday case study
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - Présentation
 
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentraliséDécouvrir et utiliser Git : le logiciel de gestion de versions décentralisé
Découvrir et utiliser Git : le logiciel de gestion de versions décentralisé
 
French Webinar: XL Deploy 4.0
French Webinar: XL Deploy 4.0French Webinar: XL Deploy 4.0
French Webinar: XL Deploy 4.0
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nuls
 
Symfony Live Paris 2016 - Ce que nous avons retenu
Symfony Live Paris 2016 - Ce que nous avons retenuSymfony Live Paris 2016 - Ce que nous avons retenu
Symfony Live Paris 2016 - Ce que nous avons retenu
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
Presentation du framework symfony
Presentation du framework symfonyPresentation du framework symfony
Presentation du framework symfony
 
Symfony Best Practices
Symfony Best PracticesSymfony Best Practices
Symfony Best Practices
 
DevOps
DevOpsDevOps
DevOps
 
Orchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notesOrchestrez vos projets Symfony sans fausses notes
Orchestrez vos projets Symfony sans fausses notes
 

Semelhante a Deploiement continu AgileFfrance 2011

[Case Study] Optimisation du système de sauvegarde informatique
[Case Study] Optimisation du système de sauvegarde informatique[Case Study] Optimisation du système de sauvegarde informatique
[Case Study] Optimisation du système de sauvegarde informatiqueGroupe D.FI
 
Ce qu'il faut retenir de la FrenchKit iOS
Ce qu'il faut retenir de la FrenchKit iOSCe qu'il faut retenir de la FrenchKit iOS
Ce qu'il faut retenir de la FrenchKit iOSNiji
 
Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de Xebi...
Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de Xebi...Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de Xebi...
Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de Xebi...Publicis Sapient Engineering
 
Webinar XL Release in French - November 2016
Webinar XL Release in French - November 2016Webinar XL Release in French - November 2016
Webinar XL Release in French - November 2016XebiaLabs
 
Devops chez Voyages-Sncf.com
Devops chez Voyages-Sncf.comDevops chez Voyages-Sncf.com
Devops chez Voyages-Sncf.comantony_guilloteau
 
Webinar: Passez progressivement de releases manuelles
Webinar: Passez progressivement de releases manuellesWebinar: Passez progressivement de releases manuelles
Webinar: Passez progressivement de releases manuellesXebiaLabs
 
Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Ippon
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitairespprem
 
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008FAN, Fully Automated Nagios, Paris Capitale du Libre 2008
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008FAN Fully Automated Nagios
 
Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.Amélie DUVERNET
 
Alphorm.com Formation Odoo Technique : Installer et Configurer
Alphorm.com Formation Odoo Technique : Installer et ConfigurerAlphorm.com Formation Odoo Technique : Installer et Configurer
Alphorm.com Formation Odoo Technique : Installer et ConfigurerAlphorm
 
Utiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateformeUtiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateformepprem
 
La Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SILa Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SIcpruvost
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
FusionDirectory : Industrialisation du déploiement
FusionDirectory : Industrialisation du déploiement FusionDirectory : Industrialisation du déploiement
FusionDirectory : Industrialisation du déploiement Anne Nicolas
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache MavenArnaud Héritier
 
20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyon20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyonClement Bouillier
 
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs XebiaLabs
 

Semelhante a Deploiement continu AgileFfrance 2011 (20)

[Case Study] Optimisation du système de sauvegarde informatique
[Case Study] Optimisation du système de sauvegarde informatique[Case Study] Optimisation du système de sauvegarde informatique
[Case Study] Optimisation du système de sauvegarde informatique
 
Ce qu'il faut retenir de la FrenchKit iOS
Ce qu'il faut retenir de la FrenchKit iOSCe qu'il faut retenir de la FrenchKit iOS
Ce qu'il faut retenir de la FrenchKit iOS
 
Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de Xebi...
Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de Xebi...Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de Xebi...
Journée DevOps : Les piliers du déploiement applicatif avec XL Deploy de Xebi...
 
Webinar XL Release in French - November 2016
Webinar XL Release in French - November 2016Webinar XL Release in French - November 2016
Webinar XL Release in French - November 2016
 
Push notification
Push notificationPush notification
Push notification
 
Devops chez Voyages-Sncf.com
Devops chez Voyages-Sncf.comDevops chez Voyages-Sncf.com
Devops chez Voyages-Sncf.com
 
Webinar: Passez progressivement de releases manuelles
Webinar: Passez progressivement de releases manuellesWebinar: Passez progressivement de releases manuelles
Webinar: Passez progressivement de releases manuelles
 
Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitaires
 
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008FAN, Fully Automated Nagios, Paris Capitale du Libre 2008
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008
 
Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.
 
Alphorm.com Formation Odoo Technique : Installer et Configurer
Alphorm.com Formation Odoo Technique : Installer et ConfigurerAlphorm.com Formation Odoo Technique : Installer et Configurer
Alphorm.com Formation Odoo Technique : Installer et Configurer
 
Usine logicielle ios
Usine logicielle iosUsine logicielle ios
Usine logicielle ios
 
Utiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateformeUtiliser l'EDI pour développer en multiplateforme
Utiliser l'EDI pour développer en multiplateforme
 
La Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SILa Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SI
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
FusionDirectory : Industrialisation du déploiement
FusionDirectory : Industrialisation du déploiement FusionDirectory : Industrialisation du déploiement
FusionDirectory : Industrialisation du déploiement
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
 
20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyon20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyon
 
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
 

Mais de Claude Falguiere

H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016Claude Falguiere
 
Pres perf human talks mars 2015
Pres perf human talks mars 2015Pres perf human talks mars 2015
Pres perf human talks mars 2015Claude Falguiere
 
Presentation devoxx4kids à iut-agile
Presentation devoxx4kids à iut-agilePresentation devoxx4kids à iut-agile
Presentation devoxx4kids à iut-agileClaude Falguiere
 
Le monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big DataLe monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big DataClaude Falguiere
 
Présentation du user group Duchess France au GDG de Nantes
Présentation du user group Duchess France au GDG de NantesPrésentation du user group Duchess France au GDG de Nantes
Présentation du user group Duchess France au GDG de NantesClaude Falguiere
 
Présentation de Page Speed au GDG de Nantes
Présentation de Page Speed au GDG de NantesPrésentation de Page Speed au GDG de Nantes
Présentation de Page Speed au GDG de NantesClaude Falguiere
 
Présentation Performances Montpellier
Présentation Performances Montpellier Présentation Performances Montpellier
Présentation Performances Montpellier Claude Falguiere
 
Pres android nuit de l'info v3
Pres android nuit de l'info v3Pres android nuit de l'info v3
Pres android nuit de l'info v3Claude Falguiere
 
Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012Claude Falguiere
 
La marmite Intro session NoSQL
La marmite Intro session NoSQLLa marmite Intro session NoSQL
La marmite Intro session NoSQLClaude Falguiere
 
Analyse de données avec Incanter
Analyse de données avec IncanterAnalyse de données avec Incanter
Analyse de données avec IncanterClaude Falguiere
 
Analyse de données avec Incanter
Analyse de données avec IncanterAnalyse de données avec Incanter
Analyse de données avec IncanterClaude Falguiere
 
Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012Claude Falguiere
 
Mesurer les performances avec JMeter
Mesurer les performances avec JMeterMesurer les performances avec JMeter
Mesurer les performances avec JMeterClaude Falguiere
 
No sql pour valtech tech days
No sql pour valtech tech daysNo sql pour valtech tech days
No sql pour valtech tech daysClaude Falguiere
 

Mais de Claude Falguiere (20)

H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016
 
Pres perf human talks mars 2015
Pres perf human talks mars 2015Pres perf human talks mars 2015
Pres perf human talks mars 2015
 
Devoxx 2014 monitoring
Devoxx 2014 monitoringDevoxx 2014 monitoring
Devoxx 2014 monitoring
 
Devoxx 2014 Monitoring
Devoxx 2014 Monitoring Devoxx 2014 Monitoring
Devoxx 2014 Monitoring
 
Presentation devoxx4kids à iut-agile
Presentation devoxx4kids à iut-agilePresentation devoxx4kids à iut-agile
Presentation devoxx4kids à iut-agile
 
Le monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big DataLe monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big Data
 
Présentation du user group Duchess France au GDG de Nantes
Présentation du user group Duchess France au GDG de NantesPrésentation du user group Duchess France au GDG de Nantes
Présentation du user group Duchess France au GDG de Nantes
 
Présentation de Page Speed au GDG de Nantes
Présentation de Page Speed au GDG de NantesPrésentation de Page Speed au GDG de Nantes
Présentation de Page Speed au GDG de Nantes
 
Présentation Performances Montpellier
Présentation Performances Montpellier Présentation Performances Montpellier
Présentation Performances Montpellier
 
Pres android nuit de l'info v3
Pres android nuit de l'info v3Pres android nuit de l'info v3
Pres android nuit de l'info v3
 
Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012
 
La marmite Intro session NoSQL
La marmite Intro session NoSQLLa marmite Intro session NoSQL
La marmite Intro session NoSQL
 
Analyse de données avec Incanter
Analyse de données avec IncanterAnalyse de données avec Incanter
Analyse de données avec Incanter
 
Analyse de données avec Incanter
Analyse de données avec IncanterAnalyse de données avec Incanter
Analyse de données avec Incanter
 
Incanter bigdata jsc2012
Incanter bigdata jsc2012Incanter bigdata jsc2012
Incanter bigdata jsc2012
 
Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012
 
Diagnostic performances
Diagnostic performancesDiagnostic performances
Diagnostic performances
 
Diagnostic performances
Diagnostic performancesDiagnostic performances
Diagnostic performances
 
Mesurer les performances avec JMeter
Mesurer les performances avec JMeterMesurer les performances avec JMeter
Mesurer les performances avec JMeter
 
No sql pour valtech tech days
No sql pour valtech tech daysNo sql pour valtech tech days
No sql pour valtech tech days
 

Deploiement continu AgileFfrance 2011

  • 1. Déploiement continu en production Claude Falguière Agile France le 26 Mai 2011
  • 2. Copyright notice ● Vous êtes libre de : http://creativecommons.org/licenses/by/3.0 / ● Reproduire, distribuer et communiquer cette création au public ● Modifier cette création ● Selon les conditions suivantes : ● Paternité. Vous devez citer le nom de l'auteur original de la manière indiquée par l'auteur de l'oeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'oeuvre). ● Rien dans ce contrat ne diminue ou ne restreint le droit moral de l'auteur ou des auteurs. Continuous deployment - Falguière 2
  • 3. Claude Falguière Architecte @cfalguiere Technique Devops Usines logicielles Performances Déploiement Java Continuous deployment - Falguière 3
  • 5. Déploiement Continu Pas seulement automatisé Pas forcément sans intervention humaine Continuous deployment - Falguière 5
  • 6. Batch & queue Produire un lot Livrer le lot Délai Exceptionnel Volume Continuous deployment - Falguière 6
  • 7. Continuous Flow Livrer au fur et à mesure Réactivité Banalise Ciblé Continuous deployment - Falguière 7
  • 8. Continuous Deployment Continuous Delivery Continuous Integration Continuous deployment - Falguière 8
  • 10. Continuous deployment - Falguière 10
  • 11. Contexte Startup Refonte Domaine complexe Difficile tester en simulation Grand nombre de serveurs Continuous deployment - Falguière 11
  • 13. devops Une application ne rend le service prévu aux utilisateurs que si elle est déployée Continuous deployment - Falguière 13
  • 14. devops Peur des déploiements Ça marche chez moi ! Continuous deployment - Falguière 14
  • 15. devops Peur des déploiements Ça marche chez moi ! Coopérer dès le début Abattre les silos Continuous deployment - Falguière 15
  • 16. devops Des Blogs http://parisdevops.fr/ http://devops.fr Continuous deployment - Falguière 16
  • 17. devops Des User Groups Lille-devops Paris-devops Et chez vous ? Continuous deployment - Falguière 17
  • 18. Production Continuous deployment - Falguière 18
  • 19. Deploiement mvn deploy mettre à disposition des utilisateurs  Avertir les utilisateurs  Arrêter le service  Installer  Vérifier  Avertir les utilisateurs Continuous deployment - Falguière 19
  • 20. Vous êtes ici La cible L'environnement de dev Continuous deployment - Falguière 20
  • 21. Provisioning Approvisionnement L'affectation plus ou moins automatisée de ressources à un utilisateur Packages Linux Repo Maven <votre-smartphone-préféré>Store Continuous deployment - Falguière 21
  • 22. Test / Production Nombre : Clusters & Fermes Sécurité & Confidentialité Rollback Continuous deployment - Falguière 22
  • 23. Responsabilités Confidentialité, Sécurité Interdépendances Opérations planifiées assembler → approvisionner → installer → déployer Continuous deployment - Falguière 23
  • 24. Jusque là tout va bien Continuous deployment - Falguière 24
  • 25. Livrer au plus tôt Livrer des features Feature flags → par environnement Feature flippers → par user Continuous deployment - Falguière 25
  • 26. Tester au plus tôt Smoke test Tests automatisés (raisonnablement) Déploiement progressif / green-blue Tests en production Continuous deployment - Falguière 26
  • 27. Evaluer au plus tôt Inclure les retours des utilisateurs Tests beta (feature flippers) A/B testings (feature flags) Continuous deployment - Falguière 27
  • 28. Processus Fast Fail Analyser les causes Améliorer Prévenir Impliquer Continuous deployment - Falguière 28
  • 29. Automatiser Continuous deployment - Falguière 29
  • 30. Installer Facilement 1) Processus clair 2) Outillé 3) Automatisé Etape par étape Laisser la place à l'humain (BdD) Continuous deployment - Falguière 30
  • 31. Installer au plus tôt Env Tests/Recette ≅ Env Production Déminer Simplifier Continuous deployment - Falguière 31
  • 32. Qui déclenche ? PO + SM + OPS Autopromote #deploy #env Continuous deployment - Falguière 32
  • 33. Surveiller Pendant Juste après Après Monitoring Autodiagnostic, journaux Continuous deployment - Falguière 33
  • 34. Changement Continuous deployment - Falguière 34
  • 35. Résistances Application installable Stop the line pour la production Croyances Tout doit être testé Ma raison d'être est d'installer Continuous deployment - Falguière 35
  • 36. Outils utiles Cfengine/MCollective/RunDeck/Fabric /Capistrano vs Hudson/Jenkins Git vs SVN Script vs Maven Continuous deployment - Falguière 36
  • 37. L'usine Continuous deployment - Falguière 37
  • 38. Continuous deployment - Falguière 38
  • 39. e pr int Blu Continuous deployment - Falguière 39
  • 40. Merci pour votre attention Vos questions ? @cfalguiere Continuous deployment - Falguière 40
  • 41. Quelques Lectures http://continuousdelivery.com/ http://continuousdelivery.com/2011/05/make-large-scale-changes-incrementally- with-branch-by-abstraction/ http://continuousdelivery.com/2010/08/continuous-delivery-vs-continuous-deployment/ http://www.slideshare.net/ashmaurya/continuous-deployment-startup-lessons-learned http://programmerjoe.com/2009/02/19/the-hard-part-of-continuous-deployment/ http://programmerjoe.com/2009/02/12/continuous-deployment-with-thick-clients/ http://www.codemanship.co.uk/parlezuml/blog/?postid=955 http://www.tvagile.com/2010/08/04/continuous-integration-pipelines-and-deployment/ http://www.slicedbreaddesign.com/blog/index.php/2009/11/is-continuous-deployment-good-for-users http://code.flickr.com/blog/2009/12/02/flipping-out/ http://martinfowler.com/bliki/BlueGreenDeployment.html http://eng.wealthfront.com/2010/05/deployment-infrastructure-for.html Continuous deployment - Falguière 41
  • 42. Crédits photo http://www.flickr.com/photos/pjb2332/1892076224 http://www.flickr.com/photos/jurvetson/5126137767 http://www.flickr.com/photos/wirralwater/3304595702 http://www.flickr.com/photos/hugo90/5360024969 http://www.flickr.com/photos/grill/5704051872 http://www.flickr.com/photos/deltamike/112665695 http://www.flickr.com/photos/theplanetdotcom/4878815037 http://www.flickr.com/photos/edvvc/1972546648 Continuous deployment - Falguière 42
  • 43. Crédits photo http://www.flickr.com/photos/ecru76/2709226929 http://www.flickr.com/photos/abbot45/309058972 http://www.flickr.com/photos/seeminglee/3929959851 http://www.flickr.com/photos/publicresourceorg/4245550588 http://www.flickr.com/photos/theleticiabertin/5344450700 http://www.flickr.com/photos/pjb2332/2209369645 http://www.flickr.com/photos/pjb2332/2095801220 Continuous deployment - Falguière 43