SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
Geneva Jug
Mardi 30 Aout 2011

Devops
Retour d’experience
Henri Gomez                                                                        Geneva JUG



•    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 – ITOP Manager                           •    Me contacter
      »    Responsable de la production                 »    Mail: henri.gomez@gmail.com
      »    Infrastructure locale (TN/UA/VN)             »    Twitter : @hgomez
      »    Infrastructure dédiée sur OVH                »    Skype : gomezhe
      »    Infrastructure Cloud sur AWS                 »    Blog : http://blog.hgomez.net


•    eXo – QA Tech Lead
      »  QAF – QA Factory
      »  Benchmarks
      »  Performance Analysis


                                              2
Devops : une image vaut mille mots   Geneva JUG




                      3
Devops : Allo ?             Geneva JUG




Courtesy @builddoctor

                        4
Devops - Kesako                   Geneva JUG




•    Ce que n’est pas DevOps

     » Un produit (même si…)
     » Une personne ou équipe
     » Une méthodologie stricte
     » Une recette miracle




                            5
Devops - Kesako                               Geneva JUG




•    Ce qu’est DevOps

     » Un mouvement
     » Un mode agile sur l’ensemble de la chaine
     » Une nouvelle donne technique
     » Une autre approche humaine




                             6
Devops - Mouvement                           Geneva JUG




•    Initié fin 2009 par des acteurs du monde Web
     » Google, Amazon, Yahoo, LinkedIn, Netflix
     » De décideurs qui sont d’anciens techies

•    Réponses à de nouvelles problématiques
     » Déploiement massif
     » Déploiement régulier
     » PRA, continuité et Cloud



                             7
Devops – Mode Agile                          Geneva JUG




•    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




                            8
Devops – Mode Agile                            Geneva JUG




•    Déploiements fréquents
     » Rassure les équipes de Production
     » Rode la mécanique
     » Infra et code dans le cycle de déploiement continu
     » Mode itératif avec feedback




                             9
Devops – Nouvelle Donne Technique       Geneva JUG




•    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




                           10
Devops - Nouvelle Donne Technique              Geneva JUG




•    Une nouvelle approche des opérations IT
     » Infrastructure As Code (Chef, Puppet, Vagrant…)
     » Des Ops qui codent (Bash, Python, Ruby, Groovy)
     » Et utilisent des outils du Dev (SVN/Mercurial/GIT)

•    Automatisation
     » Pour réduire les erreurs
     » Pour gérer un nombre importants de machines



                             11
DevOps – De l’humain                          Geneva JUG




•    Constats
     » Opposer les équipes amène à l’échec

•    Gains
     » Lever au plus tôt les incompréhensions et
       inquiétudes
     » Responsabiliser chacun sur l’ensemble du cycle
       de vie




                             12
Devops – et des pré-requis                      Geneva JUG




•    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 pluri-
       disciplinaires
     » Accepter une ‘démocratie’ plus directe


                             13
Devops – Mets de l’huile       Geneva JUG




•  Connaître l’autre
•  Travaillons ensemble




                          14
Devops – Connaître l’autre                  Geneva JUG




•    Le vocabulaire
     » OOM, jar, war, Beans, Jenkins, Maven
     » Jmeter, SmokeTests, Selenium
     » SNMP, Nagios, Cacti, Hyperic, RHQ, JMX

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

                             15
Devops – Connaître l’autre         Geneva JUG




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




                              16
Devops – Travaillons ensemble                 Geneva JUG




•    Tous ensemble, tous ensemble
     » En finir avec la patate chaude
     » Analyser ensemble les besoins
     » Définir des livrables clairs
     » Tordre le coup aux procédures lourdes (et
       protectrices)




                            17
Retour d’expérience eXo Platform
Devops – eXo Platform                                               Geneva JUG


                  France: (~20)

                                            Ukraine: (~30)


                           Tunisia: (~30)
     USA: (~10)

                                                         Vietnam: (~70)




•  Editeur
•  ~160 employés dans le monde

•  Une culture OpenSource

•  Historique JEE/Portal mergé avec JBoss GateIn



                              19
Devops – eXo Platform                      Geneva JUG




•    Applications Java
     » AIO, PLF, Cloud IDE

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




                             20
Devops – eXo Platform                        Geneva JUG




•    Des équipes dans 5 pays et 4 continents
     » DEV, Support, QA, ITOP (production)

•    Un outillage classique
     » Subversion & GIT
     » Maven, Nexus
     » Jenkins, Sonar
     » JIRA, Confluence, Fisheye



                              21
Devops – Outils communs                      Geneva JUG




•  JIRA
•  Subversion/Git
     » Dev, QA ou Prod, les sources sont dans le SCM
•  Repository Nexus
•  Support documentaire Wiki

•  Des Jenkins


•    Capitalisation des connaissances
•    Supprime les réticences « outils de l’autre »

                            22
Devops – Outils communs                      Geneva JUG




•    Venus de la Prod
     » Généralisation de JMX (exposition Mbeans)
     » VisualVM




Non aux boites noires !

                            23
Devops – JIRA en situation                     Geneva JUG




•    Des projets JIRA
     » Par projets Dev
     » Par projets QA
     » Pour l’activité ITOP (Ops)
     » Mode sprint sur 2 semaines pour Dev
     » Mode sprint sur une semaine pour ITOP

Un même outil pour l’ensemble des acteurs évite la
duplication d’informations et le rejet de workflow
spécifiques !


                           24
Devops – JIRA pour la PROD                   Geneva JUG




•    Une demande de déploiement est un ticket
     Prod
     » Planification JIRA
     » Description des opérations en cours
     » Retours suite aux opérations.




                            25
Devops – JIRA pour la PROD                       Geneva JUG




•    Les incidents de Prod sont des tickets
     » Collecte des éléments en pièces attachés ou liens
       externes
     » Pré-analyse
     » Qualification puis ouverture d’un ticket Produit lié
     » Permis le suivi de l’incident à la résolution produit




                              26
Devops – Mêmes référentiels                      Geneva JUG




•    Tous les acteurs partagent les mêmes 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 ITOP




                             27
Devops – The Jenkins Gang                      Geneva JUG




•    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)
     » Déploiement vers l’infra QA
     » Test de performances et conformité


                             28
DevOps – Jenkins SWF-CI (build/deploy repos)
                                           Geneva JUG




•  Construction et tests
•  Deploiement ASAP
     » Via Maven 2/3
     » Depuis sources dans
       SVN ou GIT
     » Vers les repositories
       Maven
•    ~100 jobs



                               29
DevOps – Jenkins SWF-CI (packaging)   Geneva JUG




•    Packaging des produits.
     » Prêts pour démos ou
       tests
•  Utilisation de
   contraintes amonts
   pour limiter les
   reconstructions
•  Utilisation du plugin
   priority sorter avec une
   priorité faible
•  ~20 jobs




                               30
DevOps – Jenkins SWF-CD (deployment)          Geneva JUG




•    Déploiement en pre-production
     » Mode SSH Slave et clés privées (sécurité)
     » Restons simple (KISS), jobs free style
     » Bash est l’ami de vos SysAdmin
     » Les taches du job dans Subversion

     On mélange bien ici Dev et Ops, avec l’outillage
     maitrisé par chacun et les bonnes pratiques comme
     les sources dans le SCM.



                             31
DevOps – Jenkins SWF-CD (deployment)            Geneva JUG




                          Jenkins Master




         Jenkins Agent
                                              Jenkins Agent


       SQL Engine
                           Jenkins Agent   HTTP Frontend



                         App Server


                           32
DevOps – Jenkins SWF-CD (deployment)         Geneva JUG




  » Jenkins est un enchaineur
  » Il déclenche les jobs suivant nos règles (horaires
   ou évènements)
  » Il prend le contrôle d’instances esclaves dans un
   environnement contraint lié au profil SSH
  » Les résultats d’opérations (stdout/stderr)
   remontent naturellement vers le Jenkins Maitre
  » Jenkins devient une console d’opération
  » Pour l’équipe Prod, mais utilisable par les DEV ou
   la QA sous contrôle et conditions


                           33
DevOps – Jenkins QAF        Geneva JUG




                       34
DevOps – Jenkins QAF                        Geneva JUG




                          Jenkins Master




        Jenkins Agent
                                           Jenkins Agent


      SQL Engine
                          Jenkins Agent     Injector



                        App Server


                           35
DevOps – Jenkins QAF tests process   Geneva JUG




                         36
DevOps – Jenkins QAF Performances Jobs   Geneva JUG




                        37
DevOps – Jenkins QAF Performances tests   Geneva JUG




                         38
DevOps – Jenkins QAF Performances reports   Geneva JUG




                         39
DevOps – Jenkins QAF                         Geneva JUG




  » Jenkins comme enchaineur
  » Il va bosser la nuit pour produire des tests
   fonctionnels long ou des tirs de performances
  » Analyse des résultats le lendemain matin avec le
   café et les croissants (thé / biscotte accepté)
  » L’équipe QA se focalise sur l’analyse (humaine) et
   confie les taches rébarbatives (déploiement,
   initialisation, tirs longs) à la machine.
  » Jenkins est une console d’opération pour l’équipe
   QA, elle aussi utilisable par les DEV ou PROD


                           40
