SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
Marseille Jug
Mercredi 29 Juin 2011

Devops
Retour d’experience
Henri Gomez
•    eXo – ITOP Manager                           •    OpenSource Activiste
      »    Responsable de la production                 »  Commiteur Apache Tomcat depuis 2001
      »    Infrastructure locale (TN/UA/VN)             »  Co-fondateur du projet JPackage
      »    Infrastructure dédiée sur OVH                »  Projet OpenJDK OS/X Build
      »    Infrastructure Cloud sur AWS
                                                  •    Me contacter
•    eXo – QA Tech Lead                                 »    Mail: henri.gomez@gmail.com
      »  QAF – QA Factory                               »    Twitter : @hgomez
      »  Benchmarks                                     »    Skype : gomezhe
      »  Performance Analysis                           »    Blog : http://blog.hgomez.net




                                              2
Devops : une image vaut mille mots




                      3
Devops - Kesako

•    Ce que n’est pas DevOps

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




                            4
Devops - Kesako

•    Ce qu’est DevOps

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




                             5
Devops - Mouvement

•    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



                             6
Devops - Mouvement

•    Un mode de pensée différent
     » Scale out plutôt que Scale in
     » Couplages légers
     » Cloud aware




                              7
Devops - Mouvement

•    Une nouvelle approche des opérations IT
     » Infrastructure As Code
     » Des SysAdm qui codent (Bash, Perl, Python, Ruby)
     » Et qui utilisent des outils du Dev (Subversion/GIT)

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



                             8
Devops – Approche Agile

•    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 – Approche Agile

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




                             10
DevOps – Nouvelle donne humaine

•    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




                             11
Devops – Mets de l’huile

•  Connaître l’autre
•  Travaillons ensemble

•  Tout le monde sur le pont




                        12
Devops – Connaître l’autre

•    Le vocabulaire
     » JVM, 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é

                             13
Devops – Connaître l’autre

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




                              14
Devops – Travaillons ensemble

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




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



                              17
Devops – eXo Platform

•    Applications Java
     » AIO, PLF, Cloud IDE

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




                             18
Devops – eXo Platform

•    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



                              19
Devops – Outils communs

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

                            20
Devops – Outils communs

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




Non aux boites noires !

                            21
Devops – JIRA en situation

•    Des projets JIRA
     » Par projets Dev
     » Par projets QA
     » Pour l’activité ITOP (Prod)
     » 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 !


                           22
Devops – JIRA pour la PROD

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




                            23
Devops – JIRA pour la PROD

•    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




                              24
Devops – Mêmes référentiels

•    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
       SWF Manager
     » Renforce la nécessité de livraison par le Dev
     » Rassure les équipes de QA et ITOP




                             25
Devops – The Jenkins Gang

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


                             26
DevOps – Jenkins SWF-CI (build/deploy repos)

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



                               27
DevOps – Jenkins SWF-CI (packaging)

•    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




                               28
DevOps – Jenkins SWF-CD (deployment)

•    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 ITOP, avec l’outillage
     maitrisé par chacun et les bonnes pratiques comme
     les sources dans le SCM.



                             29
DevOps – Jenkins SWF-CD (deployment)



                          Jenkins Master




         Jenkins Agent
                                              Jenkins Agent


       SQL Engine
                           Jenkins Agent   HTTP Frontend



                         App Server


                           30
DevOps – Jenkins SWF-CD (deployment)

  » 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


                           31
DevOps – Jenkins QAF




                       32
DevOps – Jenkins QAF



                          Jenkins Master




        Jenkins Agent
                                           Jenkins Agent


      SQL Engine
                          Jenkins Agent     Injector



                        App Server


                           33
DevOps – Jenkins QAF tests process




                         34
DevOps – Jenkins QAF Performances Jobs




                        35
DevOps – Jenkins QAF Performances tests




                         36
DevOps – Jenkins QAF Performances reports




                         37
DevOps – Jenkins QAF

  » 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


                           38
DevOps – Retours eXo

