RETOUR D'EXPÉRIENCE Sébastien Lucas Oxalide – sebastien.lucas@oxalide.com 17/05/2008
Oxalide en quelques mots Bla bla bla bla bla  Oxalide Bla bla  conseil & design d’architecture Bla bla bla bla  infogérance & hébergement  bla bla  Ruby Bla bla bla  infra et intervenants de qualité Bla bla bla  on répond au téléphone  bla bla bla Etc. Oxalide © 2008 - Facilities management and custom built hosting
Notre métier Garantir la disponibilité Les ruptures de services sont souvent dûes aux tâches de maintenance et mises à jour Minimiser les risques lors du déploiement en  diminuant les interventions humaines Minimiser le travail à faire Les tâches répetitives de déploiements sont :  À l'origine d'erreurs humaines Des tâches à faible valeur ajoutée Un stress important sur un admin mobilisé Un admin est parresseux… il ne faut pas l’oublier Oxalide © 2008 - Facilities management and custom built hosting
Pourquoi un déploiement automatisé ? Eduquer le client Barrière prod/preprod :  La production n'est pas un jouet! Utilisation obligatoire du versioning et bonne pratique du développement Déploiement par étapes Jalonner le développement – forcer la release Qualifier (déploiement et appli) en envirronement de pré-production Déployer automatiquement sur la prod Déploiement facile sur des architectures multicouches Serveurs frontaux, middles, backoffice, satellites =  TROP DE CHOSES A FAIRE Oxalide © 2008 - Facilities management and custom built hosting
Présentation de Capistrano Capistrano est un outil pour l'automatisation de tâches locales ou sur des serveurs distants. Il repose sur la technologie Ruby. Il facilite l'installation et le déploiement d'application et la gestion de la configuration. Grâce au choix de son socle technique Ruby, il est facile à modifier et éventuellement étendre. Oxalide © 2008 - Facilities management and custom built hosting
Pourquoi Capistrano ? "Great for automatic tasks" Notre objectif   "Easy to customize" Indispensable pour s'adapter au besoin du client ou du projet "Easy to extend" Extension possible en fonction des demandes Langage agnostique Adaptation aux diverses technologies web Oxalide © 2008 - Facilities management and custom built hosting
Un déploiement standard 10 pages de procédure de déploiement Minimum 5 SSH 5 exports SVN manuels 11 modifications de fichiers de conf 13 fichiers à faire attention de ne pas effacer 7 cafés et une bonne dose de stress 5 archives temporaires qui trainent et polluent Oxalide © 2008 - Facilities management and custom built hosting …  sur une architecture moyenne. Durée : 1 jour (avec les patchs des devs) Ressources : dev + admin Rollback Délicat
Un déploiement capifié 2 jours pour écrire la conf, tester et qualifier 1 commande Rollback en 10 secondes Garbage collecting sur les archives Oxalide © 2008 - Facilities management and custom built hosting …  sur une architecture moyenne. Durée : 5 minutes Ressources : admin …  pourquoi ne pas l’avoir fait plus tôt?
Capistrano : points forts Installation très simple Profondeur de customisation variable en fonction du besoin : Rails basique : 3 variables à modifier Rails "habituel" : quelques tâches à définir (les before et after) Site plus complexe : surcharge des tâches prédéfinies "Trucs bizarres" (PHP) : réécriture massive de la configuration "que du bonheur" à utiliser Travail haut niveau : abstraction totale de la distribution/concurrence et du nombre de cibles Oxalide © 2008 - Facilities management and custom built hosting
Capistrano : points faibles Contraintes architecturales : Accès SSH obligatoire pour les développeurs pour déployer Accès SSH vers les serveurs cibles ouverts et automatiques Les serveurs doivent pouvoir accèder au serveur SVN Le client SVN doit être installé sur les cibles Langage Ruby chez les admins…la première impression est mitigée (Ca change du Shell ou du Perl) Il faut du temps pour s'adapter au langage Documentation Ruby et Capistrano un peu éparpillée (point de départ : http://www.capify.org/) Oxalide © 2008 - Facilities management and custom built hosting
Questions et discussion Oxalide © 2008 - Facilities management and custom built hosting Sébastien Lucas [email_address]

