DEV	
  et	
  Admin.	
  Sys	
  	
  
une	
  cohabitation	
  simplifiée	
  
             PHP	
  Tour	
  Lille	
  #2011	
  
Enchanté	
  


*  Sébastien	
  Lucas	
  –	
  Directeur	
  associé	
  d’Oxalide	
  
   @PoMM3	
  
*  Nicolas	
  Silberman	
  –	
  Directeur	
  technique	
  Mediapart	
  
   @nsilberman	
  
*  Quelques	
  années	
  de	
  collaboration,	
  
*  De	
  nombreux	
  cas	
  urgents	
  et	
  difficiles	
  à	
  gérer,	
  
*  De	
  nombreux	
  chantiers	
  mis	
  en	
  œuvre.	
  
FIGHT	
  !	
  
DEV	
  VS	
  Admin.	
  Sys.	
  –	
  ROUND	
  1	
  
Dev	
  de	
  base	
  


*  Je	
  veux	
  être	
  autonome	
  (j’ai	
  déjà	
  administré	
  un	
  
   serveur	
  chez	
  OVH)	
  :	
  je	
  dois	
  livrer	
  vite….	
  Tu	
  peux	
  te	
  
   dépêcher	
  ?	
  
*  Je	
  sais	
  ce	
  que	
  je	
  fais,	
  et	
  de	
  toutes	
  façon	
  toi	
  l’admin.	
  
   Sys.	
  tu	
  comprends	
  rien	
  aux	
  dev	
  
*  Le	
  site	
  est	
  trop	
  lent,	
  tu	
  peux	
  pas	
  supprimer	
  les	
  limites	
  
   dans	
  le	
  php.ini	
  ?	
  (et	
  rajouter	
  de	
  la	
  RAM)	
  
*  Je	
  veux	
  rester	
  root	
  (au	
  cas	
  où)	
  
Dev	
  de	
  base	
  


Le	
  site	
  rame	
  c’est	
  (presque)	
  
      toujours	
  «	
  la	
  faute	
  de	
  
          l’hébergeur	
  »…	
  
Admin	
  Sys.	
  De	
  base	
  


On	
  lui	
  demande	
  :	
  
-­‐  d’installer	
  un	
  truc,	
  
-­‐  de	
  surveiller	
  un	
  machin,	
  
-­‐  de	
  ne	
  pas	
  dormir	
  (surtout	
  si	
  mon	
  code	
  plante),	
  
-­‐  et	
  d’envoyer	
  le	
  mot	
  de	
  passe	
  root	
  (parce	
  qu’il	
  met	
  
     trop	
  de	
  temps	
  !!)	
  
-­‐  Il	
  pense	
  que	
  le	
  développeur	
  fait	
  n’importe	
  quoi	
  !	
  
Admin.	
  Sys.	
  –	
  nos	
  objectifs	
  ?	
  


On	
  nous	
  demande	
  99,9999	
  %	
  de	
  
  disponibilité	
  mais	
  leurs	
  applis	
  
       plantent	
  en	
  permanence	
  !	
  
Il	
  faut	
  livrer	
  la	
  plate-­‐forme	
  pour	
  
   avant-­‐hier	
  mais	
  elle	
  n’est	
  pas	
  
          utilisée	
  avant	
  2	
  mois	
  
Admin.	
  Sys.	
  


                  Le	
  métier	
  a	
  évolué	
  :	
  
                                 	
  
                 Gérer	
  des	
  mainframes	
  	
  
        !==	
  Gérer	
  un	
  environnement	
  Web	
  	
  
!==	
  Gérer	
  une	
  plate-­‐forme	
  web	
  à	
  fort	
  trafic	
  
avec	
  des	
  développeurs	
  qui	
  cassent,	
  défont	
  
       et	
  refont	
  tout	
  toutes	
  les	
  semaines	
  !	
  
Câlin	
  !!!	
  	
  


DEVOPs	
  
DevOps	
  


«	
  "DevOps"	
  is	
  an	
  emerging	
  set	
  of	
  principles,	
  methods	
  
and	
  practices	
  for	
  communication,	
  collaboration	
  and	
  
integration	
  between	
  software	
  development	
  
(application/software	
  engineering)	
  and	
  IT	
  operations	
  
(systems	
  administration/infrastructure)	
  professionals.	
  »	
  
	
  
C’est	
  une	
  culture	
  et	
  un	
  mouvement	
  professionnel	
  
Notice	
  


Les	
  effets	
  du	
  médicament	
  
*  Améliore	
  le	
  plaisir	
  et	
  la	
  joie	
  de	
  vos	
  équipes	
  à	
  travailler	
  sur	
  le	
  
   projet,	
  
