SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
DevOps@Kelkoo




Alain Delafosse / Nicolas Capponi / Avril 2012
Introduction                                                               2




                  =                                 +


                 Présentation d’une intégration         Zooms techniques
                 d’outils dans le contexte Kelkoo




     Contrat de session    @AlainDelafosse    @ncapponi       Vous ?
Kelkoo « Shopping Engine »                                                       3



80M appels APIs / mois                 220 personnes en Europe
Pic à 1600 req/S
                                       dont   90 informaticiens à Grenoble
                                                         5000 marchands


10M UU / mois                                      100M offres
                                                   avec un turn-over quotidien de 15%




              20 000 Produits                       13     Pays

           300 Catégories par pays
                         5000 revues
DevOps                                                                         4


   Le mouvement devops casse le mur entre les dev et les ops


                     Agile
 Business                               Development           DevOps   Operations
                 Methodologies




 Les 3 piliers du mouvement      DEVOPS


                                                   Faciliter la
        Industrialisation du                       communication
              processus de                         entre les équipes
           développement
                               Industrialisation
                                Infrastructure
Contexte Kelkoo                                                               5




                                                                     400 serveurs
                                                                     70+ DB
                                                                     200 composants
10 serveurs
10+ DB
1 composant




         TGZ + fichiers clefs valeurs
                                  Solution YAHOO
                                                   Solution maison
Conception du projet                                                         6


  Idées                                           Besoins

Outillage du dév. au déploiement             Multi -instanciation des composants
              BO de configuration            Réutiliser outils Open Source
 Gén.de composants installables




                               Automatisation
                          Déploiements standardisés
                        Commandes et interfaces simples
                             Outils Open Source
Notre solution: étapes                                           7




CLONER   CONFIGURER   DEVELOPPER    PACKAGER   CONFIGURER   DEPLOYER




Infrastructure / OS                Applications
Zoom 1: Puppet                       8




         COMMUNAUTE   +++   +   ++
         OUTILLAGE
         EXTENSIONS   ++    -   ++
         SIMPLICITE    +    -   ++
CLONER / CONFIGURER                                                                                          9



                                                            CLONER   CONFIGURER   DEVELOPPER   PACKAGER   CONFIGURER   DEPLOYER


                    Drivers
  OS: kickstart                   Config
                     Linux
                                   Réseau
 Partitions
                                   Config                 Repos SSH
Repos YUM                          Users
                                                   SNMP                           Réseau
                                                  Users
                                                                                    DNS
                                                    SSH



                                            Gestion centralisée des configurations
                                            systèmes et modification par exécution de
                                            classes Puppet
      Provisionning: industrialiser
      l’installation et la configuration
      initiale des serveurs
DEVELOPPER / PACKAGER                                                                           10



                                                CLONER   CONFIGURER   DEVELOPPER   PACKAGER   CONFIGURER   DEPLOYER




Génération d’archetypes              Génération de deux RPMs par composant
                                     Utilisation des dépendances RPMs
               Types de Composants
               - Processing                                            COMPOSANT
               - Webapp
               - Schema DB                                            DEPLOIEMENT
               - Plugin monitoring
               - Web services
Zoom 2: Plugin Maven RPM                          11


                    Scripts         Répertoires
                    Librairies      Binaires
 POM.XML


                       RPM COMPOSANT


                                      Valeurs par défaut
                         Templates
                                        Manifest Puppet




                                 RPM DEPLOIEMENT
CONFIGURER                                                                                              12


  TEMPLATES, VALEURS ET COMPOSANTS                      CLONER   CONFIGURER   DEVELOPPER   PACKAGER   CONFIGURER   DEPLOYER




                       +

  Associer des clefs et des valeurs mais aussi des composants et des serveurs

  ROLES




  Un rôle regroupe et abstrait un déploiement de composants et
  la configuration associée
Zoom 3: Geppetto                                                                13



                           Monitoring       nagiosTomcatIsAlive-2.1.0
                            webapp          cle1=val1



                          WS platform       tomcat-6.2
                           Tomcat           cle2=val2



             categories-3.0.0                 reviews-1.2.0        Base       cpu-1.2.0
Categories   cle3=val3          Reviews       cle4=val4          Monitoring   cle5=val5




             cle1=valA
   Serveur 1 cle4=valB          Serveur 2                Serveur 3
             cle6=valC
DEPLOYER                                                                                                   14


          Outil en ligne de commande PUNCH
          réalisant l’assemblage des
                                                              CLONER   CONFIGURER   DEVELOPPER   PACKAGER   CONFIGURER   DEPLOYER




          RPM DEPLOIEMENT RPM COMPOSANT                VALEURS DE CONFIG

          LIST                                            Appliquer une configuration
