Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare une entreprise Scribd logo
Introduction au mouvement
              Devops




Ulrich VACHON - Omar KAINA, Finance Active 2011
Plan

 Définition
 Son Origine
 Les Buts
 Les Outils
 Devops chez FA




                  2
Plan

 Définition
 Son Origine
 Les Buts
 Les Outils
 Devops chez FA




                  3
Définition

 Devops est un terme inventé par le belge Patrick Debois, le co-
 organisateur du premier DevOpsDay à Gent en 2009

 Il est la contraction des mots Development et Operations




                                                                   4
Plan

 Définition
 Son Origine
 Les Buts
 Les Outils
 Devops chez FA




                  5
Son origine

 Provient de l'expérience des "grands" du web : Google, Amazon,
 Flickr, Yahoo, HP, 37 signals...

 Ces grandes entreprises qui se livrent une course à l'innovation ont
 du revoir leurs processus de production logiciel pour satisfaire les
 besoins business

 Car ne l'oublions pas, tant qu'un logiciel n'est pas en production, il
 n'apporte pas de valeur pour l'entreprise, même pour un éditeur...




                                                                          6
Plan

 Définition
 Son Origine
 Les Buts
 Les Outils
 Devops chez FA




                  7
Buts


       Rassembler
                                 Outiller

                   Business

         Qualité
                        Industrialisation



           Mouvement qui tend à ...
                                            8
Buts
       Rassembler les personnes
   Qui ne sont pas habitués à travailler ensemble
   Qui ont des visions/approches différentes du logiciel

mais...
   Qui pour être plus efficace doivent comprendre le métier
   de l'autre
   Le but n'est pas de rendre les gens interchangeables,
   mais les impliquer dans le même sens
   Finalement, nous sommes dans le même bateau !

                                                              9
Buts
            Améliorer la qualité
   Côté dev, les méthodes agiles ont amélioré la qualité
   logicielle et augmenté les rythmes de livraisons
   Dans la chaine, il reste néanmoins des étapes que l'on
   peut encore améliorer/optimiser : La Production

donc...
   On peut copier ces modèles pour l'exploitation :
      Utilisation d'un VCS pour les scripts
      Politique de tests sur les scripts
      Outils d'aides à la gestion de parcs machines...

                                                            10
Buts
  Outiller l'ensemble de la chaîne
   L'offre d'outils Devops commence à être importante, mais
   reste l'affaire de spécialistes
   Ils permettent en autre :
       D'assurer la cohérence d'une infrastructure
       De limiter les interventions manuelles
       D'avoir des vues complètes au travers d'interface
       riches
 mais...
   Permettent surtout d'être efficace face aux exigences
   business
                                                           11
Buts
                Industrialisation
   Industrialiser ses processus de livraison invite les
   équipes à dialoguer entres elles
   Formaliser chaque étape de livraison et expose une
   cartographie précise du cycle logiciel

   Réduire les coûts liés aux processus de livraison qui
   peuvent sembler parfois artisanaux




                                                           12
Buts
             Faire du Business
  Satisfaire les besoins business de l'entreprise en étant
  capable de livrer des fonctionnalités le plus rapidement et
  sereinement possible

  Engendrer un cercle vertueux, en prouvant à l'entreprise
  qu'investir dans Devops, c'est investir dans de
  l'informatique "utile"




                                                                13
Plan

 Définition
 Son Origine
 Les Buts
 Les Outils
 Devops chez FA




                  14
Les outils

    Puppet est un produit tout à fait impressionant et utile, car
    il permet de décrire l’état de configuration d’un ensemble
    hétérogène de stations de travail ou serveurs et de s’
    assurer que l’état réel des machines correspond bien à l’
    état demandé




                                                                    15
Les outils

  Un exemple de déploiement continu avec : Puppi
     Il s'agit d'un module Puppet permettant d'automatiser
     le déploiement d'application Web JavaEE...
     Comme tout dans Puppet la configuration se code en
     Ruby. Ce script suivant permet de déployer
     automatiquement une application

     puppi::project::war { "fxent-ng":
         source_url => "http://nexus/fa/fxent/fxent-ng.war",
         user          => "prod_user",
         deploy_root => "/srv/tomcat/fa/fxent/webapps",
         report_email => "ops@financeactive.com",
         enable       => "true"
     }

                                                               16
Les outils

   Au même titre que Puppet, Chef maintient un état stable
   de l'infrastructure d'entreprise
       Système
       Application




                                                             17
