RivieraDev 2011Jeudi 20 Octobre 2011DevopsRetour d’experience
Henri Gomez•    Pre eXo                                      •    OpenSource Activiste      »  +20 ans de développement   ...
Devops – DevOps ?        Mais c’est quoi DevOps ?                    3
Devops : En une image                        4
Devops : Allo ?Courtesy @builddoctor                        5
Devops - Kesako•    Ce que n’est pas DevOps     » Un produit (même si…)     » Une personne ou équipe     » Une méthodologi...
Devops - Kesako•    Ce qu’est DevOps     » Un mouvement     » Un mode agile sur l’ensemble de la chaine     » Une nouvelle...
Devops - Mouvement•    Initié fin 2009 par des acteurs du monde Web     » Google, Amazon, Yahoo, LinkedIn, Netflix     » D...
Devops – Agile sur toute la chaine•    Ne pas réduire l’Agile au développement     » Les méthodes agiles ont fait leur pre...
Devops – Mode Agile•    Déploiement fréquent     » Rassure l’ensemble des acteurs (Dev/QA/Prod)     » Rode la mécanique de...
Devops – Nouvelle Donne Tech•    Un mode de pensée différent     » Scale out plutôt que Scale in     » Couplages légers   ...
Devops – IT Ops comme Dev•    Une nouvelle approche des opérations IT     » Infrastructure As Code (Chef, Puppet, Vagrant…...
DevOps – De l’humain•    Constats     » Opposer les équipes mène à l’échec•    Gains     » Lever au plus tôt les incompréh...
Devops – Connaître l’autre                      14
Devops – Connaître l’autre•    Le vocabulaire     » OOM, jar, war, Maven, CI     » Jmeter, SmokeTests, Selenium     » SLA,...
Devops – Connaître l’autre•    L’environnement et les contraintes     » Collocation et mutualisation     » Monitoring     ...
Devops – Connaître l’autre•    Les peurs     » Boites noires     » Performances     » Effet de bord     » Reprise d’activi...
Devops – Travaillons ensemble•    Tous ensemble, tous ensemble     » En finir avec la patate chaude     » Analyse commune ...
Retour d’expérience eXo Platform
Devops – eXo Platform                  France: (~20)                                            Ukraine: (~30)            ...
Devops – eXo Platform•    Applications Java     » AIO, PLF, Cloud IDE•    Environnement     » Linux, MySQL, PostgreSQL, DB...
Devops – eXo Platform•    Des équipes dans 5 pays et 4 continents     » Dev, Support, QA, Ops (production)•    Un outillag...
Devops – Outils communs•  JIRA•  Subversion/Git•  Repository Nexus•  Support documentaire Wiki•  Des Jenkins        Capita...
Devops – JIRA•    Des projets JIRA     » Par projets Dev     » Par projets QA     » Pour l’activité Prod     » Mode sprint...
Devops – JIRA en PROD #1•    Une demande de déploiement est un ticket Ops     » Planification JIRA     » Description des o...
Devops – SCM pour tous•    SVN / Git     » Les sources des applications - Dev     » Les sources de tests Selenium/JMeter -...
Devops – Nexus•    Entrepôt de livrables     » Réduction des erreurs sur des jars/wars       ‘customisés’ ou ‘déviants’   ...
Devops – Documentations•    Wiki     » Des espaces par équipes ou sujets     » Liens avec les projets JIRA     » Cycle de ...
DevOps – Des Jenkins  Jenkins, what’s else ?                       29
DevOps – Rappels sur Jenkins» Jenkins gère des jobs» Déclenchés sur horaires ou évènements» C’est un enchaineur» Il peut c...
Devops – La bande à Jenkins•    Jenkins d’intégration continue (SWF-CI)     » Intégration continue et packaging d’applicat...
Devops – Règles Jenkins•    Maitres     » Coordinateurs     » Authentification via Crowd/LDAP•    Agents     » Producteurs...
DevOps – Jenkins SWF-CI      Jenkins pour le CI                   33
DevOps – Jenkins SWF-CI•    Construction     » Depuis les SCM Subversion et Git•    Tests     » Junit•    Macro Packaging ...
DevOps – Jenkins SWF-CI                   35
DevOps – Jenkins SWF-CDJenkins en déploiement        continu                   36
DevOps – Jenkins SWF-CD•    Déploiement en pre-production      » Jobs free style      » Free style ?      » donc Ant, Mave...
DevOps – Jenkins SWF-CD                   38
DevOps – Jenkins SWF-CD                   39
DevOps – Jenkins SWF-CD                   40
DevOps – Jenkins QAF     Jenkins pour la QA                   41
DevOps – Jenkins QAF » Jenkins effectue de nuit les tests fonctionnels long » Et les tirs de performances » Les taches réb...
DevOps – Jenkins QAF                   43
DevOps – Jenkins QAFSchéma d’un scénario                       44
DevOps – Jenkins QAFPilotage des différents composants                           Jenkins Master         Jenkins Agent     ...
DevOps – Jenkins QAFDéfinition des jobs                      46
DevOps – Jenkins QAFTests de performances et résultats                        47
DevOps – Jenkins QAFHistoriques et tendances sur les performances                        48
DevOps – Jenkins ITOP   Jenkins pour la Prod                    49
DevOps – Jenkins ITOP•    Construction de packages natifs     » Sources du packaging dans SVN     » Binaires de références...
DevOps – Jenkins ITOPPilotage multi-instances                           Jenkins Master          Jenkins Agent             ...
DevOps – Jenkins ITOPConstruction                         Jenkins Master        Subversion              GIT               ...
DevOps – Jenkins ITOPRPM                    53
DevOps – Jenkins ITOPDEB                    54
DevOps – Conclusions            Conclusions                       55
DevOps – Pratiques eXo•    Pas de cloisonnement     » Chacun peut accéder à l’ensemble de l’information     » Participatio...
Devops – Quelques pré-requis•    Ouverture d’esprit     » Pouvoir sortir des vieux schémas     » Savoir écouter les autres...
DevOps – Final DevOps, c’est avant tout une culture       de la communication.  Il ne doit pas rester cantonné à une    él...
Et voici le moment des questions et réponses …               si vous avez été sages                         59
Licence et copyrights•    Photos et logos appartiennent à leur auteurs/     propriétaires respectifs.•    Contenu sous Cre...
Prochain SlideShare
Chargement dans…5
×

DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011

1 620 vues

Publié le

Slides de la présentation DevOps - Retour d'expérience, au RivieraDev le 20 Octobre 2011

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

Aucun téléchargement
Vues
Nombre de vues
1 620
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
41
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011

  1. 1. RivieraDev 2011Jeudi 20 Octobre 2011DevopsRetour d’experience
  2. 2. Henri Gomez•  Pre eXo •  OpenSource Activiste »  +20 ans de développement »  Commiteur Apache Tomcat depuis 2001 »  Architecte Java »  Co-fondateur du projet JPackage »  Finance/Bourse, Middle&Back »  Projet OpenJDK OS/X Build•  eXo – Senior Director of IT Operations •  Me contacter »  Infrastructure locale (TN/UA/VN) »  Mail: henri.gomez@gmail.com »  Infrastructure dédiée sur OVH »  Twitter : @hgomez »  Infrastructure Cloud sur AWS »  Skype : gomezhe »  Blog : http://blog.hgomez.net•  eXo – QA Tech Lead »  QAF – QA Factory »  Benchmarks »  Performance Analysis 2
  3. 3. Devops – DevOps ? Mais c’est quoi DevOps ? 3
  4. 4. Devops : En une image 4
  5. 5. Devops : Allo ?Courtesy @builddoctor 5
  6. 6. Devops - Kesako•  Ce que n’est pas DevOps » Un produit (même si…) » Une personne ou équipe » Une méthodologie stricte » Une recette miracle 6
  7. 7. Devops - Kesako•  Ce qu’est DevOps » Un mouvement » Un mode agile sur l’ensemble de la chaine » Une nouvelle donne technique » Une autre approche humaine 7
  8. 8. Devops - Mouvement•  Initié fin 2009 par des acteurs du monde Web » Google, Amazon, Yahoo, LinkedIn, Netflix » Des décideurs qui sont des technophiles•  Réponses à de nouvelles problématiques » Déploiement massif » Déploiement régulier » PRA, continuité et Cloud 8
  9. 9. Devops – Agile sur toute la chaine•  Ne pas réduire l’Agile au développement » Les méthodes agiles ont fait leur preuve en DEV » Applicables sous condition en QA et Production » Inscrire les opérations de Prod dans le processus 9
  10. 10. Devops – Mode Agile•  Déploiement fréquent » Rassure l’ensemble des acteurs (Dev/QA/Prod) » Rode la mécanique de mise en production » Réduit les risques de découvertes tardives » Mode itératif avec retours de QA/Prod » Infra et code dans le cycle de déploiement continu 10
  11. 11. Devops – Nouvelle Donne Tech•  Un mode de pensée différent » Scale out plutôt que Scale in » Couplages légers » Cloud aware » Une touche de Dev pour les Ops » Une pincée d’Ops dans les Dev 11
  12. 12. Devops – IT Ops comme Dev•  Une nouvelle approche des opérations IT » Infrastructure As Code (Chef, Puppet, Vagrant…) » Des Ops qui codent (Bash, Python, Ruby) » Et utilisent des outils du Dev (SVN/Mercurial/GIT)•  Automatisation » Pour réduire les erreurs » Pour gérer un nombre importants de machines 12
  13. 13. DevOps – De l’humain•  Constats » Opposer les équipes mène à l’échec•  Gains » Lever au plus tôt les incompréhensions et inquiétudes » Responsabiliser chacun sur l’ensemble du cycle de vie 13
  14. 14. Devops – Connaître l’autre 14
  15. 15. Devops – Connaître l’autre•  Le vocabulaire » OOM, jar, war, Maven, CI » Jmeter, SmokeTests, Selenium » SLA, PRA, SNMP, JRMP 15
  16. 16. Devops – Connaître l’autre•  L’environnement et les contraintes » Collocation et mutualisation » Monitoring » Sécurité » Backups 16
  17. 17. Devops – Connaître l’autre•  Les peurs » Boites noires » Performances » Effet de bord » Reprise d’activité » Plans de test tardif 17
  18. 18. Devops – Travaillons ensemble•  Tous ensemble, tous ensemble » En finir avec la patate chaude » Analyse commune des besoins » Définir des livrables clairs » Tordre le coup aux procédures lourdes (et protectrices) 18
  19. 19. Retour d’expérience eXo Platform
  20. 20. Devops – eXo Platform France: (~20) Ukraine: (~30) Tunisia: (~30) USA: (~10) Vietnam: (~70)•  Editeur logiciel•  ~160 employés dans le monde•  Une culture OpenSource•  Historique JEE/Portal mergé avec JBoss GateIn 20
  21. 21. Devops – eXo Platform•  Applications Java » AIO, PLF, Cloud IDE•  Environnement » Linux, MySQL, PostgreSQL, DB2, Oracle » Local, dédié et Cloud (AWS) 21
  22. 22. Devops – eXo Platform•  Des équipes dans 5 pays et 4 continents » Dev, Support, QA, Ops (production)•  Un outillage classique » Subversion & GIT » Maven, Nexus » Jenkins, Sonar » JIRA, Confluence, Fisheye 22
  23. 23. Devops – Outils communs•  JIRA•  Subversion/Git•  Repository Nexus•  Support documentaire Wiki•  Des Jenkins Capitalisation des connaissances et suppression des réticences aux « outils des autres » 23
  24. 24. Devops – JIRA•  Des projets JIRA » Par projets Dev » Par projets QA » Pour l’activité Prod » Mode sprint sur 2 semaines pour Dev » Mode sprint sur une semaine pour ProdChaque équipe peut voir et alimenter les projets d’autres équipes. 24
  25. 25. Devops – JIRA en PROD #1•  Une demande de déploiement est un ticket Ops » Planification JIRA » Description des opérations en cours » Retours suite aux opérations•  Les incidents de production sont des tickets » Collecte des éléments en pièces attachés ou liens » Qualification puis ouverture d’un ticket produit lié » Suivi de l’incident à la résolution produit 25
  26. 26. Devops – SCM pour tous•  SVN / Git » Les sources des applications - Dev » Les sources de tests Selenium/JMeter - QA » Les sources du packaging natifs - Prod » Les sources de manifest Puppet – Prod » Les sources des jobs Jenkins – Tous Les sources, les tests et les process de production sont accessibles à chacun. 26
  27. 27. Devops – Nexus•  Entrepôt de livrables » Réduction des erreurs sur des jars/wars ‘customisés’ ou ‘déviants’ » Une source connue et unique contrôlée par le Software Factory Manager » Renforce la nécessité de livraison par le Dev » Rassure les équipes de QA et Prod Tous les acteurs partagent les mêmes livrables 27
  28. 28. Devops – Documentations•  Wiki » Des espaces par équipes ou sujets » Liens avec les projets JIRA » Cycle de publication simple » Mise à jour quotidienne » Participatif via les commentaires sur les articles Une source unique de documentation réactive et sociale. 28
  29. 29. DevOps – Des Jenkins Jenkins, what’s else ? 29
  30. 30. DevOps – Rappels sur Jenkins» Jenkins gère des jobs» Déclenchés sur horaires ou évènements» C’est un enchaineur» Il peut contrôler des instances esclaves» C’est donc un enchaineur multi-sites» Les résultats d’opérations remontent vers le Maitre» Jenkins est en prime une console de supervision 30
  31. 31. Devops – La bande à Jenkins•  Jenkins d’intégration continue (SWF-CI) » Intégration continue et packaging d’applications•  Jenkins déploiement continu (SWF-CD) » Déploiement continu vers la pre-prod•  Jenkins de QA (QAF) » Test de performances et conformité•  Jenkins de Prod (ITOP) » Production des packages natifs (RPM/DEB) 31
  32. 32. Devops – Règles Jenkins•  Maitres » Coordinateurs » Authentification via Crowd/LDAP•  Agents » Producteurs » Mode SSH Slave & clés privées•  SCM encore » Les taches dans le SCM 32
  33. 33. DevOps – Jenkins SWF-CI Jenkins pour le CI 33
  34. 34. DevOps – Jenkins SWF-CI•  Construction » Depuis les SCM Subversion et Git•  Tests » Junit•  Macro Packaging » Zip via Maven-Assembly•  Deploiement Nexus » Release, Snapshot et Stagging 34
  35. 35. DevOps – Jenkins SWF-CI 35
  36. 36. DevOps – Jenkins SWF-CDJenkins en déploiement continu 36
  37. 37. DevOps – Jenkins SWF-CD•  Déploiement en pre-production » Jobs free style » Free style ? » donc Ant, Maven mais aussi Bash, Python, Ruby, Perl » Les Ops peuvent entrer dans la danse 37
  38. 38. DevOps – Jenkins SWF-CD 38
  39. 39. DevOps – Jenkins SWF-CD 39
  40. 40. DevOps – Jenkins SWF-CD 40
  41. 41. DevOps – Jenkins QAF Jenkins pour la QA 41
  42. 42. DevOps – Jenkins QAF » Jenkins effectue de nuit les tests fonctionnels long » Et les tirs de performances » Les taches rébarbatives pour la machine » Analyse des résultats le lendemain matin avec le café et les croissants » L’équipe QA se focalise sur l’analyse » La console Jenkins est aussi utilisable par les Dev ou Ops 42
  43. 43. DevOps – Jenkins QAF 43
  44. 44. DevOps – Jenkins QAFSchéma d’un scénario 44
  45. 45. DevOps – Jenkins QAFPilotage des différents composants Jenkins Master Jenkins Agent Jenkins Agent SQL Engine Jenkins Agent Injector App Server 45
  46. 46. DevOps – Jenkins QAFDéfinition des jobs 46
  47. 47. DevOps – Jenkins QAFTests de performances et résultats 47
  48. 48. DevOps – Jenkins QAFHistoriques et tendances sur les performances 48
  49. 49. DevOps – Jenkins ITOP Jenkins pour la Prod 49
  50. 50. DevOps – Jenkins ITOP•  Construction de packages natifs » Sources du packaging dans SVN » Binaires de références dans Nexus » RPM via agents Fedora & CentOS » DEB via agent Ubuntu•  Mise à jour des repos package » RPM Fedora & CentOS » DEB pour Ubuntu 50
  51. 51. DevOps – Jenkins ITOPPilotage multi-instances Jenkins Master Jenkins Agent Jenkins Agent Fedora 15 Jenkins Agent Ubuntu 11.04 CentOS 6 51
  52. 52. DevOps – Jenkins ITOPConstruction Jenkins Master Subversion GIT Native Repositories SCMs Maven Repository 52
  53. 53. DevOps – Jenkins ITOPRPM 53
  54. 54. DevOps – Jenkins ITOPDEB 54
  55. 55. DevOps – Conclusions Conclusions 55
  56. 56. DevOps – Pratiques eXo•  Pas de cloisonnement » Chacun peut accéder à l’ensemble de l’information » Participation et échanges encouragés•  Outillage commun » Facilite la communication » Permet l’échange des bonnes pratiques » Favorise le partage des compétences 56
  57. 57. Devops – Quelques pré-requis•  Ouverture d’esprit » Pouvoir sortir des vieux schémas » Savoir écouter les autres » Vouloir échanger avec les autres•  Une gouvernance adaptée » Promouvoir l’échange entre les équipes pluridisciplinaires » Accepter une ‘démocratie’ plus directe 57
  58. 58. DevOps – Final DevOps, c’est avant tout une culture de la communication. Il ne doit pas rester cantonné à une élite mais inclure l’ensemble des acteurs. 58
  59. 59. Et voici le moment des questions et réponses … si vous avez été sages 59
  60. 60. Licence et copyrights•  Photos et logos appartiennent à leur auteurs/ propriétaires respectifs.•  Contenu sous Creative Commons 3.0•  http://creativecommons.org/licenses/by-nc-sa/3.0/us/ 60

×