SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
RivieraDev 2011
Jeudi 20 Octobre 2011

Devops
Retour d’experience
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
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éthodologie stricte
     » Une recette miracle




                            6
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
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
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
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
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
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
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
Devops – Connaître l’autre




                      14
Devops – Connaître l’autre

•    Le vocabulaire
     » OOM, jar, war, Maven, CI
     » Jmeter, SmokeTests, Selenium
     » SLA, PRA, SNMP, JRMP




                           15
Devops – Connaître l’autre

•    L’environnement et les contraintes
     » Collocation et mutualisation
     » Monitoring
     » Sécurité
     » Backups




                             16
Devops – Connaître l’autre

•    Les peurs
     » Boites noires
     » Performances
     » Effet de bord
     » Reprise d’activité
     » Plans de test tardif




                              17
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
Retour d’expérience eXo Platform
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
Devops – eXo Platform

•    Applications Java
     » AIO, PLF, Cloud IDE

•    Environnement
     » Linux, MySQL, PostgreSQL, DB2, Oracle
     » Local, dédié et Cloud (AWS)




                             21
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
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
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 Prod

Chaque équipe peut voir et alimenter les projets
              d’autres équipes.


                           24
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
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
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
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
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 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
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
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
DevOps – Jenkins SWF-CI




      Jenkins pour le CI



                   33
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
DevOps – Jenkins SWF-CI




                   35
DevOps – Jenkins SWF-CD




Jenkins en déploiement
        continu


                   36
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
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é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
DevOps – Jenkins QAF




                   43
DevOps – Jenkins QAF

Schéma d’un scénario




                       44
DevOps – Jenkins QAF

Pilotage des différents composants

                           Jenkins Master




         Jenkins Agent
                                            Jenkins Agent


       SQL Engine
                           Jenkins Agent     Injector



                         App Server


                            45
DevOps – Jenkins QAF

Définition des jobs




                      46
DevOps – Jenkins QAF

Tests de performances et résultats




                        47
DevOps – Jenkins QAF

Historiques 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 dans Nexus
     » RPM via agents Fedora & CentOS
     » DEB via agent Ubuntu

•    Mise à jour des repos package
     » RPM Fedora & CentOS
     » DEB pour Ubuntu

                             50
DevOps – Jenkins ITOP

Pilotage multi-instances

                           Jenkins Master




          Jenkins Agent
                                               Jenkins Agent


        Fedora 15
                           Jenkins Agent    Ubuntu 11.04



                          CentOS 6


                            51
DevOps – Jenkins ITOP

Construction
                         Jenkins Master




        Subversion




              GIT                         Native Repositories



       SCMs
                     Maven Repository


                           52
DevOps – Jenkins ITOP

RPM




                    53
DevOps – Jenkins ITOP

DEB




                    54
DevOps – Conclusions




            Conclusions



                       55
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
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
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
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 Creative Commons 3.0
•    http://creativecommons.org/licenses/by-nc-sa/3.0/us/




                               60

Contenu connexe

Tendances

DevOps en pratique - Paris Meetup Bluemix 19/11/2014
DevOps en pratique - Paris Meetup Bluemix 19/11/2014DevOps en pratique - Paris Meetup Bluemix 19/11/2014
DevOps en pratique - Paris Meetup Bluemix 19/11/2014
IBM France Lab
 
Keynote DevOps - Microsoft DevOps Day 2014 in Paris
Keynote DevOps - Microsoft DevOps Day 2014 in ParisKeynote DevOps - Microsoft DevOps Day 2014 in Paris
Keynote DevOps - Microsoft DevOps Day 2014 in Paris
Jason De Oliveira
 

Tendances (20)

Séminaire DEVOPS, DÉMARCHE ET MISE EN ŒUVRE - ORSYS Formation
Séminaire DEVOPS, DÉMARCHE ET MISE EN ŒUVRE - ORSYS FormationSéminaire DEVOPS, DÉMARCHE ET MISE EN ŒUVRE - ORSYS Formation
Séminaire DEVOPS, DÉMARCHE ET MISE EN ŒUVRE - ORSYS Formation
 
Presentation-DEVOPS-par-GDG
Presentation-DEVOPS-par-GDGPresentation-DEVOPS-par-GDG
Presentation-DEVOPS-par-GDG
 
