SlideShare une entreprise Scribd logo
1  sur  35
Continuous deployment
Rackspace, Chef et Capistrano
          en action
      By Bertrand Paquet - bpaquet@octo.com




                                              1
Système


Applicatif

Infrastructure



                 Monitoring supervision
Ops




      Dev
PaaS
Plateforme as a Service
« You build it, you run it »

DevOps
Pas si simple
Vite …
Automatique




              Supervisé
Une multitude d’outils !
Cas pratique




               13
www.toto.com
Optimise les pages HTML
       à la volée
Concaténation, minification …
                                               14
•   Déploiement automatisé

•   Déploiement complet (applicatif, système, infra, monitoring)

•   Déploiement multi cloud

•   Déploiement rapide



                                                                   16
Outils

•   Chef

•   Capistrano

•   Fog

•   Jenkins

•   …


                          17
Serveur vide




Mysql
                   Chef
 Apache2
    PHP 5
      Clés SSH             Serveur
                          configuré


Recettes chefs
                                      18
Capistrano
             #1 : Parallèle SSH

Mon Mac
                   SSH
                                  Nœud 11
                                  Nœud 1 X
Capistrano                          Nœud
                                   Nœud 1
                                   Nœud
                               /etc/init.d/apache2 restart



             $ cap apache2:restart
                                                             19
Capistrano
        #2 : Déploiement applicatif

Mon Mac
             SSH
                         Nœud 11
                         Nœud 1       Repository
Capistrano                Nœud 1
                          Nœud X
                           Nœud       Application
                                       (github)


                   $ cap deploy
                                                    20
Capistrano
       #3 : Scripting externe

Mon Mac
                HTTPS       Amazon
Capistrano                   Web
                            Services




             $ cap node:create
                                       21
Démonstration

•   Voir le contenu d’un environnement

•   Passer chef sur la plateforme

•   Déployer le code applicatif

•   Créer un nœud

•   Activer le nœud


                                         22
Voir le contenu d’un environnement
$ cap integration show
  Mon Mac                             Rackspace (> 10 nœuds)

                      SSH
 Capistrano                           Nœud 11
                                      Nœud 1 X
                                        Nœud
                                       Nœud 1
                                       Nœud
              • Etat monitoring           Monit
              • Version chef
              • Version applicative
  Topologie
                                                               23
Passer chef sur la plateforme
$ cap integration chef
  Mon Mac                 Rackspace (> 10 nœuds)

                                                   Recettes Chef
 Capistrano                 Nœud 11
                            Nœud 1 X
                              Nœud
                             Nœud 1
                             Nœud                     (github)
                                  Chef




              Topologie
                                                                   24
Deployer du code applicatif
$ cap Web-integration apps:deploy:web
 Mon Mac                          Rackspace
               SSH                            Application
 Capistrano                 Nœud web01           Rails
                                               (github)




                Topologie
                                                            25
Créer un noeud
$ cap front01-integration manager:new
 Mon Mac       1                                Rackspace

 Capistrano                    Nouveau Nœud : Front 03
                                                            Recettes Chef
               3                         Chef
                                                               (github)
       2
  Lecture
 et écriture       Topologie
Architecture fronts

            Load balancer Rackspace



Front 01             Front 02             Front 03




           Cache01              Cache02
                                                     27
Activer un noeud
$ cap front03-integration manager:enable
   Mon Mac                                  Rackspace
                    3

  Capistrano                Load balancer

                1
                              Front 03
      2                         Monit
 Lecture
et écriture    Topologie
                                                        28
So what ?




            29
Déploiement d’un
environnementnuit
  Tests de non reg + perf la complet

chaque nuit
Peu / plus d’interventions manuelles
Evolution architecture plus facile




Elasticité plus facile
Coût ~ 40 j/h




                Investissement rentable !
