mardi 13 janvier 2015

Vagrant ou la fin des problèmes de compatibilité entre les environnements de développement/test/production ?


Pour aller droit au but, si comme moi vous êtes développeur web ou que vous travaillez dans une équipe de développement WEB et que vous êtes déjà retrouvé dans une des situation que je vais cité, Alors cet article est pour vous:
  • AAAAAAAAAAAAAAAAAAAAAAaa, j'ai passé 2 jours pour faire fonctionner le site chez moi en local, car je n'arrivais pas à trouver une version valable de memcached compatible avec mon environnement! 
  • Je me rend bien compte que je devrais utiliser Linux pour avoir un environnement de DEV assez proche de nos serveur de stagging et de prod, et puis question outil, franchement y a pas photo. :) Mais voila, j'ai mes petites habitudes sur windows, et franchement , basculer de système maintenant en plein projet n'est pas une bonne idée (........ cette excuse de "chui en plein projet", je la tire depuis plus de 4 ans :) ...)
  • Puré les gars, vous auriez pu choisir une autre version de cet outil de compilation (ou de cette librairie).... c'est bien, mais je n'arrive pas à trouver une version pour windows!
  • AH NON Said, tu as fait une mise à jour de la configuration du serveur de test, Mais il fallait nous dire pour qu'on fasse de même sur nos environnement de dev!
  • ......................... 

ou encore ma préféré:
  • ça marche pas sur le serveur de test?  Oui Mais Chez moi ça marche!

La solution à ces problèmes est assez simple: La virtualisation.

voici le concept de base:
- Développer sous windows avec un serveur linux sur machine virtuelle  -
Soyez indulgent svp, je suis franchement NAZ pour les dessins .

la solution la plus flexible qui permet de mettre en place très rapidement un environnement de ce type c'est VRAGANT.

Pour bien expliquer la mise en place je vous recommande simplement de regarder cette excellente vidéo  (franchement c'est mieux que de vous écrire plein de texte):



Après avoir regardé la vidéo, ET si vous avez bien tout compris, vous devez certainement vous poser la question suivante:

Pourquoi je dois utiliser VAgrant Finalement? je peux simplement utiliser Virtual box , je partage le fameux dossier pour le code source et le tour est joué!!

je me suis posé la même question voici les réponses :
  1. Possibilité de regrouper un ensemble de machines virtuelles (ex : 1 machine pour le web server, 1 mahcine pour la BDD , ...) et les toutes ensemble en même temps 
  2. Versionning de vos configurations (la configuration des mahcines Vagrant se base sur un simple fichier ruby 
  3. beaucoup de machine pré configuré existent ici http://www.vagrantbox.es/, vous pouvez donc, trés trés .. trés rapidement installer un nouvel environnement sans vous poser trop de question :)   (bon, cela dépend de votre connexion)
je pense sincèrement que cela peut changer complètement votre façon de développer. en tout cas, cela a été le cas pour moi :) 

je vous laisse découvrir et n'hésitez pas à me laisser des commentaires si cela vous a servi (ou pas)
Un grand merci à Abouabkr pour m'avoir fait découvrir

1 commentaire: