production rollout: it's alive, it's alive! par pierre killy

11
Production rollout – It's ALIVE ! Viadeo Tech Days 2012 Pierre Killy

Upload: olivier-dasini

Post on 06-Dec-2014

1.352 views

Category:

Documents


3 download

DESCRIPTION

Le rollout (ou mise en production) est un process necessaire, répétitif, et critique. Nous allons voir quelques grands principes pour l'industrialiser et la sécuriser, et je vous ferais un petit retour d'expérience sur l'automatisation des rollouts chez viadeo http://fr.viadeo.com/fr/profile/pierre.killy

TRANSCRIPT

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

Production rollout – It's ALIVE !

Viadeo Tech Days 2012

Pierre Killy

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

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 !

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

Intégration continue

Mesure

Livraison

Amélioration

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

Think like the other

Le développeur doit penser comme un

rollout manager 

Le rollout manager doit penser comme un

développeur 

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

Le rollout manager est responsable du build dans sa globalité

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

Se rattraper aux branches...

Un projet = une branche

Trunk « releasable »

En prod : release-current

En preprod : release-next

Release-current est déployée tous les jours avec des bugfixes !

Principes : Mise en prod feature :

Création de release-next depuis le trunk

Release-next est testée en preprod : QA, intégration, etc.

Release-next devient release-current et passe en production

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

Rollout

trunk

Feature C

Feature B

Feature A

release-next

release-current

release-next

release-current

release-next

Features A & BRollout

release-current

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

Des outils standards...

L'intelligence vient de l'utilisation conjointe des outils

Selenium

Redmine

Hudson

maven3

Subversion

Deb packageSonar

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

… 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

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

Industrialiser = automatiser

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

Mise à jour automatique de la pré-productionMise à 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

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

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

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

Merci de votre attention,

à vos questions!