Après l’#agilité, le #DevOps, la nouvelle arme de la DSI ! v2
Après l’#agilité, le #DevOps, la nouvelle arme de la DSI ! v2Après l’#agilité, le #DevOps, la nouvelle arme de la DSI ! v2
Après l’#agilité, le #DevOps, la nouvelle arme de la DSI ! v2
 
DevOps - Collaborer pour répondre à l'accélération de l'économie numérique
DevOps - Collaborer pour répondre à l'accélération de l'économie numériqueDevOps - Collaborer pour répondre à l'accélération de l'économie numérique
DevOps - Collaborer pour répondre à l'accélération de l'économie numérique
 
DevOps en pratique - Paris Meetup Bluemix 19/11/2014
DevOps en pratique - Paris Meetup Bluemix 19/11/2014DevOps en pratique - Paris Meetup Bluemix 19/11/2014
DevOps en pratique - Paris Meetup Bluemix 19/11/2014
 
Presentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesPresentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequences
 
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
 
Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Du cycle en V à DevOps, en passant par agile - Normation
Du cycle en V à DevOps, en passant par agile - NormationDu cycle en V à DevOps, en passant par agile - Normation
Du cycle en V à DevOps, en passant par agile - Normation
 
Keynote DevOps - Microsoft DevOps Day 2014 in Paris
Keynote DevOps - Microsoft DevOps Day 2014 in ParisKeynote DevOps - Microsoft DevOps Day 2014 in Paris
Keynote DevOps - Microsoft DevOps Day 2014 in Paris
 
[devops REX 2017] Les unconférences au cœur de l’évangelisation DevOps chez C...
[devops REX 2017] Les unconférences au cœur de l’évangelisation DevOps chez C...[devops REX 2017] Les unconférences au cœur de l’évangelisation DevOps chez C...
[devops REX 2017] Les unconférences au cœur de l’évangelisation DevOps chez C...
 
DODMTL 2019 - Agile et DevOps chez Croesus
DODMTL 2019 - Agile et DevOps chez CroesusDODMTL 2019 - Agile et DevOps chez Croesus
DODMTL 2019 - Agile et DevOps chez Croesus
 
DevOps au coeur de la transformation digitale
DevOps au coeur de la transformation digitaleDevOps au coeur de la transformation digitale
DevOps au coeur de la transformation digitale
 
Syntec numérique - DevOps by microsoft
Syntec numérique  - DevOps by microsoftSyntec numérique  - DevOps by microsoft
Syntec numérique - DevOps by microsoft
 
[devops REX 2016] DevOps at Scale : ce qu’on fait, ce que l’on a appris chez ...
[devops REX 2016] DevOps at Scale : ce qu’on fait, ce que l’on a appris chez ...[devops REX 2016] DevOps at Scale : ce qu’on fait, ce que l’on a appris chez ...
[devops REX 2016] DevOps at Scale : ce qu’on fait, ce que l’on a appris chez ...
 
[devops REX 2016] Comment nous cultivons la philosophie DevOps grâce au Lean
[devops REX 2016] Comment nous cultivons la philosophie DevOps grâce au Lean[devops REX 2016] Comment nous cultivons la philosophie DevOps grâce au Lean
[devops REX 2016] Comment nous cultivons la philosophie DevOps grâce au Lean
 
The DevOps Wonder @ PHPTour Lyon 2014
The DevOps Wonder @ PHPTour Lyon 2014The DevOps Wonder @ PHPTour Lyon 2014
The DevOps Wonder @ PHPTour Lyon 2014
 
[devops REX 2016] Retour d’expérience de la transformation DevOps de Microsoft
[devops REX 2016] Retour d’expérience de la transformation DevOps de Microsoft[devops REX 2016] Retour d’expérience de la transformation DevOps de Microsoft
[devops REX 2016] Retour d’expérience de la transformation DevOps de Microsoft
 
Matinale DevOps / Docker
Matinale DevOps / DockerMatinale DevOps / Docker
Matinale DevOps / Docker
 

En vedette

Xcode formation-iphone-ipad-xcode-et-cocoa
Xcode formation-iphone-ipad-xcode-et-cocoaXcode formation-iphone-ipad-xcode-et-cocoa
Xcode formation-iphone-ipad-xcode-et-cocoa
CERTyou Formation
 
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tlsSpec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
ekito
 
