SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Production rollout – It's ALIVE !
                       Pierre Killy




                    Viadeo Tech Days 2012
Business requires change

–   Il faut évoluer constamment pour rester dans la course

–   Le changement est la première cause de problèmes !

–   Comment livrer vite et souvent, en restant stable :

       Principe de l'intégration continue : évoluer par petites itérations

       Des outils simples, utilisés ensemble

       Une philosophie de travail




                  Avancer en maîtrisant le risque !
Intégration continue




     Mesure                 Amélioration




                Livraison
Think like the other



Le rollout manager doit                        Le développeur doit
  penser comme un                              penser comme un
     développeur                                 rollout manager
                                                          




   Le développeur est responsable de tout ce qu'il a écrit, pour toujours



   Le rollout manager est responsable du build dans sa globalité
Se rattraper aux branches...


Principes :                          Mise en prod feature :

   Un projet = une branche               Création de release-next
                                         depuis le trunk
   Trunk « releasable »
                                         Release-next est testée en
   En prod : release-current             preprod : QA, intégration, etc.

   En preprod : release-next             Release-next devient release-
                                         current et passe en production




   Release-current est déployée tous les jours avec des bugfixes !
Features A & B
                         Rollout                         Rollout

    release-current                release-current              release-current



       release-next                    release-next               release-next



    trunk




Feature A                  Feature C



             Feature B
Des outils standards...

                           maven3
                                                       Sonar
Deb package



                         Hudson
                                                     Subversion


    Selenium
                                 Redmine



    L'intelligence vient de l'utilisation conjointe des outils
… et des indicateurs !

    Suivi des erreurs de prod

    Analyse automatique des erreurs de release-next en
    comparaison avec celles de release-current

    KPIs business : chiffre d'affaire, mises en relation, logins, etc.

    KPIs par feature, spécifiques aux usages




   Réserver son temps pour les tâches à forte valeur ajoutée
Industrialiser = automatiser

    Branchage, Cherry-picking, build, exécution des tests sont
    100 % automatisés

    Mise à jour automatique de la pré-production
    Mise à jour semi-auto pour le staging et la production

    Ne jamais faire 2 fois la même chose : la deuxième fois, il faut
    l'automatiser !




   Réserver son temps pour les tâches à forte valeur ajoutée
Work in progress

   Environnements d'intégration pour chaque branche

   Traduction in-place, en WYSIWYG

   Intégration des erreurs front-end

   Des backoffices de suivi et d'alerte sur les indicateurs

   Mise en prod features hebdomadaire, puis à la demande, pour
   chaque feature




       Le process de rollout est en constante évolution
Merci de votre attention,




                à vos questions!

Mais conteúdo relacionado

Mais de Olivier DASINI

MySQL 8.0.21 - New Features Summary
MySQL 8.0.21 - New Features SummaryMySQL 8.0.21 - New Features Summary
MySQL 8.0.21 - New Features SummaryOlivier DASINI
 
MySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features SummaryMySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features SummaryOlivier DASINI
 
MySQL 8.0.18 - New Features Summary
MySQL 8.0.18 - New Features SummaryMySQL 8.0.18 - New Features Summary
MySQL 8.0.18 - New Features SummaryOlivier DASINI
 
MySQL 8.0.17 - New Features Summary
MySQL 8.0.17 - New Features SummaryMySQL 8.0.17 - New Features Summary
MySQL 8.0.17 - New Features SummaryOlivier DASINI
 
MySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryMySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryOlivier DASINI
 
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the DolphinMySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the DolphinOlivier DASINI
 
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsMySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsOlivier DASINI
 
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0Olivier DASINI
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...Olivier DASINI
 
MySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document StoreMySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document StoreOlivier DASINI
 
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?Olivier DASINI
 
MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018Olivier DASINI
 
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...Olivier DASINI
 
MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?Olivier DASINI
 
MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...Olivier DASINI
 
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)Olivier DASINI
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLOlivier DASINI
 
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisMySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisOlivier DASINI
 
MySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionMySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionOlivier DASINI
 
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceMySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceOlivier DASINI
 

Mais de Olivier DASINI (20)

MySQL 8.0.21 - New Features Summary
MySQL 8.0.21 - New Features SummaryMySQL 8.0.21 - New Features Summary
MySQL 8.0.21 - New Features Summary
 
MySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features SummaryMySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features Summary
 
MySQL 8.0.18 - New Features Summary
MySQL 8.0.18 - New Features SummaryMySQL 8.0.18 - New Features Summary
MySQL 8.0.18 - New Features Summary
 
MySQL 8.0.17 - New Features Summary
MySQL 8.0.17 - New Features SummaryMySQL 8.0.17 - New Features Summary
MySQL 8.0.17 - New Features Summary
 
MySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryMySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features Summary
 
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the DolphinMySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
 
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsMySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
 
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
 
MySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document StoreMySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document Store
 
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
 
MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018
 
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
 
MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?
 
MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...
 
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
 
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisMySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
 
MySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionMySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise Edition
 
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceMySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
 

Production rollout: It's alive, it's ALIVE! par Pierre Killy

  • 1. Production rollout – It's ALIVE ! Pierre Killy Viadeo Tech Days 2012
  • 2. Business requires change – Il faut évoluer constamment pour rester dans la course – Le changement est la première cause de problèmes ! – Comment livrer vite et souvent, en restant stable : Principe de l'intégration continue : évoluer par petites itérations Des outils simples, utilisés ensemble Une philosophie de travail Avancer en maîtrisant le risque !
  • 3. Intégration continue Mesure Amélioration Livraison
  • 4. Think like the other Le rollout manager doit Le développeur doit penser comme un penser comme un développeur  rollout manager   Le développeur est responsable de tout ce qu'il a écrit, pour toujours Le rollout manager est responsable du build dans sa globalité
  • 5. Se rattraper aux branches... Principes : Mise en prod feature : Un projet = une branche Création de release-next depuis le trunk Trunk « releasable » Release-next est testée en En prod : release-current preprod : QA, intégration, etc. En preprod : release-next Release-next devient release- current et passe en production Release-current est déployée tous les jours avec des bugfixes !
  • 6. Features A & B Rollout Rollout release-current release-current release-current release-next release-next release-next trunk Feature A Feature C Feature B
  • 7. Des outils standards... maven3 Sonar Deb package Hudson Subversion Selenium Redmine L'intelligence vient de l'utilisation conjointe des outils
  • 8. … et des indicateurs ! Suivi des erreurs de prod Analyse automatique des erreurs de release-next en comparaison avec celles de release-current KPIs business : chiffre d'affaire, mises en relation, logins, etc. KPIs par feature, spécifiques aux usages Réserver son temps pour les tâches à forte valeur ajoutée
  • 9. Industrialiser = automatiser Branchage, Cherry-picking, build, exécution des tests sont 100 % automatisés Mise à jour automatique de la pré-production Mise à jour semi-auto pour le staging et la production Ne jamais faire 2 fois la même chose : la deuxième fois, il faut l'automatiser ! Réserver son temps pour les tâches à forte valeur ajoutée
  • 10. Work in progress Environnements d'intégration pour chaque branche Traduction in-place, en WYSIWYG Intégration des erreurs front-end Des backoffices de suivi et d'alerte sur les indicateurs Mise en prod features hebdomadaire, puis à la demande, pour chaque feature Le process de rollout est en constante évolution
  • 11. Merci de votre attention, à vos questions!