Deploiement continu breizh camp

2 543 vues

Publié le

Publié dans : Technologie
0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 543
Sur SlideShare
0
Issues des intégrations
0
Intégrations
825
Actions
Partages
0
Téléchargements
20
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Deploiement continu breizh camp

  1. 1. Déploiement continu en production Claude Falguière BreizhCamp le 17 Juin 2011
  2. 2. Copyright notice● Vous êtes libre de : http://creativecommons.org/licenses/by/3.0 / ● Reproduire, distribuer et communiquer cette création au public ● Modifier cette création● Selon les conditions suivantes : ● Paternité. Vous devez citer le nom de lauteur original de la manière indiquée par lauteur de loeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas dune manière qui suggérerait quils vous soutiennent ou approuvent votre utilisation de loeuvre). ● Rien dans ce contrat ne diminue ou ne restreint le droit moral de lauteur ou des auteurs. Continuous deployment - Falguière 2
  3. 3. Claude Falguière Architecte Technique @cfalguiere Java Devops Usines logicielles Performances Continuous deployment - Falguière 3
  4. 4. Regrouper les développeuses Java Connecter Rendre visibles@duchessfrhttp://jduchess.org/duchess-france Continuous deployment - Falguière 4
  5. 5. Motivation Continuous deployment - Falguière 5
  6. 6.  Je fais du déploiement continu jaiajouté cargo pour déployer sur CI ??? Continuous deployment - Falguière 6
  7. 7. Source : ThoughtworksContinuous deployment - Falguière 7
  8. 8. Déploiement Continuous deployment - Falguière 8
  9. 9. Deploiementmvn deploy mettre à disposition des utilisateurs  Avertir les utilisateurs  Arrêter le service  Installer  Vérifier  Avertir les utilisateurs Continuous deployment - Falguière 9
  10. 10. Provisioning ApprovisionnementLaffectation plus ou moins automatiséede ressources à un utilisateur <votre-smartphone-préféré>Store/Market Packages Linux Repo Maven Continuous deployment - Falguière 10
  11. 11. Responsabilités Confidentialité, Sécurité Interdépendances Opérations planifiées assembler → approvisionner → installer → déployer Continuous deployment - Falguière 11
  12. 12. Continu Continuous deployment - Falguière 12
  13. 13. Batch & queueProduire un lotLivrer le lot Continuous deployment - Falguière 13
  14. 14. Continuous FlowLivrerdes featuresau fur et àmesure Continuous deployment - Falguière 14
  15. 15. Batch Continuous& queue Flow Délai Réactivité Exceptionnel Banalise Volume Ciblé Continuous deployment - Falguière 15
  16. 16. PeriodicitePlusieurs écolesDe plusieurs fois par heure à 1 fois par jour Continuous deployment - Falguière 16
  17. 17. Continuous Deployment Continuous DeliveryContinuousIntegration Continuous deployment - Falguière 17
  18. 18. Qui déclenche ? PO + SM + OPS Promote manuel Autopromote #deploy #env habilitations Continuous deployment - Falguière 18
  19. 19. DéploiementContinuPas seulementautomatiséPas forcément sansintervention humaine Continuous deployment - Falguière 19
  20. 20. Jusque là tout va bien Continuous deployment - Falguière 20
  21. 21. Processus Fast FailAnalyser les causesAméliorerPrévenirImpliquer Continuous deployment - Falguière 21
  22. 22. Livrer au plus tôt Commiter souvent Livrer des features Feature Branching Feature flags → par environnement Feature flippers → par user Continuous deployment - Falguière 22
  23. 23. Tester au plus tôt Tests automatisés Smoke test Tests en production Continuous deployment - Falguière 23
  24. 24. Tester en production Déploiement progressif Déploiement green-blue Continuous deployment - Falguière 24
  25. 25. Evaluer au plus tôt Inclure les retours des utilisateurs beta test (feature flippers) A/B testing (feature flags) Continuous deployment - Falguière 25
  26. 26. SurveillerPendant Juste après AprèsMonitoringAutodiagnostic, journaux Continuous deployment - Falguière 26
  27. 27. REX (1) Continuous deployment - Falguière 27
  28. 28. ContexteStartupRefonteDomaine complexe Difficile à tester en simulationGrand nombre de serveurs Continuous deployment - Falguière 28
  29. 29. Continuous deployment - Falguière 29
  30. 30. Idée générale Fiabiliser les livraisons Tests automatisés Analyse du code Synchronisation entre les 2 équipesGérer la multiplicité (15 serveurs) Automatisation de linstallation Continuous deployment - Falguière 30
  31. 31. Lusine Continuous deployment - Falguière 31
  32. 32. Continuous deployment - Falguière 32
  33. 33. e pr intBlu Continuous deployment - Falguière 33
  34. 34. Flex Plus facileMoins de code Projet Agile Flex 4 Maven 2 Continuous deployment - Falguière 34
  35. 35. Flex Livraisons Plus facile fréquentes Moins de code Projet Agile Amélioration du temps de Flex 4 déploiement  Maven 2 Continuous deployment - Falguière 35
  36. 36. Java Legacy Refonte SOA Conversion AgileContinuous deployment - Falguière 36
  37. 37. JavaStandbyPas de déploiement Legacy Refonte SOA Conversion Agile Continuous deployment - Falguière 37
  38. 38. On part de loin Code, Deploy … and Pray CVS → SVN → 1 repository Commiter régulièrement Ant → Maven → HudsonTester unitairement Continuous deployment - Falguière 38
  39. 39. Les facteurs de succèsBon contact avec la production Acceptation du PO Manque de maîtrise des outils en devSoutien des équipes support et QA ? Continuous deployment - Falguière 39
  40. 40. REX (2) Continuous deployment - Falguière 40
  41. 41. Et jai changé de vie Continuous deployment - Falguière 41
  42. 42. iOS Continuous deployment - Falguière 42
  43. 43. Distribute for enterprise voir s a p as l ez vou ne .ipas icônes + descripteurs u+ Vo+ provisioning profile + des tas de clics Continuous deployment - Falguière 43
  44. 44. Idée généraleEviter toutes ces manipulationsMode Agile avec le client Livraisons fréquentes Continuous deployment - Falguière 44
  45. 45. Clarifier le processus Continuous deployment - Falguière 45
  46. 46. Ingrédients et chefs Sylvain RousseauGit & David GageotRakeiWebKitune pincée de Bashquelques fichiers PHPrsync (ma touche perso) Continuous deployment - Falguière 46
  47. 47. Git fetchrebase ServerLess CI Continuous deployment - Falguière 47
  48. 48. Git fetch rebaseAirdeploy Continuous deployment - Falguière 48
  49. 49. Rester simple Mono branche 300 lignes de script Ignorer les tâches peu fréquentesLa gestion des certificats (développeur, provisioning profile, ...) Continuous deployment - Falguière 49
  50. 50. Cachez cette featurequon ne saurait voirou comment jai mis des feature flags ... Continuous deployment - Falguière 50
  51. 51. Bilan Entièrement automatisé  Promote manuel A adapter pour la Store Son petit frère tourne sur lApple Store Automatisation des tests sous iOS ? Continuous deployment - Falguière 51
  52. 52. Les facteurs de succès Cycles courts  Agilité du dev  Acceptation du PO ?  Au moins pour le delivery Continuous deployment - Falguière 52
  53. 53. Automatiser Continuous deployment - Falguière 53
  54. 54. Installer Facilement 3) Automatisé 2) Outillé 1) Processus clairEtape par étapeComprendre ses limites Continuous deployment - Falguière 54
  55. 55. Installer au plus tôtDéminerSimplifierApprendre pourréagir vite en prod Continuous deployment - Falguière 55
  56. 56. Installer la même chose Tests VMProd Continuous deployment - Falguière 56
  57. 57. ci / ProductionNombre Sécurité &ConfidentialitéRollback Continuous deployment - Falguière 57
  58. 58. Gérer la multiplicitémcollective / RunDeck / Fabric /Capistranovs Hudson/Jenkinsvs scripts Continuous deployment - Falguière 58
  59. 59. Outils utilesGit vs SVNScript vs Maven Continuous deployment - Falguière 59
  60. 60. Et la base ?Tout scripter dès le devScripts incrémentauxNe pas supprimer Continuous deployment - Falguière 60
  61. 61. Tout automatiser ?Accepter un processus partiellement manuel - sécurisation / vérification - migration de bases - opérations peu fréquentes Continuous deployment - Falguière 61
  62. 62. Conclusion Continuous deployment - Falguière 62
  63. 63. Delivery / Deploiement Outillage similaire +Gérer lautomatisation de la validation Continuous deployment - Falguière 63
  64. 64. Facteurs favorables Faible criticité ou totalement automatisable Agilité des équipes Convevoir par incrément Maîtrise des outils (DVCS, TDD, ...) Continuous deployment - Falguière 64
  65. 65. Facteurs favorables Compréhension de son processus technique Coopération avec la production Continuous deployment - Falguière 65
  66. 66. DEVOPSDEVOPS Continuous deployment - Falguière 66
  67. 67. devopsUne application ne rend le service prévu auxutilisateurs que si elle est déployée Continuous deployment - Falguière 67
  68. 68. devopsPeur des déploiementsÇa marche chez moi ! Continuous deployment - Falguière 68
  69. 69. devopsPeur des déploiementsÇa marche chez moi ! Coopérer dès le début Abattre les silos Continuous deployment - Falguière 69
  70. 70. http://parisdevops.fr/http://devops.fr Des User Groups Lille-devops Paris-devops Lyon ??? Et chez vous ? Continuous deployment - Falguière 70
  71. 71. Merci pour votre attention Je vous écoute @cfalguiere Continuous deployment - Falguière 71
  72. 72. 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-learnedhttp://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=955http://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-usershttp://code.flickr.com/blog/2009/12/02/flipping-out/http://martinfowler.com/bliki/BlueGreenDeployment.htmlhttp://eng.wealthfront.com/2010/05/deployment-infrastructure-for.html Continuous deployment - Falguière 72
  73. 73. Crédits photo http://www.flickr.com/photos/pjb2332/1892076224 http://www.flickr.com/photos/jurvetson/5126137767 http://www.flickr.com/photos/wirralwater/3304595702 http://www.flickr.com/photos/hugo90/5360024969 http://www.flickr.com/photos/grill/5704051872 http://www.flickr.com/photos/deltamike/112665695 http://www.flickr.com/photos/theplanetdotcom/4878815037 http://www.flickr.com/photos/edvvc/1972546648 Continuous deployment - Falguière 73
  74. 74. Crédits photo http://www.flickr.com/photos/ecru76/2709226929 http://www.flickr.com/photos/abbot45/309058972 http://www.flickr.com/photos/seeminglee/3929959851 http://www.flickr.com/photos/publicresourceorg/4245550588 http://www.flickr.com/photos/theleticiabertin/5344450700 http://www.flickr.com/photos/pjb2332/2209369645 http://www.flickr.com/photos/pjb2332/2095801220 Continuous deployment - Falguière 74

×