Tipos de Brackets- Introducción a la Odontología
Tipos de Brackets- Introducción a la OdontologíaTipos de Brackets- Introducción a la Odontología
Tipos de Brackets- Introducción a la Odontología
crisppg
 
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Publicis Sapient Engineering
 

En vedette (20)

Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
 
Xcode formation-iphone-ipad-xcode-et-cocoa
Xcode formation-iphone-ipad-xcode-et-cocoaXcode formation-iphone-ipad-xcode-et-cocoa
Xcode formation-iphone-ipad-xcode-et-cocoa
 
Comment concilier Agilité et projet au forfait ?
Comment concilier Agilité et projet au forfait ?Comment concilier Agilité et projet au forfait ?
Comment concilier Agilité et projet au forfait ?
 
Xcode Server - Jeffrey Macko
Xcode Server - Jeffrey MackoXcode Server - Jeffrey Macko
Xcode Server - Jeffrey Macko
 
Automate your build on Android with Jenkins
Automate your build on Android with JenkinsAutomate your build on Android with Jenkins
Automate your build on Android with Jenkins
 
Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015
Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015
Présentation de JIRA Agile par Stéphane Génin au Kanban Day 2015
 
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tlsSpec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
 
Swift, opportunités et perspectives du dernier langage d'Apple
Swift, opportunités et perspectives du dernier langage d'AppleSwift, opportunités et perspectives du dernier langage d'Apple
Swift, opportunités et perspectives du dernier langage d'Apple
 
Use In IoT : l’objet connecté de la board au dashboard
Use In IoT : l’objet connecté de la board au dashboardUse In IoT : l’objet connecté de la board au dashboard
Use In IoT : l’objet connecté de la board au dashboard
 
Tipos de Brackets- Introducción a la Odontología
Tipos de Brackets- Introducción a la OdontologíaTipos de Brackets- Introducción a la Odontología
Tipos de Brackets- Introducción a la Odontología
 
IoT Best practices
 IoT Best practices IoT Best practices
IoT Best practices
 
Agenda and Minutes of a meeting
Agenda and Minutes of a meetingAgenda and Minutes of a meeting
Agenda and Minutes of a meeting
 
9 tendances du Mobile World Congress 2017 par @hubinstitute
9 tendances du Mobile World Congress 2017 par @hubinstitute 9 tendances du Mobile World Congress 2017 par @hubinstitute
9 tendances du Mobile World Congress 2017 par @hubinstitute
 
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
 
XebiConFr 15 - Swift dans la vraie vie
XebiConFr 15 - Swift dans la vraie vieXebiConFr 15 - Swift dans la vraie vie
XebiConFr 15 - Swift dans la vraie vie
 
Scrum et forfait
Scrum et forfaitScrum et forfait
Scrum et forfait
 
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationIoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
 
CocoaHeads Toulouse - Xcode et les tests - Epitez
CocoaHeads Toulouse - Xcode et les tests - EpitezCocoaHeads Toulouse - Xcode et les tests - Epitez
CocoaHeads Toulouse - Xcode et les tests - Epitez
 
Hello xcode 4 v2
Hello xcode 4 v2Hello xcode 4 v2
Hello xcode 4 v2
 

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

Solutions Linux2007 Déploiement D\'une Solution Libre d\'Inventaire Et De G...
Solutions Linux2007   Déploiement D\'une Solution Libre d\'Inventaire Et De G...Solutions Linux2007   Déploiement D\'une Solution Libre d\'Inventaire Et De G...
Solutions Linux2007 Déploiement D\'une Solution Libre d\'Inventaire Et De G...
Gonéri Le Bouder
 
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
Scaleway
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
boulonvert
 

Similaire à DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011 (20)

DevOps - Retour d'expérience - MarsJug du 29 Juin 2011
DevOps - Retour d'expérience - MarsJug du 29 Juin 2011DevOps - Retour d'expérience - MarsJug du 29 Juin 2011
DevOps - Retour d'expérience - MarsJug du 29 Juin 2011
 
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
 
20111205 breizh jug-devops
20111205 breizh jug-devops20111205 breizh jug-devops
20111205 breizh jug-devops
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
 
