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

Post on 06-Dec-2014

1.352 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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

Production rollout – It's ALIVE !

Viadeo Tech Days 2012

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 !

Intégration continue

Mesure

Livraison

Amélioration

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é

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

Rollout

trunk

Feature C

Feature B

Feature A

release-next

release-current

release-next

release-current

release-next

Features A & BRollout

release-current

Des outils standards...

L'intelligence vient de l'utilisation conjointe des outils

Selenium

Redmine

Hudson

maven3

Subversion

Deb packageSonar

… 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é-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

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!

top related