•    Un outillage commun facilite la communication
     » Echange des bonnes pratiques (Dev, ITOP, 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, c’est
     même tout le contraire, il doit séduire l’ensemble
     des acteurs.



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

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



                           41
DevOps – La suite Graphite

  » Solution de collecte et tracés de métriques
  » Développée en Python (installation délicate sur
   OS/X’)
  » Un collecteur via TCP/IP : Carbon
  » Un gestionnaire de stockage : Whisper
  » Un tracé des métriques : Graphite




                          42
DevOps – La suite Graphite

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




                          43
DevOps – JMXTrans

•    Un collecteur JMX simple et performant
     » Ecris par un Dev Apache bien connu (Jon Stevens)
       passé du coté obscur (Prod)
     » 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églage



                               44
DevOps – JMXTrans – Graphite en situation
                                            Graphite




                                            @




                                      JMXTrans




                          45
DevOps – Exemples JSON
{
  "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
      } ]
   }




                                                           46
DevOps – DevOps – Résultats Graphite




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




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




                               49

Más contenido relacionado

La actualidad más candente

Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapresLaurent Tardif
 
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 CroesusMartin Deslongchamps
 
DEVOPS - La synthèse
DEVOPS - La synthèseDEVOPS - La synthèse
DEVOPS - La synthèseCOMPETENSIS
 
Matinale DevOps / Docker
Matinale DevOps / DockerMatinale DevOps / Docker
Matinale DevOps / DockerZenika
 
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...Samuel Metias
 
DevOps et tendances Monitoring
DevOps et tendances MonitoringDevOps et tendances Monitoring
DevOps et tendances MonitoringFrançois
 
[devops REX 2016] Les impacts techniques et organisationnels liés à devops
 [devops REX 2016] Les impacts techniques et organisationnels liés à devops [devops REX 2016] Les impacts techniques et organisationnels liés à devops
[devops REX 2016] Les impacts techniques et organisationnels liés à devopsdevops REX
 
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
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?rfelden
 
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
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devopsEmmanuel Roldan
 
Des principes de la démarche DevOps à sa mise en oeuvre
Des principes de la démarche DevOps à sa mise en oeuvreDes principes de la démarche DevOps à sa mise en oeuvre
Des principes de la démarche DevOps à sa mise en oeuvreStephane Manciot
 
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 ?Amico Fabien
 
[Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps [Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps Devoteam Revolve
 
Le monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big DataLe monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big DataClaude Falguiere
 
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 FormationORSYS
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests PlanDenis Voituron
 

La actualidad más candente (20)

Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
 
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
 
Presentation-DEVOPS-par-GDG
Presentation-DEVOPS-par-GDGPresentation-DEVOPS-par-GDG
Presentation-DEVOPS-par-GDG
 
DEVOPS - La synthèse
DEVOPS - La synthèseDEVOPS - La synthèse
DEVOPS - La synthèse
 
Matinale DevOps / Docker
Matinale DevOps / DockerMatinale DevOps / Docker
Matinale DevOps / Docker
 
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
 
DevOps et tendances Monitoring
DevOps et tendances MonitoringDevOps et tendances Monitoring
DevOps et tendances Monitoring
 
[devops REX 2016] Les impacts techniques et organisationnels liés à devops
 [devops REX 2016] Les impacts techniques et organisationnels liés à devops [devops REX 2016] Les impacts techniques et organisationnels liés à devops
[devops REX 2016] Les impacts techniques et organisationnels liés à devops
 
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
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?
 
DevOps, quel futur pour les Ops ?
DevOps, quel futur pour les Ops ?DevOps, quel futur pour les Ops ?
DevOps, quel futur pour les Ops ?
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops
 
Des principes de la démarche DevOps à sa mise en oeuvre
Des principes de la démarche DevOps à sa mise en oeuvreDes principes de la démarche DevOps à sa mise en oeuvre
Des principes de la démarche DevOps à sa mise en oeuvre
 
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 ?
 
[Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps [Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps
 
Dev opsday case study
Dev opsday   case studyDev opsday   case study
Dev opsday case study
 
Le monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big DataLe monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big Data
 
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
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests Plan
 

Destacado

Paris Open Source Summit 2015 - Microsoft track on DevOps
Paris Open Source Summit 2015 - Microsoft track on DevOpsParis Open Source Summit 2015 - Microsoft track on DevOps
Paris Open Source Summit 2015 - Microsoft track on DevOpsSamuel Metias
 
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в MagentoСергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в MagentoAtwix
 
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM Atwix
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времениAndriy Samilyak
 
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Aurelien Navarre
 
Itea dev ops_course_topic2
Itea dev ops_course_topic2Itea dev ops_course_topic2
Itea dev ops_course_topic2Vadym Tymoshyk
 
DevOps Roadtrip Minneapolis
DevOps Roadtrip Minneapolis DevOps Roadtrip Minneapolis
DevOps Roadtrip Minneapolis VictorOps
 
Functional web with elixir and elm in phoenix
Functional web with elixir and elm in phoenixFunctional web with elixir and elm in phoenix
Functional web with elixir and elm in phoenixIzzet Mustafaiev
 
Roman Valchuk "Introducing to DevOps technologies"
Roman Valchuk "Introducing to DevOps technologies"Roman Valchuk "Introducing to DevOps technologies"
Roman Valchuk "Introducing to DevOps technologies"Vadym Muliavka
 
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...Atwix
 
#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016Pavel Chunyayev
 
Monitoring base, golang meetup, kyiv
Monitoring base, golang meetup, kyivMonitoring base, golang meetup, kyiv
Monitoring base, golang meetup, kyivVsevolod Polyakov
 
Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…Microsoft Technet France
 
Continuous integration with Docker and Ansible
Continuous integration with Docker and AnsibleContinuous integration with Docker and Ansible
Continuous integration with Docker and AnsibleDmytro Slupytskyi
 
Implementing DevOps In Practice
Implementing DevOps In PracticeImplementing DevOps In Practice
Implementing DevOps In PracticeZoltán Németh
 
Роман Яворский "Introduction to DevOps"
Роман Яворский "Introduction to DevOps"Роман Яворский "Introduction to DevOps"
Роман Яворский "Introduction to DevOps"Anna Shymchenko
 

Destacado (20)

TIAD : DevOps & continuous delivery dans le cloud
TIAD : DevOps & continuous delivery dans le cloudTIAD : DevOps & continuous delivery dans le cloud
TIAD : DevOps & continuous delivery dans le cloud
 
Paris Open Source Summit 2015 - Microsoft track on DevOps
Paris Open Source Summit 2015 - Microsoft track on DevOpsParis Open Source Summit 2015 - Microsoft track on DevOps
Paris Open Source Summit 2015 - Microsoft track on DevOps
 
DevOps in realtime
DevOps in realtimeDevOps in realtime
DevOps in realtime
 
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в MagentoСергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
 
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
 
Itea dev ops_course_topic2
Itea dev ops_course_topic2Itea dev ops_course_topic2
Itea dev ops_course_topic2
 
DevOps Roadtrip Minneapolis
DevOps Roadtrip Minneapolis DevOps Roadtrip Minneapolis
DevOps Roadtrip Minneapolis
 
Functional web with elixir and elm in phoenix
Functional web with elixir and elm in phoenixFunctional web with elixir and elm in phoenix
Functional web with elixir and elm in phoenix
 
Roman Valchuk "Introducing to DevOps technologies"
Roman Valchuk "Introducing to DevOps technologies"Roman Valchuk "Introducing to DevOps technologies"
Roman Valchuk "Introducing to DevOps technologies"
 
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
 
Final melnyk 2
Final melnyk 2Final melnyk 2
Final melnyk 2
 
#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016
 
Metrics: where and how
Metrics: where and howMetrics: where and how
Metrics: where and how
 
Monitoring base, golang meetup, kyiv
Monitoring base, golang meetup, kyivMonitoring base, golang meetup, kyiv
Monitoring base, golang meetup, kyiv
 
Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…
 
Continuous integration with Docker and Ansible
Continuous integration with Docker and AnsibleContinuous integration with Docker and Ansible
Continuous integration with Docker and Ansible
 
Implementing DevOps In Practice
Implementing DevOps In PracticeImplementing DevOps In Practice
Implementing DevOps In Practice
 
Роман Яворский "Introduction to DevOps"
Роман Яворский "Introduction to DevOps"Роман Яворский "Introduction to DevOps"
Роман Яворский "Introduction to DevOps"
 

Similar a DevOps - Retour d'expérience - MarsJug du 29 Juin 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
 
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 2011Henri Gomez
 
20111205 breizh jug-devops
20111205 breizh jug-devops20111205 breizh jug-devops
20111205 breizh jug-devopsHenri Gomez
 
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
 
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
 
AT2010 Principes Integration Continue
AT2010 Principes Integration ContinueAT2010 Principes Integration Continue
AT2010 Principes Integration ContinueNormandy JUG
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec DockerLuis Lopez
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+ekino
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE
 
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
 
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
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924Gregory Boissinot
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsZenikaOuest
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
Xcode Server - Jeffrey Macko
Xcode Server - Jeffrey MackoXcode Server - Jeffrey Macko
Xcode Server - Jeffrey MackoCocoaHeads France
 
Integration continue - Introduction
Integration continue - IntroductionIntegration continue - Introduction
Integration continue - IntroductionOlivier ETIENNE
 
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
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Adrien Blind
 

Similar a DevOps - Retour d'expérience - MarsJug du 29 Juin 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
 
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
 
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 ...
 
AT2010 Principes Integration Continue
AT2010 Principes Integration ContinueAT2010 Principes Integration Continue
AT2010 Principes Integration Continue
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 
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
 
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...
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Xcode Server - Jeffrey Macko
Xcode Server - Jeffrey MackoXcode Server - Jeffrey Macko
Xcode Server - Jeffrey Macko
 
Integration continue - Introduction
Integration continue - IntroductionIntegration continue - Introduction
Integration continue - Introduction
 
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...
 
L'Agilité chez GEE Montréal
L'Agilité chez GEE MontréalL'Agilité chez GEE Montréal
L'Agilité chez GEE Montréal
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?
 

Más 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
 
20111220 lyon jug-devops-culture
20111220 lyon jug-devops-culture20111220 lyon jug-devops-culture
20111220 lyon jug-devops-cultureHenri Gomez
 
20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natif20111205 breizh jug-packaging-natif
20111205 breizh jug-packaging-natifHenri Gomez
 

Más 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 - MarsJug du 29 Juin 2011

  • 1. Marseille Jug Mercredi 29 Juin 2011 Devops Retour d’experience
  • 2. Henri Gomez •  eXo – ITOP Manager •  OpenSource Activiste »  Responsable de la production »  Commiteur Apache Tomcat depuis 2001 »  Infrastructure locale (TN/UA/VN) »  Co-fondateur du projet JPackage »  Infrastructure dédiée sur OVH »  Projet OpenJDK OS/X Build »  Infrastructure Cloud sur AWS •  Me contacter •  eXo – QA Tech Lead »  Mail: henri.gomez@gmail.com »  QAF – QA Factory »  Twitter : @hgomez »  Benchmarks »  Skype : gomezhe »  Performance Analysis »  Blog : http://blog.hgomez.net 2
  • 3. Devops : une image vaut mille mots 3
  • 4. Devops - Kesako •  Ce que n’est pas DevOps » Un produit (même si…) » Une personne ou équipe » Une méthodologie stricte » Une recette miracle 4
  • 5. Devops - Kesako •  Ce qu’est DevOps » Un mouvement » Une approche agile sur l’ensemble de la chaine » Une nouvelle donne technique et humaine 5
  • 6. Devops - Mouvement •  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 6
  • 7. Devops - Mouvement •  Un mode de pensée différent » Scale out plutôt que Scale in » Couplages légers » Cloud aware 7
  • 8. Devops - Mouvement •  Une nouvelle approche des opérations IT » Infrastructure As Code » Des SysAdm qui codent (Bash, Perl, Python, Ruby) » Et qui utilisent des outils du Dev (Subversion/GIT) •  Automatisation » Pour réduire les erreurs » Pour gérer un nombre importants de machines 8
  • 9. Devops – Approche Agile •  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 – Approche Agile •  Déploiements fréquents » Rassure les équipes de Production » Rode la mécanique » Infra et code dans le cycle de déploiement continu 10
  • 11. DevOps – Nouvelle donne humaine •  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 11
  • 12. Devops – Mets de l’huile •  Connaître l’autre •  Travaillons ensemble •  Tout le monde sur le pont 12
  • 13. Devops – Connaître l’autre •  Le vocabulaire » JVM, 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é 13
  • 14. Devops – Connaître l’autre •  Les peurs de l’autre » Boites noires » Performances » Effet de bord » Reprise d’activité » Plans de test tardif 14
  • 15. Devops – Travaillons ensemble •  Tous ensemble, tous ensemble (osef en terre Olympienne) » En finir avec la patate chaude » Analyser ensemble les besoins » Définir des livrables clairs » Tordre le coup aux procédures lourdes (et protectrices) 15
  • 17. Devops – eXo Platform 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 17
  • 18. Devops – eXo Platform •  Applications Java » AIO, PLF, Cloud IDE •  Environnement » Linux, MySQL, PostgreSQL, DB2, Oracle » Local, dédié et Cloud (AWS) 18
  • 19. Devops – eXo Platform •  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 19
  • 20. Devops – Outils communs •  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 » 20
  • 21. Devops – Outils communs •  Venus de la Prod » Généralisation de JMX (exposition Mbeans) » VisualVM Non aux boites noires ! 21
  • 22. Devops – JIRA en situation •  Des projets JIRA » Par projets Dev » Par projets QA » Pour l’activité ITOP (Prod) » 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 ! 22
  • 23. Devops – JIRA pour la PROD •  Une demande de déploiement est un ticket Prod » Planification JIRA » Description des opérations en cours » Retours suite aux opérations. 23
  • 24. Devops – JIRA pour la PROD •  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 24
  • 25. Devops – Mêmes référentiels •  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 SWF Manager » Renforce la nécessité de livraison par le Dev » Rassure les équipes de QA et ITOP 25
  • 26. Devops – The Jenkins Gang •  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é 26
  • 27. DevOps – Jenkins SWF-CI (build/deploy repos) •  Construction et tests •  Deploiement ASAP » Via Maven 2/3 » Depuis sources dans SVN ou GIT » Vers les repositories Maven •  ~100 jobs 27
  • 28. DevOps – Jenkins SWF-CI (packaging) •  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 28
  • 29. DevOps – Jenkins SWF-CD (deployment) •  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 ITOP, avec l’outillage maitrisé par chacun et les bonnes pratiques comme les sources dans le SCM. 29
  • 30. DevOps – Jenkins SWF-CD (deployment) Jenkins Master Jenkins Agent Jenkins Agent SQL Engine Jenkins Agent HTTP Frontend App Server 30
  • 31. DevOps – Jenkins SWF-CD (deployment) » 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 31
  • 33. DevOps – Jenkins QAF Jenkins Master Jenkins Agent Jenkins Agent SQL Engine Jenkins Agent Injector App Server 33
  • 34. DevOps – Jenkins QAF tests process 34
  • 35. DevOps – Jenkins QAF Performances Jobs 35
  • 36. DevOps – Jenkins QAF Performances tests 36
  • 37. DevOps – Jenkins QAF Performances reports 37
  • 38. DevOps – Jenkins QAF » 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 38
  • 39. DevOps – Retours eXo •  Un outillage commun facilite la communication » Echange des bonnes pratiques (Dev, ITOP, 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, c’est même tout le contraire, il doit séduire l’ensemble des acteurs. 39
  • 40. Les mains dans le cambouis Dédicace spéciale à mes amis les @lescastcodeurs
  • 41. DevOps – Les retours d’atelier 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 41
  • 42. DevOps – La suite Graphite » Solution de collecte et tracés de métriques » Développée en Python (installation délicate sur OS/X’) » Un collecteur via TCP/IP : Carbon » Un gestionnaire de stockage : Whisper » Un tracé des métriques : Graphite 42
  • 43. DevOps – La suite Graphite » Collecteur et stockage scalable sur plusieurs instances » Agrégation sur un même graphique des métriques différents » Moteur de rendu entièrement configurable » Accès via l’UI Web ou via URL restituant une image PNG 43
  • 44. DevOps – JMXTrans •  Un collecteur JMX simple et performant » Ecris par un Dev Apache bien connu (Jon Stevens) passé du coté obscur (Prod) » 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églage 44
  • 45. DevOps – JMXTrans – Graphite en situation Graphite @ JMXTrans 45
  • 46. DevOps – Exemples JSON { "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 } ] } 46
  • 47. DevOps – DevOps – Résultats Graphite 47
  • 48. Et voici le moment des questions et réponses … si vous avez été sages 48
  • 49. 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/ 49