Les outils

   Toujours dans la lignée de Puppet et Chef, Cfengine va
   assurer le conformité de l'état de son infrastructure mais
   est plus orienté sécurité
   Il supporte en outre plus d'OS que ses concurrents




                                                                18
Les outils


        Quelques exemples de configuration
      Les outils utilisent généralement une syntaxe particulière pour les fichiers de
      configuration. Là où Cfengine a redéfini un format de fichier spécifique, Puppet
      et Chef héritent du langage dans lequel ils ont été écrits (Ruby) pour utiliser
      une syntaxe déjà existante.



             Chef                            Cfengine                              Puppet

file "/tmp/something" do       files: "/tmp/patapouf"             file { "/etc/plop":
   owner "root"                   create => "true",                  owner => root,
   group "root"                   perms => m_u_g("644", "root",      group => root,
   mode "644"                  "root");                              mode => 644
   action :create                                                 }
 end                           body perms m_u_g(m,u,g) {
                                 mode => "$(m)";
                                 owners => { "$(u)" };
                                 groups => { "$(g)" };
                               }


                                                                                            19
Les outils


   Les points forts de ces outils
      Installation de paquets système
      Gestion de fichiers/lien symbolique à partir d'un repository
      Gestion de tâches planifiées
      Gestion/monitoring fin des droits/permissions sur les fichiers
      Gestion des points de montages d’un FS local ou réseau
      Possibilté de lancer des commandes de types :
          Restart de la machine
          Restart d'un service
          Paramètrage et gestion d’une DB
          Gestion des réplications
          ...




                                                                       20
Les outils


         Ce qu'il faut retenir sur ces outils

   C'est qu'ils sont adaptés à la gestion de l'infrastructure
   matérielle
   Mais qu'ils sont peu ou pas adapté au déploiement
   automatisé




                                                                21
Les outils
                       Conclusion
  Les outils représentent une bonne interface entre les
  dev et les ops
  En pratique, les ops sont ceux qui mettent en place les
  outils et veillent à leur bon fonctionnement
  Les dev auront plutôt un rôle d'utilisateur
  Parfois les "fonctionnels" peuvent aussi avoir un intérêt
  à monitorer une application qui possèderait une sonde
  "métier"



                                                              22
Plan

 Définition
 Son Origine
 Les Buts
 Les Outils
 Devops chez FA




                  23
Devops chez FA

            Dans un premier temps...

  Devops sera donc un support de travail entre les
  équipes de dev, ops et testeurs
  Devops permettra de fluidifier la MEP

  Devops incitera à avoir un parc de machines cohérents
  et conforments au référentiel
  Devops améliorera la qualité logiciel en proposant aux
  équipes de dev, un environnement de travail identique
  aux environnement de la prod


                                                           24
?
    25
merci
 :)

Contenu connexe

