une mise en production à chaque heure de la journée

43
UTILISEZ VOTRE TÉLÉPHONE OU AUTRE POUR ACCÉDER À CE SITE HTTP://LIVE-FEEDBACK.NET

Upload: elapse-technologies

Post on 05-Jul-2015

734 views

Category:

Technology


2 download

DESCRIPTION

L’intégration continue c’est bien, mais le déploiement continu c’est mieux! Le gain est évident : une boucle de rétroaction encore plus rapide. Les dangers le sont également : les outils et tableaux de bords doivent être digne de confiance. La qualité doit également être au rendez-vous. Comment diminuer ces risques et aller chercher ce gain en rétroaction est le sujet que nous allons explorer.

TRANSCRIPT

Page 1: Une mise en production à chaque heure de la journée

UTILISEZ VOTRE TÉLÉPHONE OU AUTRE POURACCÉDER À CE SITE

HTTP://LIVE-FEEDBACK.NET

Page 2: Une mise en production à chaque heure de la journée

LIVRAISON CONTINUEUNE MISE EN PRODUCTION À CHAQUE DE LA JOURNÉEHEURE

Page 3: Une mise en production à chaque heure de la journée

LES FAMEUSES MISE EN PRODUCTION...Est-ce tout simplement "cowboy"?

Page 4: Une mise en production à chaque heure de la journée

TENONS-NOUS AU COURANT!http://live-feedback.net

Page 5: Une mise en production à chaque heure de la journée

QUI SERAIT ASSEZ CONFIANT POUR FAIREUNE MISE EN PRODUCTION LORS D'UNE

PRÉSENTATION?Pourquoi?

Page 6: Une mise en production à chaque heure de la journée

QU'EST-CE QU'ON VIENT DE RÉALISER?On s'est donné les moyens de faire de la livraison continue!

Page 7: Une mise en production à chaque heure de la journée

QU'EST-CE QUE LA LIVRAISON CONTINUE?

Page 8: Une mise en production à chaque heure de la journée

JE ME SENS MOINS NOVATEUR DEPUISMERCREDI PASSÉ...

Microsoft a fait la même démo que moi!

Page 9: Une mise en production à chaque heure de la journée

LE KEYNOTE DE LA CONFÉRENCE CONNECT();

Page 10: Une mise en production à chaque heure de la journée

UNE MISE EN PRODUCTION, C'EST UNMARATHON

Page 11: Une mise en production à chaque heure de la journée

AVERTISSEMENT Je suis un peu fou!

Page 12: Une mise en production à chaque heure de la journée

ÉTAPE 1Tout doit être dans le contrôle de source

Page 13: Une mise en production à chaque heure de la journée

LA CONFIGURATIONDes serveurs, des environnements de développement, etc.

Page 14: Une mise en production à chaque heure de la journée

LA BASE DE DONNÉESOu les migrations nécessaires

Page 15: Une mise en production à chaque heure de la journée

LE CODEÇa semble évident, mais absolument tout doit y être : cronjob,

services, etc.

Page 16: Une mise en production à chaque heure de la journée

TOUT CECI EST INCRÉMENTAL!

Page 17: Une mise en production à chaque heure de la journée

TOUT CECI EST TESTABLE!

Page 18: Une mise en production à chaque heure de la journée

ÉTAPE 2Configuration des environnements

Page 19: Une mise en production à chaque heure de la journée

UN ENVIRONNEMENT DE DÉVELOPPEMENTTOUJOURS PRÊT

Page 20: Une mise en production à chaque heure de la journée

LES MODIFICATIONS DIRECTEMENT SUR LESERVEUR

La pire gaffe à faire!

Page 21: Une mise en production à chaque heure de la journée

DOCKER

Page 22: Une mise en production à chaque heure de la journée

ÉTAPE 3Les tests doivent pouvoir s'exécuter facilement

Page 23: Une mise en production à chaque heure de la journée

À ÉVITERPour faire passer le test X tu as besoin d'installer

Y... fait juste l'ignorer.

Page 24: Une mise en production à chaque heure de la journée

DU FEEDBACK RAPIDE ET CONTINUQui provient du même environnement que la prod!

Page 25: Une mise en production à chaque heure de la journée

ÉTAPE 4Publier un et un seul paquet pour les installations

Page 26: Une mise en production à chaque heure de la journée

AVEC DOCKERUne nouvelle image pour chaque version!

Page 27: Une mise en production à chaque heure de la journée

AMÉLIORER L'ENSEMBLEMerge fréquents et résultat cohérent

Page 28: Une mise en production à chaque heure de la journée

ÉTAPE 5Un déploiement et rapidesimple

Page 29: Une mise en production à chaque heure de la journée

DÉPLOYEZ TÔT ET SOUVENTNe faites pas l'erreur de vous dire "c'est trop simple pour

l'instant"

Page 30: Une mise en production à chaque heure de la journée

ÉVITEZ LES ERREURS HUMAINESEt réduisez votre "bus factor"

Page 31: Une mise en production à chaque heure de la journée

DÉPLOYER N'IMPORTE OÙ

Page 32: Une mise en production à chaque heure de la journée

LE "RELEASE TRAIN" DE SAFE

Page 33: Une mise en production à chaque heure de la journée

OBTENEZ DU FEEDBACK PLUS RAPIDE ETFRÉQUENT

Page 34: Une mise en production à chaque heure de la journée

DÉPLOYEZ DE PETITS MORCEAUX CHAQUEFOIS

Page 35: Une mise en production à chaque heure de la journée

PRÉVOYEZ LES PROBLÈMES: PRATIQUEZ LES"ROLLBACK"

Page 36: Une mise en production à chaque heure de la journée

ÉTAPE 6Déploiement sans interruption

Page 37: Une mise en production à chaque heure de la journée

EN 5-10 SECONDES, ON AMis à jour l'image DockerDémarré l'application dans le nouveau conteneur, en parallèlede l'ancienFait des tests pour voir que tout est beau (health check)Mis à jour la configuration du proxyEnvoyé un message au site pour aviser de la mise à jour(broadcast)Mis en attente toutes les connexions au serveurRechargé la configuration du proxyRéouvert les connexions

Page 38: Une mise en production à chaque heure de la journée

CE N'EST PAS SEULEMENT POUR LES MISESEN PRODUCTION

Augmente souvent la résilience du produit

Page 39: Une mise en production à chaque heure de la journée

LES FAMEUSES MISE EN PRODUCTION...Est-ce tout simplement "cowboy"?

Page 40: Une mise en production à chaque heure de la journée

INTERESSÉS?Commencez tranquillement à tout automatiser, ne prennez pas

de trop grosses bouchées!

Page 41: Une mise en production à chaque heure de la journée

RESTEZ LEANEst-ce nécessaire d'avoir aucune interruption?

Page 42: Une mise en production à chaque heure de la journée

VOTRE CLIENT VOUS EN REMERCIERAArrêtons d'être le goulot d'étranglement

Page 43: Une mise en production à chaque heure de la journée

IL RESTE ÉGALEMENT LA QUESTION DE LABASE DE DONNÉES...

Malheureusement, on devra se reprendre!