Ca marche, foncez !
www.flickr.com/photos/     www.flickr.com/photos/mspdu                                     www.flickr.com/photo                      www.flickr.com/photos/stevendepo
                                                               www.flickr.com/photos/acej                           www.flickr.com/
   gtarded/3455883815               de/5618466406                                            s/36529411@N00/39                                  lo/3517227492
                                                                 ewelers/5166344597                                 photos/lemoncat
                                                                                                   7643867           1/6830074506




                                                                                                                           www.flickr.com/pho
www.flickr.com/photos/njb6   www.flickr.com/phot     www.flickr.com/pho     www.flickr.com/photos/   www.flickr.com/pho                         www.flickr.com/photo
                                                                                                                           tos/51282757@N05
     70/5823110665           os/planetlight/236903   tos/chazferret/20754    detune/215354077        tos/jerryjohn/63351                        s/77166646@N02/693
                                                                                                                               /6927237449
                                     0398                   42918                                             338                                     4778572




                             www.flickr.com/photos/j                                   www.flickr.com/photos/              @_bpaquet
 www.flickr.com/photos/                                    www.flickr.com/photos/t                                                              www.flickr.com/photos
                             etstarairways/67679060                                    44296911@N03/424483
 28688905@N06/272711                                       yler_photography/22623                                                                 /fazen/171847361
                                       77                                                       1090
          6365                                                      63006

Contenu connexe

Similaire à Devoxx FR 2012 : Capistrano, Chef and Rackspace in action

Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantALTIC Altic
 
Methodologie et outils d optimisation php mysql
Methodologie et outils d optimisation php mysqlMethodologie et outils d optimisation php mysql
Methodologie et outils d optimisation php mysqlCodizy
 
2013 01-08-php-maturite
2013 01-08-php-maturite2013 01-08-php-maturite
2013 01-08-php-maturiteRémi Alvado
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012FastConnect
 
Docker Geneva Meetup - Swarm
Docker Geneva Meetup - SwarmDocker Geneva Meetup - Swarm
Docker Geneva Meetup - SwarmSmartWave
 
Realtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et MesosRealtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et Mesosebiznext
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Alexandre Touret
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Ippon
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Alexandre Touret
 
Avantages de TYPO3 dans un environnement LAMP
Avantages de TYPO3 dans un environnement LAMPAvantages de TYPO3 dans un environnement LAMP
Avantages de TYPO3 dans un environnement LAMPYannick Pavard
 
XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...
XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...
XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...Publicis Sapient Engineering
 
Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009Olivier Grisel
 
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8sKubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8sArnaud MAZIN
 
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...Publicis Sapient Engineering
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924Gregory Boissinot
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versiongoldoraf
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 

Similaire à Devoxx FR 2012 : Capistrano, Chef and Rackspace in action (20)

Paris RailsCamp 2009
Paris RailsCamp 2009Paris RailsCamp 2009
Paris RailsCamp 2009
 
Apache kafka big data track
Apache kafka   big data trackApache kafka   big data track
Apache kafka big data track
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
Methodologie et outils d optimisation php mysql
Methodologie et outils d optimisation php mysqlMethodologie et outils d optimisation php mysql
Methodologie et outils d optimisation php mysql
 
2013 01-08-php-maturite
2013 01-08-php-maturite2013 01-08-php-maturite
2013 01-08-php-maturite
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012
 
Docker Geneva Meetup - Swarm
Docker Geneva Meetup - SwarmDocker Geneva Meetup - Swarm
Docker Geneva Meetup - Swarm
 
Realtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et MesosRealtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et Mesos
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
 
Avantages de TYPO3 dans un environnement LAMP
Avantages de TYPO3 dans un environnement LAMPAvantages de TYPO3 dans un environnement LAMP
Avantages de TYPO3 dans un environnement LAMP
 
XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...
XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...
XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...
 
Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009Hadoop MapReduce - OSDC FR 2009
Hadoop MapReduce - OSDC FR 2009
 
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8sKubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
 
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de version
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
 