DevOps – Retours eXo                          Geneva JUG




•    Un outillage commun facilite la communication
     » Echange des bonnes pratiques (Dev, Ops, QA)
     » Partage et montée en compétence ensemble
     » Laissons faire à la machine ce qui est long ou
       rébarbatif
     » Restons simple

     DevOps ne doit pas rester cantonné à une élite mais
     inclure l’ensemble des acteurs.



                             41
Les mains dans le cambouis
Dédicace spéciale à mes amis les @lescastcodeurs
DevOps – Les retours d’atelier                Geneva JUG




Un besoin courant des équipes DEV et QA est l’
analyse du comportement d’applications en situation.


  » Les outils de profiling sont trop intrusifs ou mal
   maitrisés
  » La supervision de prod n’est pas adaptée
  » Restons simple et pragmatique
  » Récompensons l’effort JMX



                           43
DevOps – Graphite (https://launchpad.net/graphite)   Geneva JUG




   » Solution de collecte et tracés de métriques
   » Développée en Python
   » Un collecteur via TCP/IP : Carbon
   » Un gestionnaire de stockage : Whisper
   » Un tracé des métriques : Graphite




                                   44
DevOps – Graphite                           Geneva JUG




  » Collecteur et stockage scalable sur plusieurs
    instances
  » Agrégation sur un même graphique de métriques
    différents
  » Moteur de rendu entièrement configurable
  » Large choix de fonctions à appliquer
  » Accès via l’UI Web ou via URL restituant une
   image PNG




                          45
DevOps – JMXTrans (http://code.google.com/p/jmxtrans/)   Geneva JUG




•    Un collecteur JMX simple et performant
     » Ecris par un Dev Apache bien connu (Jon Stevens)
       passé du coté obscur (Ops)
     » Fonctionne sur n’importe quelle machine (in/of
       situ)
     » Simple, léger et rapidement déployable
     » Alimentation de back-ends comme RRDTools et
       Graphite
     » Une syntaxe de définition simple et efficace
       (JSON)
     » Un taux échantillonnage réglable

                                  46
DevOps – JMXTrans – Graphite en situation       Geneva JUG


                                            Graphite




                                            @




                                      JMXTrans




                          47
DevOps – Exemples JSON                                                                             Geneva JUG


{
  "servers" : [ {
    "port" : "8004",
    "host" : "appserver",
    "queries" : [ {
       "outputWriters" : [ {
         "@class" : "com.googlecode.jmxtrans.model.output.GraphiteWriter",
         "settings" : {
            "port" : 2003,
            "host" : "graphite",
         "typeNames" : [ "name" ]
         }
       } ],
       "obj" : "Catalina:type=DataSource,class=javax.sql.DataSource,name=*",
       "attr" : [ "numActive", "numIdle" ]
    } ],
    "numQueryThreads" : 2                 {
  } ]                                       "servers" : [ {
}                                             "port" : "8004",
                                              "host" : "appserver",
                                              "queries" : [ {
                                                "outputWriters" : [ {
                                                   "@class" : "com.googlecode.jmxtrans.model.output.GraphiteWriter",
   {                                               "settings" : {
      "servers" : [ {                                "port" : 2003,
        "port" : "8004",                             "host" : "graphite",
        "host" : "appserver",                     "typeNames" : [ "name" ]
        "queries" : [ {                            }
           "outputWriters" : [ {                } ],
                                                "obj" : "Catalina:type=ThreadPool,name=*",
             "@class" : "com.googlecode.jmxtrans.model.output.GraphiteWriter",
             "settings" : {                     "attr" : [ "currentThreadCount", "currentThreadsBusy", "" ]
                "port" : 2003,                } ],
                "host" : "graphite"           "numQueryThreads" : 2
             }                              } ]
           } ],                           }
           "obj" : "java.lang:type=Threading",
           "attr" : [ "DaemonThreadCount", "PeakThreadCount", "ThreadCount",
   "TotalStartedThreadCount" ]
        } ],
        "numQueryThreads" : 2
      } ]
   }




                                                           48
DevOps – Résultats Graphite   Geneva JUG




                        49
Geneva JUG




Et voici le moment des questions et réponses …
               si vous avez été sages




                         50
Licence et copyrights                            Geneva JUG




•    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/




                               51

Mais conteúdo relacionado

Mais procurados

Devops Introduction au mouvement
Devops Introduction au mouvementDevops Introduction au mouvement
Devops Introduction au mouvementUlrich VACHON
 
Devops, un tour d'horizon - Eutelsat 2018
Devops, un tour d'horizon -  Eutelsat 2018Devops, un tour d'horizon -  Eutelsat 2018
Devops, un tour d'horizon - Eutelsat 2018Ludovic Piot
 
AT2010 Principes Integration Continue
AT2010 Principes Integration ContinueAT2010 Principes Integration Continue
AT2010 Principes Integration ContinueNormandy JUG
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
Journée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOpsJournée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOpsPublicis Sapient Engineering
 
NightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéNightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéZenika
 
Meetup DevOps / WebOps Nîmes 20161020
Meetup DevOps / WebOps Nîmes 20161020Meetup DevOps / WebOps Nîmes 20161020
Meetup DevOps / WebOps Nîmes 20161020NimeOps
 
DevOps et tendances Monitoring
DevOps et tendances MonitoringDevOps et tendances Monitoring
DevOps et tendances MonitoringFrançois
 
Requêtes multi-critères avec Cassandra
Requêtes multi-critères avec CassandraRequêtes multi-critères avec Cassandra
Requêtes multi-critères avec CassandraJulien Dubois
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryZenika
 
DEVOPS - La synthèse
DEVOPS - La synthèseDEVOPS - La synthèse
DEVOPS - La synthèseCOMPETENSIS
 
Processus d’intégration continue et outils
Processus d’intégration continue et outilsProcessus d’intégration continue et outils
Processus d’intégration continue et outilsAgile Tour 2009 Québec
 
CloudExpo Europe 2017 - DevOps entre client et fournisseur
CloudExpo Europe 2017 - DevOps entre client et fournisseurCloudExpo Europe 2017 - DevOps entre client et fournisseur
CloudExpo Europe 2017 - DevOps entre client et fournisseurLudovic Piot
 
Développer et déployer dans le cloud
Développer et déployer dans le cloudDévelopper et déployer dans le cloud
Développer et déployer dans le cloudJulien Dubois
 
Intégration continue
Intégration continueIntégration continue
Intégration continueJohan Moreau
 
DevOps, quel futur pour les Ops ?
DevOps, quel futur pour les Ops ?DevOps, quel futur pour les Ops ?
DevOps, quel futur pour les Ops ?Ludovic Piot
 
[Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps [Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps Devoteam Revolve
 
Gérer son environnement de développement avec Docker
Gérer son environnement de développement avec DockerGérer son environnement de développement avec Docker
Gérer son environnement de développement avec DockerJulien Dubois
 

Mais procurados (20)

Devops Introduction au mouvement
Devops Introduction au mouvementDevops Introduction au mouvement
Devops Introduction au mouvement
 
Devops, un tour d'horizon - Eutelsat 2018
Devops, un tour d'horizon -  Eutelsat 2018Devops, un tour d'horizon -  Eutelsat 2018
Devops, un tour d'horizon - Eutelsat 2018
 
AT2010 Principes Integration Continue
AT2010 Principes Integration ContinueAT2010 Principes Integration Continue
AT2010 Principes Integration Continue
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Journée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOpsJournée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOps
 
NightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery AvancéNightClazz Build Tools & Continuous Delivery Avancé
NightClazz Build Tools & Continuous Delivery Avancé
 
Meetup DevOps / WebOps Nîmes 20161020
Meetup DevOps / WebOps Nîmes 20161020Meetup DevOps / WebOps Nîmes 20161020
Meetup DevOps / WebOps Nîmes 20161020
 
DevOps et tendances Monitoring
DevOps et tendances MonitoringDevOps et tendances Monitoring
DevOps et tendances Monitoring
 
Presentation-DEVOPS-par-GDG
Presentation-DEVOPS-par-GDGPresentation-DEVOPS-par-GDG
Presentation-DEVOPS-par-GDG
 
Requêtes multi-critères avec Cassandra
Requêtes multi-critères avec CassandraRequêtes multi-critères avec Cassandra
Requêtes multi-critères avec Cassandra
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous Delivery
 
DEVOPS - La synthèse
DEVOPS - La synthèseDEVOPS - La synthèse
DEVOPS - La synthèse
 
Processus d’intégration continue et outils
Processus d’intégration continue et outilsProcessus d’intégration continue et outils
Processus d’intégration continue et outils
 
CloudExpo Europe 2017 - DevOps entre client et fournisseur
CloudExpo Europe 2017 - DevOps entre client et fournisseurCloudExpo Europe 2017 - DevOps entre client et fournisseur
CloudExpo Europe 2017 - DevOps entre client et fournisseur
 
De Devoxx au CAC40
De Devoxx au CAC40De Devoxx au CAC40
De Devoxx au CAC40
 
Développer et déployer dans le cloud
Développer et déployer dans le cloudDévelopper et déployer dans le cloud
Développer et déployer dans le cloud
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
DevOps, quel futur pour les Ops ?
DevOps, quel futur pour les Ops ?DevOps, quel futur pour les Ops ?
DevOps, quel futur pour les Ops ?
 
[Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps [Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps
 
Gérer son environnement de développement avec Docker
Gérer son environnement de développement avec DockerGérer son environnement de développement avec Docker
Gérer son environnement de développement avec Docker
 

Destaque

Votre application métier en 3 mois !
Votre application métier en 3 mois !Votre application métier en 3 mois !
Votre application métier en 3 mois !Micropole Group
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...vlabatut
 
Refactor your Java EE application using Microservices and Containers - Arun G...
Refactor your Java EE application using Microservices and Containers - Arun G...Refactor your Java EE application using Microservices and Containers - Arun G...
Refactor your Java EE application using Microservices and Containers - Arun G...Codemotion
 
Design & Develop Batch Applications in Java/JEE
Design & Develop Batch Applications in Java/JEEDesign & Develop Batch Applications in Java/JEE
Design & Develop Batch Applications in Java/JEENaresh Chintalcheru
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?rfelden
 
Permaculture in the desert
Permaculture in the desertPermaculture in the desert
Permaculture in the desertedenvardy
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche DevopsRomain Chalumeau
 
DevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than TechnologyDevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than TechnologyCA Technologies
 

Destaque (8)

Votre application métier en 3 mois !
Votre application métier en 3 mois !Votre application métier en 3 mois !
Votre application métier en 3 mois !
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
 
Refactor your Java EE application using Microservices and Containers - Arun G...
Refactor your Java EE application using Microservices and Containers - Arun G...Refactor your Java EE application using Microservices and Containers - Arun G...
Refactor your Java EE application using Microservices and Containers - Arun G...
 
Design & Develop Batch Applications in Java/JEE
Design & Develop Batch Applications in Java/JEEDesign & Develop Batch Applications in Java/JEE
Design & Develop Batch Applications in Java/JEE
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?
 
Permaculture in the desert
Permaculture in the desertPermaculture in the desert
Permaculture in the desert
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche Devops
 
DevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than TechnologyDevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than Technology
 

Semelhante a DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011

DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011Henri Gomez
 
De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?Goood!
 
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 Hidora
 
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
 
Integration continue - Introduction
Integration continue - IntroductionIntegration continue - Introduction
Integration continue - IntroductionOlivier ETIENNE
 
AgileTour Toulouse 2012 : de la livraison continue dans mon organisation
AgileTour Toulouse 2012 : de la livraison continue dans mon organisationAgileTour Toulouse 2012 : de la livraison continue dans mon organisation
AgileTour Toulouse 2012 : de la livraison continue dans mon organisationAgile Toulouse
 
De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?Goood!
 
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 ...Jasmine Conseil
 
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 TrudelAgile Montréal
 
presentationSCRUM.pptx
presentationSCRUM.pptxpresentationSCRUM.pptx
presentationSCRUM.pptxFaouziRBEIHI
 
a Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les fluxa Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les fluxDanielMohamed4
 
20111220 lyon jug-devops-culture
20111220 lyon jug-devops-culture20111220 lyon jug-devops-culture
20111220 lyon jug-devops-cultureHenri Gomez
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec DockerLuis Lopez
 
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. DarmontZenika
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsZenikaOuest
 

Semelhante a DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011 (20)

DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
 
De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?
 
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
 
Dev opsday case study
Dev opsday   case studyDev opsday   case study
Dev opsday case study
 
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...
 
Integration continue - Introduction
Integration continue - IntroductionIntegration continue - Introduction
Integration continue - Introduction
 
AgileTour Toulouse 2012 : de la livraison continue dans mon organisation
AgileTour Toulouse 2012 : de la livraison continue dans mon organisationAgileTour Toulouse 2012 : de la livraison continue dans mon organisation
AgileTour Toulouse 2012 : de la livraison continue dans mon organisation
 
De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Genielogiciel
GenielogicielGenielogiciel
Genielogiciel
 
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 ...
 
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
 
L'Agilité chez GEE Montréal
L'Agilité chez GEE MontréalL'Agilité chez GEE Montréal
L'Agilité chez GEE Montréal
 
presentationSCRUM.pptx
presentationSCRUM.pptxpresentationSCRUM.pptx
presentationSCRUM.pptx
 
a Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les fluxa Supply Chain a pour mission de gérer de bout en bout les flux
a Supply Chain a pour mission de gérer de bout en bout les flux
 
20111220 lyon jug-devops-culture
20111220 lyon jug-devops-culture20111220 lyon jug-devops-culture
20111220 lyon jug-devops-culture
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 
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
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
 

Mais de Henri Gomez

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.pdfHenri Gomez
 
20200225 bbl-docker-packaging-natif
20200225 bbl-docker-packaging-natif20200225 bbl-docker-packaging-natif
20200225 bbl-docker-packaging-natifHenri Gomez
 
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 2018Henri Gomez
 
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 bienHenri Gomez
 
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 bienHenri Gomez
 
From ci to cd - LavaJug 2012
From ci to cd  - LavaJug 2012From ci to cd  - LavaJug 2012
From ci to cd - LavaJug 2012Henri 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 2012Henri Gomez
 
20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natifHenri Gomez
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natifHenri Gomez
 
20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natif20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natifHenri Gomez
 

Mais de Henri Gomez (11)

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
 
20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natif20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natif
 

DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011

  • 1. Geneva Jug Mardi 30 Aout 2011 Devops Retour d’experience
  • 2. Henri Gomez Geneva JUG •  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 – ITOP Manager •  Me contacter »  Responsable de la production »  Mail: henri.gomez@gmail.com »  Infrastructure locale (TN/UA/VN) »  Twitter : @hgomez »  Infrastructure dédiée sur OVH »  Skype : gomezhe »  Infrastructure Cloud sur AWS »  Blog : http://blog.hgomez.net •  eXo – QA Tech Lead »  QAF – QA Factory »  Benchmarks »  Performance Analysis 2
  • 3. Devops : une image vaut mille mots Geneva JUG 3
  • 4. Devops : Allo ? Geneva JUG Courtesy @builddoctor 4
  • 5. Devops - Kesako Geneva JUG •  Ce que n’est pas DevOps » Un produit (même si…) » Une personne ou équipe » Une méthodologie stricte » Une recette miracle 5
  • 6. Devops - Kesako Geneva JUG •  Ce qu’est DevOps » Un mouvement » Un mode agile sur l’ensemble de la chaine » Une nouvelle donne technique » Une autre approche humaine 6
  • 7. Devops - Mouvement Geneva JUG •  Initié fin 2009 par des acteurs du monde Web » Google, Amazon, Yahoo, LinkedIn, Netflix » De décideurs qui sont d’anciens techies •  Réponses à de nouvelles problématiques » Déploiement massif » Déploiement régulier » PRA, continuité et Cloud 7
  • 8. Devops – Mode Agile Geneva JUG •  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 8
  • 9. Devops – Mode Agile Geneva JUG •  Déploiements fréquents » Rassure les équipes de Production » Rode la mécanique » Infra et code dans le cycle de déploiement continu » Mode itératif avec feedback 9
  • 10. Devops – Nouvelle Donne Technique Geneva JUG •  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 10
  • 11. Devops - Nouvelle Donne Technique Geneva JUG •  Une nouvelle approche des opérations IT » Infrastructure As Code (Chef, Puppet, Vagrant…) » Des Ops qui codent (Bash, Python, Ruby, Groovy) » Et utilisent des outils du Dev (SVN/Mercurial/GIT) •  Automatisation » Pour réduire les erreurs » Pour gérer un nombre importants de machines 11
  • 12. DevOps – De l’humain Geneva JUG •  Constats » Opposer les équipes amène à l’échec •  Gains » Lever au plus tôt les incompréhensions et inquiétudes » Responsabiliser chacun sur l’ensemble du cycle de vie 12
  • 13. Devops – et des pré-requis Geneva JUG •  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 pluri- disciplinaires » Accepter une ‘démocratie’ plus directe 13
  • 14. Devops – Mets de l’huile Geneva JUG •  Connaître l’autre •  Travaillons ensemble 14
  • 15. Devops – Connaître l’autre Geneva JUG •  Le vocabulaire » OOM, jar, war, Beans, Jenkins, Maven » Jmeter, SmokeTests, Selenium » SNMP, Nagios, Cacti, Hyperic, RHQ, JMX •  L’environnement et les contraintes » Collocation et mutualisation » Monitoring » Sécurité 15
  • 16. Devops – Connaître l’autre Geneva JUG •  Les peurs de l’autre » Boites noires » Performances » Effet de bord » Reprise d’activité » Plans de test tardif 16
  • 17. Devops – Travaillons ensemble Geneva JUG •  Tous ensemble, tous ensemble » En finir avec la patate chaude » Analyser ensemble les besoins » Définir des livrables clairs » Tordre le coup aux procédures lourdes (et protectrices) 17
  • 19. Devops – eXo Platform Geneva JUG France: (~20) Ukraine: (~30) Tunisia: (~30) USA: (~10) Vietnam: (~70) •  Editeur •  ~160 employés dans le monde •  Une culture OpenSource •  Historique JEE/Portal mergé avec JBoss GateIn 19
  • 20. Devops – eXo Platform Geneva JUG •  Applications Java » AIO, PLF, Cloud IDE •  Environnement » Linux, MySQL, PostgreSQL, DB2, Oracle » Local, dédié et Cloud (AWS) 20
  • 21. Devops – eXo Platform Geneva JUG •  Des équipes dans 5 pays et 4 continents » DEV, Support, QA, ITOP (production) •  Un outillage classique » Subversion & GIT » Maven, Nexus » Jenkins, Sonar » JIRA, Confluence, Fisheye 21
  • 22. Devops – Outils communs Geneva JUG •  JIRA •  Subversion/Git » Dev, QA ou Prod, les sources sont dans le SCM •  Repository Nexus •  Support documentaire Wiki •  Des Jenkins •  Capitalisation des connaissances •  Supprime les réticences « outils de l’autre » 22
  • 23. Devops – Outils communs Geneva JUG •  Venus de la Prod » Généralisation de JMX (exposition Mbeans) » VisualVM Non aux boites noires ! 23
  • 24. Devops – JIRA en situation Geneva JUG •  Des projets JIRA » Par projets Dev » Par projets QA » Pour l’activité ITOP (Ops) » Mode sprint sur 2 semaines pour Dev » Mode sprint sur une semaine pour ITOP Un même outil pour l’ensemble des acteurs évite la duplication d’informations et le rejet de workflow spécifiques ! 24
  • 25. Devops – JIRA pour la PROD Geneva JUG •  Une demande de déploiement est un ticket Prod » Planification JIRA » Description des opérations en cours » Retours suite aux opérations. 25
  • 26. Devops – JIRA pour la PROD Geneva JUG •  Les incidents de Prod sont des tickets » Collecte des éléments en pièces attachés ou liens externes » Pré-analyse » Qualification puis ouverture d’un ticket Produit lié » Permis le suivi de l’incident à la résolution produit 26
  • 27. Devops – Mêmes référentiels Geneva JUG •  Tous les acteurs partagent les mêmes 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 ITOP 27
  • 28. Devops – The Jenkins Gang Geneva JUG •  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) » Déploiement vers l’infra QA » Test de performances et conformité 28
  • 29. DevOps – Jenkins SWF-CI (build/deploy repos) Geneva JUG •  Construction et tests •  Deploiement ASAP » Via Maven 2/3 » Depuis sources dans SVN ou GIT » Vers les repositories Maven •  ~100 jobs 29
  • 30. DevOps – Jenkins SWF-CI (packaging) Geneva JUG •  Packaging des produits. » Prêts pour démos ou tests •  Utilisation de contraintes amonts pour limiter les reconstructions •  Utilisation du plugin priority sorter avec une priorité faible •  ~20 jobs 30
  • 31. DevOps – Jenkins SWF-CD (deployment) Geneva JUG •  Déploiement en pre-production » Mode SSH Slave et clés privées (sécurité) » Restons simple (KISS), jobs free style » Bash est l’ami de vos SysAdmin » Les taches du job dans Subversion On mélange bien ici Dev et Ops, avec l’outillage maitrisé par chacun et les bonnes pratiques comme les sources dans le SCM. 31
  • 32. DevOps – Jenkins SWF-CD (deployment) Geneva JUG Jenkins Master Jenkins Agent Jenkins Agent SQL Engine Jenkins Agent HTTP Frontend App Server 32
  • 33. DevOps – Jenkins SWF-CD (deployment) Geneva JUG » Jenkins est un enchaineur » Il déclenche les jobs suivant nos règles (horaires ou évènements) » Il prend le contrôle d’instances esclaves dans un environnement contraint lié au profil SSH » Les résultats d’opérations (stdout/stderr) remontent naturellement vers le Jenkins Maitre » Jenkins devient une console d’opération » Pour l’équipe Prod, mais utilisable par les DEV ou la QA sous contrôle et conditions 33
  • 34. DevOps – Jenkins QAF Geneva JUG 34
  • 35. DevOps – Jenkins QAF Geneva JUG Jenkins Master Jenkins Agent Jenkins Agent SQL Engine Jenkins Agent Injector App Server 35
  • 36. DevOps – Jenkins QAF tests process Geneva JUG 36
  • 37. DevOps – Jenkins QAF Performances Jobs Geneva JUG 37
  • 38. DevOps – Jenkins QAF Performances tests Geneva JUG 38
  • 39. DevOps – Jenkins QAF Performances reports Geneva JUG 39
  • 40. DevOps – Jenkins QAF Geneva JUG » Jenkins comme enchaineur » Il va bosser la nuit pour produire des tests fonctionnels long ou des tirs de performances » Analyse des résultats le lendemain matin avec le café et les croissants (thé / biscotte accepté) » L’équipe QA se focalise sur l’analyse (humaine) et confie les taches rébarbatives (déploiement, initialisation, tirs longs) à la machine. » Jenkins est une console d’opération pour l’équipe QA, elle aussi utilisable par les DEV ou PROD 40
  • 41. DevOps – Retours eXo Geneva JUG •  Un outillage commun facilite la communication » Echange des bonnes pratiques (Dev, Ops, QA) » Partage et montée en compétence ensemble » Laissons faire à la machine ce qui est long ou rébarbatif » Restons simple DevOps ne doit pas rester cantonné à une élite mais inclure l’ensemble des acteurs. 41
  • 42. Les mains dans le cambouis Dédicace spéciale à mes amis les @lescastcodeurs
  • 43. DevOps – Les retours d’atelier Geneva JUG Un besoin courant des équipes DEV et QA est l’ analyse du comportement d’applications en situation. » Les outils de profiling sont trop intrusifs ou mal maitrisés » La supervision de prod n’est pas adaptée » Restons simple et pragmatique » Récompensons l’effort JMX 43
  • 44. DevOps – Graphite (https://launchpad.net/graphite) Geneva JUG » Solution de collecte et tracés de métriques » Développée en Python » Un collecteur via TCP/IP : Carbon » Un gestionnaire de stockage : Whisper » Un tracé des métriques : Graphite 44
  • 45. DevOps – Graphite Geneva JUG » Collecteur et stockage scalable sur plusieurs instances » Agrégation sur un même graphique de métriques différents » Moteur de rendu entièrement configurable » Large choix de fonctions à appliquer » Accès via l’UI Web ou via URL restituant une image PNG 45
  • 46. DevOps – JMXTrans (http://code.google.com/p/jmxtrans/) Geneva JUG •  Un collecteur JMX simple et performant » Ecris par un Dev Apache bien connu (Jon Stevens) passé du coté obscur (Ops) » Fonctionne sur n’importe quelle machine (in/of situ) » Simple, léger et rapidement déployable » Alimentation de back-ends comme RRDTools et Graphite » Une syntaxe de définition simple et efficace (JSON) » Un taux échantillonnage réglable 46
  • 47. DevOps – JMXTrans – Graphite en situation Geneva JUG Graphite @ JMXTrans 47
  • 48. DevOps – Exemples JSON Geneva JUG { "servers" : [ { "port" : "8004", "host" : "appserver", "queries" : [ { "outputWriters" : [ { "@class" : "com.googlecode.jmxtrans.model.output.GraphiteWriter", "settings" : { "port" : 2003, "host" : "graphite", "typeNames" : [ "name" ] } } ], "obj" : "Catalina:type=DataSource,class=javax.sql.DataSource,name=*", "attr" : [ "numActive", "numIdle" ] } ], "numQueryThreads" : 2 { } ] "servers" : [ { } "port" : "8004", "host" : "appserver", "queries" : [ { "outputWriters" : [ { "@class" : "com.googlecode.jmxtrans.model.output.GraphiteWriter", { "settings" : { "servers" : [ { "port" : 2003, "port" : "8004", "host" : "graphite", "host" : "appserver", "typeNames" : [ "name" ] "queries" : [ { } "outputWriters" : [ { } ], "obj" : "Catalina:type=ThreadPool,name=*", "@class" : "com.googlecode.jmxtrans.model.output.GraphiteWriter", "settings" : { "attr" : [ "currentThreadCount", "currentThreadsBusy", "" ] "port" : 2003, } ], "host" : "graphite" "numQueryThreads" : 2 } } ] } ], } "obj" : "java.lang:type=Threading", "attr" : [ "DaemonThreadCount", "PeakThreadCount", "ThreadCount", "TotalStartedThreadCount" ] } ], "numQueryThreads" : 2 } ] } 48
  • 49. DevOps – Résultats Graphite Geneva JUG 49
  • 50. Geneva JUG Et voici le moment des questions et réponses … si vous avez été sages 50
  • 51. Licence et copyrights Geneva JUG •  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/ 51