Meetup Devops Geneve 06/17- EBU Feedbacks
Meetup Devops Geneve 06/17- EBU Feedbacks Meetup Devops Geneve 06/17- EBU Feedbacks
Meetup Devops Geneve 06/17- EBU Feedbacks
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
Solutions Linux2007 Déploiement D\'une Solution Libre d\'Inventaire Et De G...
Solutions Linux2007   Déploiement D\'une Solution Libre d\'Inventaire Et De G...Solutions Linux2007   Déploiement D\'une Solution Libre d\'Inventaire Et De G...
Solutions Linux2007 Déploiement D\'une Solution Libre d\'Inventaire Et De G...
 
AT2010 Principes Integration Continue
AT2010 Principes Integration ContinueAT2010 Principes Integration Continue
AT2010 Principes Integration Continue
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Introduction DevOps & containarization des applications
Introduction DevOps & containarization des applicationsIntroduction DevOps & containarization des applications
Introduction DevOps & containarization des applications
 
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
Des bancs de l’école à la réalité en entreprise, retour d’expérience sur...
 
Afterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et DockerAfterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et Docker
 
Dev opsday case study
Dev opsday   case studyDev opsday   case study
Dev opsday case study
 
What’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. DarmontWhat’s Next Replay! Lyon 2011 - G. Darmont
What’s Next Replay! Lyon 2011 - G. Darmont
 
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelHa zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagner
 
Genielogiciel
GenielogicielGenielogiciel
Genielogiciel
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
 

Plus de Henri Gomez

From ci to cd - LavaJug 2012
From ci to cd  - LavaJug 2012From ci to cd  - LavaJug 2012
From ci to cd - LavaJug 2012
Henri Gomez
 
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Henri Gomez
 

Plus de Henri Gomez (12)

SRE - Mythes et Réalités - Volcamp 2023.pdf
SRE - Mythes et Réalités - Volcamp 2023.pdfSRE - Mythes et Réalités - Volcamp 2023.pdf
SRE - Mythes et Réalités - Volcamp 2023.pdf
 
20200225 bbl-docker-packaging-natif
20200225 bbl-docker-packaging-natif20200225 bbl-docker-packaging-natif
20200225 bbl-docker-packaging-natif
 
Je s'appelle Glowroot - LyonJUG Oct 2018
Je s'appelle Glowroot - LyonJUG Oct 2018Je s'appelle Glowroot - LyonJUG Oct 2018
Je s'appelle Glowroot - LyonJUG Oct 2018
 
Glowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bienGlowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bien
 
Glowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bienGlowroot, le petit APM qui vous veut du bien
Glowroot, le petit APM qui vous veut du bien
 
From ci to cd - LavaJug 2012
From ci to cd  - LavaJug 2012From ci to cd  - LavaJug 2012
From ci to cd - LavaJug 2012
 
From ci to cd
From ci to cdFrom ci to cd
From ci to cd
 
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
 
20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif
 
20111220 lyon jug-devops-culture
20111220 lyon jug-devops-culture20111220 lyon jug-devops-culture
20111220 lyon jug-devops-culture
 
20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natif20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natif
 

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

  • 1. RivieraDev 2011 Jeudi 20 Octobre 2011 Devops Retour 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
  • 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 Prod Chaque é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-CD Jenkins 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
  • 44. DevOps – Jenkins QAF Schéma d’un scénario 44
  • 45. DevOps – Jenkins QAF Pilotage des différents composants Jenkins Master Jenkins Agent Jenkins Agent SQL Engine Jenkins Agent Injector App Server 45
  • 46. DevOps – Jenkins QAF Définition des jobs 46
  • 47. DevOps – Jenkins QAF Tests de performances et résultats 47
  • 48. DevOps – Jenkins QAF Historiques 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 ITOP Pilotage multi-instances Jenkins Master Jenkins Agent Jenkins Agent Fedora 15 Jenkins Agent Ubuntu 11.04 CentOS 6 51
  • 52. DevOps – Jenkins ITOP Construction Jenkins Master Subversion GIT Native Repositories SCMs Maven Repository 52
  • 53. DevOps – Jenkins ITOP RPM 53
  • 54. DevOps – Jenkins ITOP DEB 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