Lister les composants déployés                              APPLY


                 RESTORE
       Déployer et configurer
       avec les données du BO


                                           GET
                                 Récupérer les valeurs de config
Zoom 4: Punch                                                                   15


Récupération configuration du serveur
                                                          searchFeeder-2.1.0
                                                          searchFeederInterval=100
                Installation RPM déploiement              searchCleaner-1.5.2
                                                          searchCleanerMode=3
                                 Calcul des changements

                                               Puppet : désinstaller RPM composants

                                                                Puppet : installer
                                                                RPM composants
Etapes                                                    16



                     SVN
DEV
          2
                     4               5
              3            MVN
      1                                           3
                         JENKINS
                                         SERVER
OPS                                               4
          1                      2                    5
                                          PUNCH
                  GEPPETTO
                             1
Déploiement chez Kelkoo
   Développe, déploie,
      teste dans les
    environnements
 SCRUM         DEV
     QA,DEV parfois       DEV      DEV    DEV    DEV
          PRODTEAM       TEAM     TEAM   TEAM   TEAM




                                                                                             Communauté PACK/CONF
                                                       (gestion collective de l’outillage)
    Développe plugins
      de monitoring,
    déploie dans tous
   les environnements



   Déploient dans tous
   les environnements
                           OPS TEAM


   Clone et configure      INFRA TEAM
    tous les serveurs
Résultat                                                                       18

Subject: [vécu] Mise en prod accélérée
Date:    Thu, 10 Nov 2011 09:24:34 +0100
From:    Antoine ----
Pour info, nous avons décidé hier matin de renforcer notre capacité pour la
génération des browseBox en ajoutant un serveur.
A la fin de la journée:
    * Le serveur était dispo, cloné, DNS à jour, etc...
    * Les applications déployées & running
    * Le monitoring, alerting et dashboard en place
Soit moins de 10 heures entre la décision d'ajouter du hardware et sa réalisation
complète, cela sans bénéficier d'aucune escalade particulière.

   20
   18          Feature driven (Frontend)
   16
   14          Maintenance driven

   12
   10
    8
    6
    4
    2
    0




  Nombre de releases en production par semaine
DevOps@Kelkoo                                                                       19




                                                       Faciliter la communication
          Industrialisation du                         entre les équipes
 processus de développement

                                  Industrialisation
                                 de l’infrastructure
Vos Options                                                            20




    Construire sa solution                Prendre une solution du marché
        Utilisation de paquets systèmes         DeployIT (Xebia labs)
                                                Nolio (Nolio)




                                          Gérer des images de déploiement
S’adapter à une solution PAAS                    Image OS (Usharesoft)
   Google App Engine
Synthèse                                                                         21


ETAPES->    CLONAGE     OS CONFIG.    DEV.       PACKAGING   APP CONFIG.   DEPLOIEMENT
            OS
            Kickstarts  Classes
                                     Artefacts   RPMs        RPM de
ARTEFACTS   Classes     Puppets DNS,                                       RPMs
                                     Maven       REPOS YUM   Déploiement
            puppet DNS, LDAP, etc
            LDAP, etc
                                                 Plugin
                                                 Maven
            Cobbler     Puppet        Maven                  Puppet        Puppet
OUTILS                                           maison
            Puppet      Kermit                               Gepetto       Punch
                                                 YUM
                                                 Jenkins
            INFRA       INFRA                                              DEV
                                      DEV                    DEV
            SA          SA                       DEV                       SA
ACTEURS                               SA                     SA
            DEV         DEV                      SA                        OPS
                                                             OPS
            OPS         OPS
SUPPORT                              COMMUNAUTE PACK/CONF
22




MERCI……
Bonus                                                     23



CHOIX
• Utilisation des rôles sur une plateforme complexe
• Approfondir évolution DevOps versus SCRUM chez Kelkoo
Différents modèles
Responsabilités

               Embedded SA       Embedded          Embedded       Transversal SA      Ops contact     No integration
                                   OPS              OPS + SA
SCRUM          SA part of the   Ops part of the    Both part of    SA supporting      Dedicated OPS
                  SCRUM            SCRUM             SCRUM            SCRUM              contact

Release             SA               OPS             Various          Various          Ops contact         OPS

L1 / L2 /L3       L1 OPS          L1/L2 OPS       L1/L2 OPS+SA         L1 OPS           L1/L2 OPS     L1 OPS/SCRUM
support          L2/L3 SA         L3 SCRUM        L3 SA+SCRUM     L2/L3 SA/SCRUM        L3 SCRUM       L2/L3 SCRUM