*  Améliore	
  l’impact	
  de	
  votre	
  applicatif/service	
  sur	
  les	
  
   ressources	
  consommée	
  (dette	
  technique),	
  
*  Améliore	
  la	
  productivité	
  et	
  la	
  créativité	
  des	
  équipes	
  
*  Améliore	
  la	
  qualité	
  et	
  la	
  disponibilité	
  de	
  votre	
  service/
   applicatif	
  
*  Ce	
  produit	
  vous	
  promet	
  :	
  plus	
  de	
  ventes,	
  plus	
  de	
  visites	
  et	
  
   une	
  facture	
  d’hébergement	
  moins	
  chère.	
  
Buzz? 	
  	
  


*  Ce	
  n’est	
  pas	
  
   *    Cloud	
  computing	
  
   *    Datacenter	
  automation	
  
   *    Webperformance	
  
   *    Méthodes	
  agiles	
  
   *    Intégration	
  continue	
  
Buzz? 	
  	
  


                    	
  
Mais	
  c’est	
  pas	
  un	
  peu	
  tout	
  ça	
  	
  
          quand	
  même	
  !	
  
Qui	
  fait	
  du	
  DevOps	
  ?	
  	
  


*  Facebook	
  !	
  
*  Google	
  !	
  
*  Twitter	
  !!	
  
*  Mediapart	
  et	
  Oxalide	
  !!!	
  
Je	
  veux	
  être	
  DevOps	
  


*  Il	
  n’y	
  a	
  pas	
  de	
  «	
  How	
  to	
  »…	
  
*  Ce	
  n’est	
  pas	
  une	
  job	
  Desc.	
  
*  C’est	
  un	
  état	
  d’esprit	
  (rappel)	
  
Vivez	
  le	
  pleinement	
  !	
  


*  Soyez	
  fiers	
  et	
  attentifs	
  à	
  ce	
  que	
  vous	
  produisez	
  
*  Partagez	
  le	
  savoir	
  au	
  sein	
  des	
  équipes	
  et	
  entre	
  les	
  
   équipes,	
  
*  Ecoutez	
  les	
  proposition	
  de	
  chacun	
  (mais	
  exigez	
  de	
  la	
  
   qualité).	
  
Chassez	
  les	
  frustrations	
  


*  Eliminez	
  le	
  travail	
  répétitif	
  et	
  ennuyeux,	
  privilégiez	
  
   l’innovant	
  et	
  le	
  créatif	
  
*  Supprimez	
  les	
  périodes	
  d’urgence	
  et	
  lancez	
  des	
  
   chantiers	
  planifiés	
  qui	
  améliore	
  la	
  qualité	
  technique	
  
Structurez-­‐vous	
  


*  Utilisez	
  des	
  outils	
  de	
  versioning,	
  
*  Iaas…	
  Make	
  world	
  
*  Déploiement	
  automatisé	
  
*  Intégration	
  continue	
  
*  Déploiement	
  continu	
  
*  Contrôlez	
  et	
  surveillez	
  toute	
  la	
  chaîne	
  
Prenez	
  de	
  la	
  hauteur	
  


*  Objectifs	
  globaux	
  >	
  Objectifs	
  locaux	
  
*  Alignez	
  les	
  objectifs	
  de	
  l’entreprise/département	
  avec	
  
     ceux	
  de	
  l’équipe	
  et	
  les	
  objectifs	
  personnels	
  
*  Cassez	
  la	
  barrière	
  entre	
  les	
  départements	
  /	
  prestataires	
  
*  Faites	
  vous	
  des	
  propositions	
  entre	
  départements	
  (et	
  ne	
  
     vous	
  vexez	
  pas	
  quand	
  on	
  vous	
  en	
  fait	
  !)	
  
*  Parlez-­‐vous	
  !	
  
	
  
Contrôlez	
  



           Calculez	
                                          Mesurez	
  
                                              votre	
  disponibilité,	
  votre	
  performance,	
  
            vos	
  risques	
  
                                                             la	
  satisfaction	
  




         Définissez	
                                         Consultez	
  
des	
  seuils	
  de	
  tolérance	
  bas	
          ces	
  indicateurs	
  en	
  permanence	
  
Avec	
  quoi	
  ?	
  Pour	
  qui	
  ?	
  


                                                                                     Dev	
     Ops	
  
Versioning	
  :	
  SVN,	
  Git,	
  Mercurial	
                                       rw	
      rx	
  
Provisioning	
  :	
  Puppet,	
  Chef	
                                               rx	
      rwx	
  
Déploiement	
  :	
  Capistrano	
                                                     rx	
      rwx	
  
Monitoring	
  :	
  Nagios,	
  Munin,	
  Cacti	
                                      r	
       rwx	
  
