Your SlideShare is downloading. ×
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

1,070

Published on

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

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,070
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. RivieraDev 2011Jeudi 20 Octobre 2011DevopsRetour d’experience
  • 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. Devops – DevOps ? Mais c’est quoi DevOps ? 3
  • 4. Devops : En une image 4
  • 5. Devops : Allo ?Courtesy @builddoctor 5
  • 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. 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. 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. 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. 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. 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. 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. 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. Devops – Connaître l’autre 14
  • 15. Devops – Connaître l’autre•  Le vocabulaire » OOM, jar, war, Maven, CI » Jmeter, SmokeTests, Selenium » SLA, PRA, SNMP, JRMP 15
  • 16. Devops – Connaître l’autre•  L’environnement et les contraintes » Collocation et mutualisation » Monitoring » Sécurité » Backups 16
  • 17. Devops – Connaître l’autre•  Les peurs » Boites noires » Performances » Effet de bord » Reprise d’activité » Plans de test tardif 17
  • 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. Retour d’expérience eXo Platform
  • 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. Devops – eXo Platform•  Applications Java » AIO, PLF, Cloud IDE•  Environnement » Linux, MySQL, PostgreSQL, DB2, Oracle » Local, dédié et Cloud (AWS) 21
  • 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. 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. 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. 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. 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. 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. 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. DevOps – Des Jenkins Jenkins, what’s else ? 29
  • 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. 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. 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. DevOps – Jenkins SWF-CI Jenkins pour le CI 33
  • 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. DevOps – Jenkins SWF-CI 35
  • 36. DevOps – Jenkins SWF-CDJenkins en déploiement continu 36
  • 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. DevOps – Jenkins SWF-CD 38
  • 39. DevOps – Jenkins SWF-CD 39
  • 40. DevOps – Jenkins SWF-CD 40
  • 41. DevOps – Jenkins QAF Jenkins pour la QA 41
  • 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. DevOps – Jenkins QAF 43
  • 44. DevOps – Jenkins QAFSchéma d’un scénario 44
  • 45. DevOps – Jenkins QAFPilotage des différents composants Jenkins Master Jenkins Agent Jenkins Agent SQL Engine Jenkins Agent Injector App Server 45
  • 46. DevOps – Jenkins QAFDéfinition des jobs 46
  • 47. DevOps – Jenkins QAFTests de performances et résultats 47
  • 48. DevOps – Jenkins QAFHistoriques et tendances sur les performances 48
  • 49. DevOps – Jenkins ITOP Jenkins pour la Prod 49
  • 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. DevOps – Jenkins ITOPPilotage multi-instances Jenkins Master Jenkins Agent Jenkins Agent Fedora 15 Jenkins Agent Ubuntu 11.04 CentOS 6 51
  • 52. DevOps – Jenkins ITOPConstruction Jenkins Master Subversion GIT Native Repositories SCMs Maven Repository 52
  • 53. DevOps – Jenkins ITOPRPM 53
  • 54. DevOps – Jenkins ITOPDEB 54
  • 55. DevOps – Conclusions Conclusions 55
  • 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. 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. 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. Et voici le moment des questions et réponses … si vous avez été sages 59
  • 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

×