Changes             SA               OPS            OPS / SA          SA / OPS            OPS              OPS

Monitoring     SA Producing       SA/SCRUM        OPS/SA/SCRUM       SA/SCRUM             OPS
                  plugins         Producing         Producing     Producing plugins     /SCRUM
                                    plugins          plugins
Problem mgt

Capacity mgt
Datanav   26

Más contenido relacionado

Destacado

Comment faire avec la psychorigidité des ops
Comment faire avec la psychorigidité des opsComment faire avec la psychorigidité des ops
Comment faire avec la psychorigidité des opsKarles Nine
 
Test driven infrastructure avec Docker
Test driven infrastructure avec DockerTest driven infrastructure avec Docker
Test driven infrastructure avec DockerSéven Le Mesle
 
Le Nouvel Ops XebiCon'15
Le Nouvel Ops XebiCon'15Le Nouvel Ops XebiCon'15
Le Nouvel Ops XebiCon'15Séven Le Mesle
 
Meetup DevOps / WebOps Nîmes 20161020
Meetup DevOps / WebOps Nîmes 20161020Meetup DevOps / WebOps Nîmes 20161020
Meetup DevOps / WebOps Nîmes 20161020NimeOps
 
DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ?
DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ?DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ?
DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ?Adrien Blind
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimLaurent Broudoux
 

Destacado (6)

Comment faire avec la psychorigidité des ops
Comment faire avec la psychorigidité des opsComment faire avec la psychorigidité des ops
Comment faire avec la psychorigidité des ops
 
Test driven infrastructure avec Docker
Test driven infrastructure avec DockerTest driven infrastructure avec Docker
Test driven infrastructure avec Docker
 
Le Nouvel Ops XebiCon'15
Le Nouvel Ops XebiCon'15Le Nouvel Ops XebiCon'15
Le Nouvel Ops XebiCon'15
 
Meetup DevOps / WebOps Nîmes 20161020
Meetup DevOps / WebOps Nîmes 20161020Meetup DevOps / WebOps Nîmes 20161020
Meetup DevOps / WebOps Nîmes 20161020
 
DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ?
DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ?DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ?
DevOps, NoOps, everything-as-code, commoditisation… Quel futur pour les ops ?
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - Ensim
 

Similar a Dev ops@kelkoo

Devops@Kelkoo - Agile Grenoble 2012
Devops@Kelkoo - Agile Grenoble 2012Devops@Kelkoo - Agile Grenoble 2012
Devops@Kelkoo - Agile Grenoble 2012Nicolas Capponi
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasMicrosoft
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGCh'ti JUG
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natifHenri Gomez
 
20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natifHenri Gomez
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...Microsoft Technet France
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOlivier DASINI
 
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
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec dockergcatt
 
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...Microsoft Technet France
 
Scom et orchestrator main dans la main (ser214)
Scom et orchestrator main dans la main (ser214)Scom et orchestrator main dans la main (ser214)
Scom et orchestrator main dans la main (ser214)Jean-François BERENGUER
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?rfelden
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerThe Incredible Automation Day
 
ToulouseJUG - REX Flex, Spring & Agilité
ToulouseJUG - REX Flex, Spring & AgilitéToulouseJUG - REX Flex, Spring & Agilité
ToulouseJUG - REX Flex, Spring & AgilitéNicolas Deverge
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012FastConnect
 
Vue d'ensemble et retour d'expérience déploiement SCCM 2012
Vue d'ensemble et retour d'expérience déploiement SCCM 2012Vue d'ensemble et retour d'expérience déploiement SCCM 2012
Vue d'ensemble et retour d'expérience déploiement SCCM 2012Microsoft Technet France
 
Introduction à DotNetNuke
Introduction à DotNetNukeIntroduction à DotNetNuke
Introduction à DotNetNukeMicrosoft
 
DotNetNuke aux TechDays 2012
DotNetNuke aux TechDays 2012DotNetNuke aux TechDays 2012
DotNetNuke aux TechDays 2012Cyril P
 

Similar a Dev ops@kelkoo (20)

Devops@Kelkoo - Agile Grenoble 2012
Devops@Kelkoo - Agile Grenoble 2012Devops@Kelkoo - Agile Grenoble 2012
Devops@Kelkoo - Agile Grenoble 2012
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUG
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif
 
20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...
 
Sonar-Hodson-Maven
Sonar-Hodson-MavenSonar-Hodson-Maven
Sonar-Hodson-Maven
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
 
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 ...
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
 
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
 