Performance	
  /	
  Fine	
  tuning	
  :	
  Webgrind,	
  Xdebug,	
  Jmeter,	
         r	
       r	
  
WebPageTest,	
  HAR	
  
Tests	
  :	
  PHP	
  Unit,	
  SimpleTest,	
  Selenium	
                              rwx	
     r	
  
Cruise	
  control	
  :	
  PHP	
  UnderControl;	
  Hudson	
                           rw	
      r	
  
Base	
  de	
  connaissances	
  :	
  Basecamp,	
  Trac,	
  Mantis,	
  MediaWiki	
     rwx	
     rwx	
  
DevOps	
  


*  Attention	
  aux	
  travers	
  :	
  
   *  Mouvement	
  inclusif	
  positif	
  
       *  Plaisir	
  du	
  travail	
  bien	
  fait	
  
       *  Une	
  quête	
  commune	
  que	
  nous	
  allons	
  atteindre	
  ensemble,	
  
       *  Ouah…	
  ça	
  rocks	
  ce	
  qu’on	
  a	
  fait	
  !	
  
   *  Mouvement	
  exclusif	
  négatif	
  
       *  Grumpy!	
  
       *  Trop	
  orienté	
  techno	
  et	
  outils	
  à	
  mettre	
  en	
  place,	
  
       *  Nous	
  contre	
  les	
  autres	
  (Devops	
  >	
  Webops	
  >	
  Sys.	
  Admin)	
  
Premiers	
  pas	
  


*  Développeurs	
  ?	
  Mettez	
  les	
  gens	
  du	
  métier	
  et	
  votre	
  
   hébergeur	
  dans	
  votre	
  basecamp…	
  
*  Admin.	
  Sys.	
  ?	
  Sondez	
  par	
  le	
  haut.	
  Pensez	
  plus	
  au	
  
   service	
  rendu	
  aux	
  utilisateurs	
  finaux	
  qu’aux	
  serveurs	
  
FIN	
  !	
  
Des	
  questions	
  ?	
  