Devoxx FR 2012 : Capistrano, Chef and Rackspace in action

  • 1. Continuous deployment Rackspace, Chef et Capistrano en action By Bertrand Paquet - bpaquet@octo.com 1
  • 2.
  • 3. Système Applicatif Infrastructure Monitoring supervision
  • 4. Ops Dev
  • 6. « You build it, you run it » DevOps
  • 8.
  • 9.
  • 11. Automatique Supervisé
  • 14. www.toto.com Optimise les pages HTML à la volée Concaténation, minification … 14
  • 15.
  • 16. Déploiement automatisé • Déploiement complet (applicatif, système, infra, monitoring) • Déploiement multi cloud • Déploiement rapide 16
  • 17. Outils • Chef • Capistrano • Fog • Jenkins • … 17
  • 18. Serveur vide Mysql Chef Apache2 PHP 5 Clés SSH Serveur configuré Recettes chefs 18
  • 19. Capistrano #1 : Parallèle SSH Mon Mac SSH Nœud 11 Nœud 1 X Capistrano Nœud Nœud 1 Nœud /etc/init.d/apache2 restart $ cap apache2:restart 19
  • 20. Capistrano #2 : Déploiement applicatif Mon Mac SSH Nœud 11 Nœud 1 Repository Capistrano Nœud 1 Nœud X Nœud Application (github) $ cap deploy 20
  • 21. Capistrano #3 : Scripting externe Mon Mac HTTPS Amazon Capistrano Web Services $ cap node:create 21
  • 22. Démonstration • Voir le contenu d’un environnement • Passer chef sur la plateforme • Déployer le code applicatif • Créer un nœud • Activer le nœud 22
  • 23. Voir le contenu d’un environnement $ cap integration show Mon Mac Rackspace (> 10 nœuds) SSH Capistrano Nœud 11 Nœud 1 X Nœud Nœud 1 Nœud • Etat monitoring Monit • Version chef • Version applicative Topologie 23
  • 24. Passer chef sur la plateforme $ cap integration chef Mon Mac Rackspace (> 10 nœuds) Recettes Chef Capistrano Nœud 11 Nœud 1 X Nœud Nœud 1 Nœud (github) Chef Topologie 24
  • 25. Deployer du code applicatif $ cap Web-integration apps:deploy:web Mon Mac Rackspace SSH Application Capistrano Nœud web01 Rails (github) Topologie 25
  • 26. Créer un noeud $ cap front01-integration manager:new Mon Mac 1 Rackspace Capistrano Nouveau Nœud : Front 03 Recettes Chef 3 Chef (github) 2 Lecture et écriture Topologie
  • 27. Architecture fronts Load balancer Rackspace Front 01 Front 02 Front 03 Cache01 Cache02 27
  • 28. Activer un noeud $ cap front03-integration manager:enable Mon Mac Rackspace 3 Capistrano Load balancer 1 Front 03 2 Monit Lecture et écriture Topologie 28
  • 29. So what ? 29
  • 30. Déploiement d’un environnementnuit Tests de non reg + perf la complet chaque nuit
  • 31. Peu / plus d’interventions manuelles
  • 32. Evolution architecture plus facile Elasticité plus facile
  • 33. Coût ~ 40 j/h Investissement rentable !
  • 35. www.flickr.com/photos/ www.flickr.com/photos/mspdu www.flickr.com/photo www.flickr.com/photos/stevendepo www.flickr.com/photos/acej www.flickr.com/ gtarded/3455883815 de/5618466406 s/36529411@N00/39 lo/3517227492 ewelers/5166344597 photos/lemoncat 7643867 1/6830074506 www.flickr.com/pho www.flickr.com/photos/njb6 www.flickr.com/phot www.flickr.com/pho www.flickr.com/photos/ www.flickr.com/pho www.flickr.com/photo tos/51282757@N05 70/5823110665 os/planetlight/236903 tos/chazferret/20754 detune/215354077 tos/jerryjohn/63351 s/77166646@N02/693 /6927237449 0398 42918 338 4778572 www.flickr.com/photos/j www.flickr.com/photos/ @_bpaquet www.flickr.com/photos/ www.flickr.com/photos/t www.flickr.com/photos etstarairways/67679060 44296911@N03/424483 28688905@N06/272711 yler_photography/22623 /fazen/171847361 77 1090 6365 63006