Scom et orchestrator main dans la main (ser214)
Scom et orchestrator main dans la main (ser214)Scom et orchestrator main dans la main (ser214)
Scom et orchestrator main dans la main (ser214)
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp Docker
 
my_resume(fre)
my_resume(fre)my_resume(fre)
my_resume(fre)
 
ToulouseJUG - REX Flex, Spring & Agilité
ToulouseJUG - REX Flex, Spring & AgilitéToulouseJUG - REX Flex, Spring & Agilité
ToulouseJUG - REX Flex, Spring & Agilité
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012
 
Vue d'ensemble et retour d'expérience déploiement SCCM 2012
Vue d'ensemble et retour d'expérience déploiement SCCM 2012Vue d'ensemble et retour d'expérience déploiement SCCM 2012
Vue d'ensemble et retour d'expérience déploiement SCCM 2012
 
Introduction à DotNetNuke
Introduction à DotNetNukeIntroduction à DotNetNuke
Introduction à DotNetNuke
 
DotNetNuke aux TechDays 2012
DotNetNuke aux TechDays 2012DotNetNuke aux TechDays 2012
DotNetNuke aux TechDays 2012
 

Dev ops@kelkoo

  • 1. DevOps@Kelkoo Alain Delafosse / Nicolas Capponi / Avril 2012
  • 2. Introduction 2 = + Présentation d’une intégration Zooms techniques d’outils dans le contexte Kelkoo Contrat de session @AlainDelafosse @ncapponi Vous ?
  • 3. Kelkoo « Shopping Engine » 3 80M appels APIs / mois 220 personnes en Europe Pic à 1600 req/S dont 90 informaticiens à Grenoble 5000 marchands 10M UU / mois 100M offres avec un turn-over quotidien de 15% 20 000 Produits 13 Pays 300 Catégories par pays 5000 revues
  • 4. DevOps 4 Le mouvement devops casse le mur entre les dev et les ops Agile Business Development DevOps Operations Methodologies Les 3 piliers du mouvement DEVOPS Faciliter la Industrialisation du communication processus de entre les équipes développement Industrialisation Infrastructure
  • 5. Contexte Kelkoo 5 400 serveurs 70+ DB 200 composants 10 serveurs 10+ DB 1 composant TGZ + fichiers clefs valeurs Solution YAHOO Solution maison
  • 6. Conception du projet 6 Idées Besoins Outillage du dév. au déploiement Multi -instanciation des composants BO de configuration Réutiliser outils Open Source Gén.de composants installables Automatisation Déploiements standardisés Commandes et interfaces simples Outils Open Source
  • 7. Notre solution: étapes 7 CLONER CONFIGURER DEVELOPPER PACKAGER CONFIGURER DEPLOYER Infrastructure / OS Applications
  • 8. Zoom 1: Puppet 8 COMMUNAUTE +++ + ++ OUTILLAGE EXTENSIONS ++ - ++ SIMPLICITE + - ++
  • 9. CLONER / CONFIGURER 9 CLONER CONFIGURER DEVELOPPER PACKAGER CONFIGURER DEPLOYER Drivers OS: kickstart Config Linux Réseau Partitions Config Repos SSH Repos YUM Users SNMP Réseau Users DNS SSH Gestion centralisée des configurations systèmes et modification par exécution de classes Puppet Provisionning: industrialiser l’installation et la configuration initiale des serveurs
  • 10. DEVELOPPER / PACKAGER 10 CLONER CONFIGURER DEVELOPPER PACKAGER CONFIGURER DEPLOYER Génération d’archetypes Génération de deux RPMs par composant Utilisation des dépendances RPMs Types de Composants - Processing COMPOSANT - Webapp - Schema DB DEPLOIEMENT - Plugin monitoring - Web services
  • 11. Zoom 2: Plugin Maven RPM 11 Scripts Répertoires Librairies Binaires POM.XML RPM COMPOSANT Valeurs par défaut Templates Manifest Puppet RPM DEPLOIEMENT
  • 12. CONFIGURER 12 TEMPLATES, VALEURS ET COMPOSANTS CLONER CONFIGURER DEVELOPPER PACKAGER CONFIGURER DEPLOYER + Associer des clefs et des valeurs mais aussi des composants et des serveurs ROLES Un rôle regroupe et abstrait un déploiement de composants et la configuration associée
  • 13. Zoom 3: Geppetto 13 Monitoring nagiosTomcatIsAlive-2.1.0 webapp cle1=val1 WS platform tomcat-6.2 Tomcat cle2=val2 categories-3.0.0 reviews-1.2.0 Base cpu-1.2.0 Categories cle3=val3 Reviews cle4=val4 Monitoring cle5=val5 cle1=valA Serveur 1 cle4=valB Serveur 2 Serveur 3 cle6=valC
  • 14. DEPLOYER 14 Outil en ligne de commande PUNCH réalisant l’assemblage des CLONER CONFIGURER DEVELOPPER PACKAGER CONFIGURER DEPLOYER RPM DEPLOIEMENT RPM COMPOSANT VALEURS DE CONFIG LIST Appliquer une configuration Lister les composants déployés APPLY RESTORE Déployer et configurer avec les données du BO GET Récupérer les valeurs de config
  • 15. Zoom 4: Punch 15 Récupération configuration du serveur searchFeeder-2.1.0 searchFeederInterval=100 Installation RPM déploiement searchCleaner-1.5.2 searchCleanerMode=3 Calcul des changements Puppet : désinstaller RPM composants Puppet : installer RPM composants
  • 16. Etapes 16 SVN DEV 2 4 5 3 MVN 1 3 JENKINS SERVER OPS 4 1 2 5 PUNCH GEPPETTO 1
  • 17. Déploiement chez Kelkoo Développe, déploie, teste dans les environnements SCRUM DEV QA,DEV parfois DEV DEV DEV DEV PRODTEAM TEAM TEAM TEAM TEAM Communauté PACK/CONF (gestion collective de l’outillage) Développe plugins de monitoring, déploie dans tous les environnements Déploient dans tous les environnements OPS TEAM Clone et configure INFRA TEAM tous les serveurs
  • 18. Résultat 18 Subject: [vécu] Mise en prod accélérée Date: Thu, 10 Nov 2011 09:24:34 +0100 From: Antoine ---- Pour info, nous avons décidé hier matin de renforcer notre capacité pour la génération des browseBox en ajoutant un serveur. A la fin de la journée: * Le serveur était dispo, cloné, DNS à jour, etc... * Les applications déployées & running * Le monitoring, alerting et dashboard en place Soit moins de 10 heures entre la décision d'ajouter du hardware et sa réalisation complète, cela sans bénéficier d'aucune escalade particulière. 20 18 Feature driven (Frontend) 16 14 Maintenance driven 12 10 8 6 4 2 0 Nombre de releases en production par semaine
  • 19. DevOps@Kelkoo 19 Faciliter la communication Industrialisation du entre les équipes processus de développement Industrialisation de l’infrastructure
  • 20. Vos Options 20 Construire sa solution Prendre une solution du marché Utilisation de paquets systèmes DeployIT (Xebia labs) Nolio (Nolio) Gérer des images de déploiement S’adapter à une solution PAAS Image OS (Usharesoft) Google App Engine
  • 21. Synthèse 21 ETAPES-> CLONAGE OS CONFIG. DEV. PACKAGING APP CONFIG. DEPLOIEMENT OS Kickstarts Classes Artefacts RPMs RPM de ARTEFACTS Classes Puppets DNS, RPMs Maven REPOS YUM Déploiement puppet DNS, LDAP, etc LDAP, etc Plugin Maven Cobbler Puppet Maven Puppet Puppet OUTILS maison Puppet Kermit Gepetto Punch YUM Jenkins INFRA INFRA DEV DEV DEV SA SA DEV SA ACTEURS SA SA DEV DEV SA OPS OPS OPS OPS SUPPORT COMMUNAUTE PACK/CONF
  • 23. Bonus 23 CHOIX • Utilisation des rôles sur une plateforme complexe • Approfondir évolution DevOps versus SCRUM chez Kelkoo
  • 25. Responsabilités Embedded SA Embedded Embedded Transversal SA Ops contact No integration OPS OPS + SA SCRUM SA part of the Ops part of the Both part of SA supporting Dedicated OPS SCRUM SCRUM SCRUM SCRUM contact Release SA OPS Various Various Ops contact OPS L1 / L2 /L3 L1 OPS L1/L2 OPS L1/L2 OPS+SA L1 OPS L1/L2 OPS L1 OPS/SCRUM support L2/L3 SA L3 SCRUM L3 SA+SCRUM L2/L3 SA/SCRUM L3 SCRUM L2/L3 SCRUM Changes SA OPS OPS / SA SA / OPS OPS OPS Monitoring SA Producing SA/SCRUM OPS/SA/SCRUM SA/SCRUM OPS plugins Producing Producing Producing plugins /SCRUM plugins plugins Problem mgt Capacity mgt
  • 26. Datanav 26