Retour d'expérience sur Capistrano

  • 1.
    RETOUR D'EXPÉRIENCE SébastienLucas Oxalide – sebastien.lucas@oxalide.com 17/05/2008
  • 2.
    Oxalide en quelquesmots Bla bla bla bla bla Oxalide Bla bla conseil & design d’architecture Bla bla bla bla infogérance & hébergement bla bla Ruby Bla bla bla infra et intervenants de qualité Bla bla bla on répond au téléphone bla bla bla Etc. Oxalide © 2008 - Facilities management and custom built hosting
  • 3.
    Notre métier Garantirla disponibilité Les ruptures de services sont souvent dûes aux tâches de maintenance et mises à jour Minimiser les risques lors du déploiement en diminuant les interventions humaines Minimiser le travail à faire Les tâches répetitives de déploiements sont : À l'origine d'erreurs humaines Des tâches à faible valeur ajoutée Un stress important sur un admin mobilisé Un admin est parresseux… il ne faut pas l’oublier Oxalide © 2008 - Facilities management and custom built hosting
  • 4.
    Pourquoi un déploiementautomatisé ? Eduquer le client Barrière prod/preprod : La production n'est pas un jouet! Utilisation obligatoire du versioning et bonne pratique du développement Déploiement par étapes Jalonner le développement – forcer la release Qualifier (déploiement et appli) en envirronement de pré-production Déployer automatiquement sur la prod Déploiement facile sur des architectures multicouches Serveurs frontaux, middles, backoffice, satellites = TROP DE CHOSES A FAIRE Oxalide © 2008 - Facilities management and custom built hosting
  • 5.
    Présentation de CapistranoCapistrano est un outil pour l'automatisation de tâches locales ou sur des serveurs distants. Il repose sur la technologie Ruby. Il facilite l'installation et le déploiement d'application et la gestion de la configuration. Grâce au choix de son socle technique Ruby, il est facile à modifier et éventuellement étendre. Oxalide © 2008 - Facilities management and custom built hosting
  • 6.
    Pourquoi Capistrano ?"Great for automatic tasks" Notre objectif  "Easy to customize" Indispensable pour s'adapter au besoin du client ou du projet "Easy to extend" Extension possible en fonction des demandes Langage agnostique Adaptation aux diverses technologies web Oxalide © 2008 - Facilities management and custom built hosting
  • 7.
    Un déploiement standard10 pages de procédure de déploiement Minimum 5 SSH 5 exports SVN manuels 11 modifications de fichiers de conf 13 fichiers à faire attention de ne pas effacer 7 cafés et une bonne dose de stress 5 archives temporaires qui trainent et polluent Oxalide © 2008 - Facilities management and custom built hosting … sur une architecture moyenne. Durée : 1 jour (avec les patchs des devs) Ressources : dev + admin Rollback Délicat
  • 8.
    Un déploiement capifié2 jours pour écrire la conf, tester et qualifier 1 commande Rollback en 10 secondes Garbage collecting sur les archives Oxalide © 2008 - Facilities management and custom built hosting … sur une architecture moyenne. Durée : 5 minutes Ressources : admin … pourquoi ne pas l’avoir fait plus tôt?
  • 9.
    Capistrano : pointsforts Installation très simple Profondeur de customisation variable en fonction du besoin : Rails basique : 3 variables à modifier Rails "habituel" : quelques tâches à définir (les before et after) Site plus complexe : surcharge des tâches prédéfinies "Trucs bizarres" (PHP) : réécriture massive de la configuration "que du bonheur" à utiliser Travail haut niveau : abstraction totale de la distribution/concurrence et du nombre de cibles Oxalide © 2008 - Facilities management and custom built hosting
  • 10.
    Capistrano : pointsfaibles Contraintes architecturales : Accès SSH obligatoire pour les développeurs pour déployer Accès SSH vers les serveurs cibles ouverts et automatiques Les serveurs doivent pouvoir accèder au serveur SVN Le client SVN doit être installé sur les cibles Langage Ruby chez les admins…la première impression est mitigée (Ca change du Shell ou du Perl) Il faut du temps pour s'adapter au langage Documentation Ruby et Capistrano un peu éparpillée (point de départ : http://www.capify.org/) Oxalide © 2008 - Facilities management and custom built hosting
  • 11.
    Questions et discussionOxalide © 2008 - Facilities management and custom built hosting Sébastien Lucas [email_address]