43
Déploiement continu en production Claude Falguière Agile France le 26 Mai 2011

Deploiement continu AgileFfrance 2011

Embed Size (px)

DESCRIPTION

Présentation Déploiement Continu à Agile France

Citation preview

Page 1: Deploiement continu AgileFfrance 2011

Déploiement continu en production

Claude FalguièreAgile France le 26 Mai 2011

Page 2: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 2

Copyright notice

● Vous êtes libre de :● 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.

http://creativecommons.org/licenses/by/3.0/

Page 3: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 3

Claude Falguière

@cfalguiereArchitecte Technique

Déploiement

Usines logiciellesPerformances

Devops

Java

Page 4: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 4

Continu

Page 5: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 5

Déploiement

Continu

Pas seulement automatisé

Pas forcément sans intervention humaine

Page 6: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 6

Batch & queue

Produire un lotLivrer le lot

DélaiExceptionnelVolume

Page 7: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 7

Livrer au fur et à mesure

RéactivitéBanaliseCiblé

Continuous Flow

Page 8: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 8

ContinuousIntegration

ContinuousDelivery

ContinuousDeployment

Page 9: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 9

REX

Page 10: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 10

Page 11: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 11

Contexte

StartupRefonteDomaine complexeDifficile tester en simulationGrand nombre de serveurs

Page 12: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 12

DEVOPS

DEVOPS

Page 13: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 13

Une application ne rend le service

prévu aux utilisateurs que si

elle est

déployée

devops

Page 14: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 14

devops

Peur des déploiements

Ça marche chez moi !

Page 15: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 15

Coopérer dès le début

Abattre les silos

devops

Peur des déploiements

Ça marche chez moi !

Page 16: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 16

devops

http://parisdevops.fr/http://devops.fr

Des Blogs

Page 17: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 17

Des User Groups

Lille-devopsParis-devops

devops

Et chez vous ?

Page 18: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 18

Production

Page 19: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 19

Deploiement

mvn deploy

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

Page 20: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 20

Vous êtes Vous êtes iciici

La cible

L'environnement de dev

Page 21: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 21

Provisioning

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

Packages LinuxRepo Maven

<votre-smartphone-préféré>Store

Approvisionnement

Page 22: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 22

Test / Production

Nombre : Clusters & Fermes

Sécurité & Confidentialité

Rollback

Page 23: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 23

ResponsabilitésConfidentialité, Sécurité

InterdépendancesOpérations planifiées

assembler → approvisionner

→ installer → déployer

Page 24: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 24

Jusque là tout va bien

Page 25: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 25

Livrer au plus tôt

Livrer des features

Feature flags → par environnementFeature flippers → par user

Page 26: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 26

Tester au plus tôt

Smoke test Tests automatisés (raisonnablement)

Déploiement progressif / green-blueTests en production

Page 27: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 27

Evaluer au plus tôt

Inclure les retours des utilisateurs

Tests beta (feature flippers)

A/B testings (feature flags)

Page 28: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 28

Processus Fast Fail

Analyser les causes

AméliorerPrévenirImpliquer

Page 29: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 29

Automatiser

Page 30: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 30

Installer Facilement

1) Processus clair2) Outillé3) Automatisé

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

Page 31: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 31

Installer au plus tôt

Env Tests/Recette ≅ Env Production

Déminer Simplifier

Page 32: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 32

Qui déclenche ?

PO + SM + OPS

Autopromote#deploy #env

Page 33: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 33

Surveiller

Pendant Juste après

Après

MonitoringAutodiagnostic, journaux

Page 34: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 34

Changement

Page 35: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 35

Résistances

Application installableStop the line pour la production

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

Page 36: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 36

Outils utiles

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

Git vs SVN

Script vs Maven

Page 37: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 37

L'usine

Page 38: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 38

Page 39: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 39

Blueprint

Page 40: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 40

Merci pour votre attention

Vos questions ?Vos questions ?

@cfalguiere

Page 41: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 41

Quelques Lectureshttp://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

Page 42: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 42

Crédits photo

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

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

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

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

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

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

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

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

Page 43: Deploiement continu AgileFfrance 2011

Continuous deployment - Falguière 43

Crédits photohttp://www.flickr.com/photos/ecru76/2709226929

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

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

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

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

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

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