Devops Introduction au mouvement

  • 1. Introduction au mouvement Devops Ulrich VACHON - Omar KAINA, Finance Active 2011
  • 2. Plan Définition Son Origine Les Buts Les Outils Devops chez FA 2
  • 3. Plan Définition Son Origine Les Buts Les Outils Devops chez FA 3
  • 4. Définition Devops est un terme inventé par le belge Patrick Debois, le co- organisateur du premier DevOpsDay à Gent en 2009 Il est la contraction des mots Development et Operations 4
  • 5. Plan Définition Son Origine Les Buts Les Outils Devops chez FA 5
  • 6. Son origine Provient de l'expérience des "grands" du web : Google, Amazon, Flickr, Yahoo, HP, 37 signals... Ces grandes entreprises qui se livrent une course à l'innovation ont du revoir leurs processus de production logiciel pour satisfaire les besoins business Car ne l'oublions pas, tant qu'un logiciel n'est pas en production, il n'apporte pas de valeur pour l'entreprise, même pour un éditeur... 6
  • 7. Plan Définition Son Origine Les Buts Les Outils Devops chez FA 7
  • 8. Buts Rassembler Outiller Business Qualité Industrialisation Mouvement qui tend à ... 8
  • 9. Buts Rassembler les personnes Qui ne sont pas habitués à travailler ensemble Qui ont des visions/approches différentes du logiciel mais... Qui pour être plus efficace doivent comprendre le métier de l'autre Le but n'est pas de rendre les gens interchangeables, mais les impliquer dans le même sens Finalement, nous sommes dans le même bateau ! 9
  • 10. Buts Améliorer la qualité Côté dev, les méthodes agiles ont amélioré la qualité logicielle et augmenté les rythmes de livraisons Dans la chaine, il reste néanmoins des étapes que l'on peut encore améliorer/optimiser : La Production donc... On peut copier ces modèles pour l'exploitation : Utilisation d'un VCS pour les scripts Politique de tests sur les scripts Outils d'aides à la gestion de parcs machines... 10
  • 11. Buts Outiller l'ensemble de la chaîne L'offre d'outils Devops commence à être importante, mais reste l'affaire de spécialistes Ils permettent en autre : D'assurer la cohérence d'une infrastructure De limiter les interventions manuelles D'avoir des vues complètes au travers d'interface riches mais... Permettent surtout d'être efficace face aux exigences business 11
  • 12. Buts Industrialisation Industrialiser ses processus de livraison invite les équipes à dialoguer entres elles Formaliser chaque étape de livraison et expose une cartographie précise du cycle logiciel Réduire les coûts liés aux processus de livraison qui peuvent sembler parfois artisanaux 12
  • 13. Buts Faire du Business Satisfaire les besoins business de l'entreprise en étant capable de livrer des fonctionnalités le plus rapidement et sereinement possible Engendrer un cercle vertueux, en prouvant à l'entreprise qu'investir dans Devops, c'est investir dans de l'informatique "utile" 13
  • 14. Plan Définition Son Origine Les Buts Les Outils Devops chez FA 14
  • 15. Les outils Puppet est un produit tout à fait impressionant et utile, car il permet de décrire l’état de configuration d’un ensemble hétérogène de stations de travail ou serveurs et de s’ assurer que l’état réel des machines correspond bien à l’ état demandé 15
  • 16. Les outils Un exemple de déploiement continu avec : Puppi Il s'agit d'un module Puppet permettant d'automatiser le déploiement d'application Web JavaEE... Comme tout dans Puppet la configuration se code en Ruby. Ce script suivant permet de déployer automatiquement une application puppi::project::war { "fxent-ng": source_url => "http://nexus/fa/fxent/fxent-ng.war", user => "prod_user", deploy_root => "/srv/tomcat/fa/fxent/webapps", report_email => "ops@financeactive.com", enable => "true" } 16
  • 17. Les outils Au même titre que Puppet, Chef maintient un état stable de l'infrastructure d'entreprise Système Application 17
  • 18. Les outils Toujours dans la lignée de Puppet et Chef, Cfengine va assurer le conformité de l'état de son infrastructure mais est plus orienté sécurité Il supporte en outre plus d'OS que ses concurrents 18
  • 19. Les outils Quelques exemples de configuration Les outils utilisent généralement une syntaxe particulière pour les fichiers de configuration. Là où Cfengine a redéfini un format de fichier spécifique, Puppet et Chef héritent du langage dans lequel ils ont été écrits (Ruby) pour utiliser une syntaxe déjà existante. Chef Cfengine Puppet file "/tmp/something" do files: "/tmp/patapouf" file { "/etc/plop": owner "root" create => "true", owner => root, group "root" perms => m_u_g("644", "root", group => root, mode "644" "root"); mode => 644 action :create } end body perms m_u_g(m,u,g) { mode => "$(m)"; owners => { "$(u)" }; groups => { "$(g)" }; } 19
  • 20. Les outils Les points forts de ces outils Installation de paquets système Gestion de fichiers/lien symbolique à partir d'un repository Gestion de tâches planifiées Gestion/monitoring fin des droits/permissions sur les fichiers Gestion des points de montages d’un FS local ou réseau Possibilté de lancer des commandes de types : Restart de la machine Restart d'un service Paramètrage et gestion d’une DB Gestion des réplications ... 20
  • 21. Les outils Ce qu'il faut retenir sur ces outils C'est qu'ils sont adaptés à la gestion de l'infrastructure matérielle Mais qu'ils sont peu ou pas adapté au déploiement automatisé 21
  • 22. Les outils Conclusion Les outils représentent une bonne interface entre les dev et les ops En pratique, les ops sont ceux qui mettent en place les outils et veillent à leur bon fonctionnement Les dev auront plutôt un rôle d'utilisateur Parfois les "fonctionnels" peuvent aussi avoir un intérêt à monitorer une application qui possèderait une sonde "métier" 22
  • 23. Plan Définition Son Origine Les Buts Les Outils Devops chez FA 23
  • 24. Devops chez FA Dans un premier temps... Devops sera donc un support de travail entre les équipes de dev, ops et testeurs Devops permettra de fluidifier la MEP Devops incitera à avoir un parc de machines cohérents et conforments au référentiel Devops améliorera la qualité logiciel en proposant aux équipes de dev, un environnement de travail identique aux environnement de la prod 24
  • 25. ? 25