dev et admin sys : une cohabitation simplifiée

  • 1.
    DEV  et  Admin.  Sys     une  cohabitation  simplifiée   PHP  Tour  Lille  #2011  
  • 2.
    Enchanté   *  Sébastien  Lucas  –  Directeur  associé  d’Oxalide   @PoMM3   *  Nicolas  Silberman  –  Directeur  technique  Mediapart   @nsilberman   *  Quelques  années  de  collaboration,   *  De  nombreux  cas  urgents  et  difficiles  à  gérer,   *  De  nombreux  chantiers  mis  en  œuvre.  
  • 3.
    FIGHT  !   DEV  VS  Admin.  Sys.  –  ROUND  1  
  • 4.
    Dev  de  base   *  Je  veux  être  autonome  (j’ai  déjà  administré  un   serveur  chez  OVH)  :  je  dois  livrer  vite….  Tu  peux  te   dépêcher  ?   *  Je  sais  ce  que  je  fais,  et  de  toutes  façon  toi  l’admin.   Sys.  tu  comprends  rien  aux  dev   *  Le  site  est  trop  lent,  tu  peux  pas  supprimer  les  limites   dans  le  php.ini  ?  (et  rajouter  de  la  RAM)   *  Je  veux  rester  root  (au  cas  où)  
  • 5.
    Dev  de  base   Le  site  rame  c’est  (presque)   toujours  «  la  faute  de   l’hébergeur  »…  
  • 6.
    Admin  Sys.  De  base   On  lui  demande  :   -­‐  d’installer  un  truc,   -­‐  de  surveiller  un  machin,   -­‐  de  ne  pas  dormir  (surtout  si  mon  code  plante),   -­‐  et  d’envoyer  le  mot  de  passe  root  (parce  qu’il  met   trop  de  temps  !!)   -­‐  Il  pense  que  le  développeur  fait  n’importe  quoi  !  
  • 7.
    Admin.  Sys.  –  nos  objectifs  ?   On  nous  demande  99,9999  %  de   disponibilité  mais  leurs  applis   plantent  en  permanence  !   Il  faut  livrer  la  plate-­‐forme  pour   avant-­‐hier  mais  elle  n’est  pas   utilisée  avant  2  mois  
  • 8.
    Admin.  Sys.   Le  métier  a  évolué  :     Gérer  des  mainframes     !==  Gérer  un  environnement  Web     !==  Gérer  une  plate-­‐forme  web  à  fort  trafic   avec  des  développeurs  qui  cassent,  défont   et  refont  tout  toutes  les  semaines  !  
  • 9.
    Câlin  !!!     DEVOPs  
  • 10.
    DevOps   «  "DevOps"  is  an  emerging  set  of  principles,  methods   and  practices  for  communication,  collaboration  and   integration  between  software  development   (application/software  engineering)  and  IT  operations   (systems  administration/infrastructure)  professionals.  »     C’est  une  culture  et  un  mouvement  professionnel  
  • 11.
    Notice   Les  effets  du  médicament   *  Améliore  le  plaisir  et  la  joie  de  vos  équipes  à  travailler  sur  le   projet,   *  Améliore  l’impact  de  votre  applicatif/service  sur  les   ressources  consommée  (dette  technique),   *  Améliore  la  productivité  et  la  créativité  des  équipes   *  Améliore  la  qualité  et  la  disponibilité  de  votre  service/ applicatif   *  Ce  produit  vous  promet  :  plus  de  ventes,  plus  de  visites  et   une  facture  d’hébergement  moins  chère.  
  • 12.
    Buzz?     *  Ce  n’est  pas   *  Cloud  computing   *  Datacenter  automation   *  Webperformance   *  Méthodes  agiles   *  Intégration  continue  
  • 13.
    Buzz?       Mais  c’est  pas  un  peu  tout  ça     quand  même  !  
  • 14.
    Qui  fait  du  DevOps  ?     *  Facebook  !   *  Google  !   *  Twitter  !!   *  Mediapart  et  Oxalide  !!!  
  • 15.
    Je  veux  être  DevOps   *  Il  n’y  a  pas  de  «  How  to  »…   *  Ce  n’est  pas  une  job  Desc.   *  C’est  un  état  d’esprit  (rappel)  
  • 16.
    Vivez  le  pleinement  !   *  Soyez  fiers  et  attentifs  à  ce  que  vous  produisez   *  Partagez  le  savoir  au  sein  des  équipes  et  entre  les   équipes,   *  Ecoutez  les  proposition  de  chacun  (mais  exigez  de  la   qualité).  
  • 17.
    Chassez  les  frustrations   *  Eliminez  le  travail  répétitif  et  ennuyeux,  privilégiez   l’innovant  et  le  créatif   *  Supprimez  les  périodes  d’urgence  et  lancez  des   chantiers  planifiés  qui  améliore  la  qualité  technique  
  • 18.
    Structurez-­‐vous   *  Utilisez  des  outils  de  versioning,   *  Iaas…  Make  world   *  Déploiement  automatisé   *  Intégration  continue   *  Déploiement  continu   *  Contrôlez  et  surveillez  toute  la  chaîne  
  • 19.
    Prenez  de  la  hauteur   *  Objectifs  globaux  >  Objectifs  locaux   *  Alignez  les  objectifs  de  l’entreprise/département  avec   ceux  de  l’équipe  et  les  objectifs  personnels   *  Cassez  la  barrière  entre  les  départements  /  prestataires   *  Faites  vous  des  propositions  entre  départements  (et  ne   vous  vexez  pas  quand  on  vous  en  fait  !)   *  Parlez-­‐vous  !    
  • 20.
    Contrôlez   Calculez   Mesurez   votre  disponibilité,  votre  performance,   vos  risques   la  satisfaction   Définissez   Consultez   des  seuils  de  tolérance  bas   ces  indicateurs  en  permanence  
  • 21.
    Avec  quoi  ?  Pour  qui  ?   Dev   Ops   Versioning  :  SVN,  Git,  Mercurial   rw   rx   Provisioning  :  Puppet,  Chef   rx   rwx   Déploiement  :  Capistrano   rx   rwx   Monitoring  :  Nagios,  Munin,  Cacti   r   rwx   Performance  /  Fine  tuning  :  Webgrind,  Xdebug,  Jmeter,   r   r   WebPageTest,  HAR   Tests  :  PHP  Unit,  SimpleTest,  Selenium   rwx   r   Cruise  control  :  PHP  UnderControl;  Hudson   rw   r   Base  de  connaissances  :  Basecamp,  Trac,  Mantis,  MediaWiki   rwx   rwx  
  • 22.
    DevOps   *  Attention  aux  travers  :   *  Mouvement  inclusif  positif   *  Plaisir  du  travail  bien  fait   *  Une  quête  commune  que  nous  allons  atteindre  ensemble,   *  Ouah…  ça  rocks  ce  qu’on  a  fait  !   *  Mouvement  exclusif  négatif   *  Grumpy!   *  Trop  orienté  techno  et  outils  à  mettre  en  place,   *  Nous  contre  les  autres  (Devops  >  Webops  >  Sys.  Admin)  
  • 23.
    Premiers  pas   * Développeurs  ?  Mettez  les  gens  du  métier  et  votre   hébergeur  dans  votre  basecamp…   *  Admin.  Sys.  ?  Sondez  par  le  haut.  Pensez  plus  au   service  rendu  aux  utilisateurs  finaux  qu’aux  serveurs  
  • 24.
    FIN  !   Des  questions  ?