Vagrant

Avec PHP7 et les backward incompatibilities des objets j'ai du regarder de plus près 2 technos pour faire cohabiter deux éco-systèmes de dev au sein de ma machine, histoire de pas se retaper de mise à jour sur du code qui finira ses jours sur un serveur PHP 5.6

Les deux nominés sont Docker et Vagrant. Ce sont deux environnement de virtualisation d'application qui s'utilisent via des ports dédiés au lieu du bon vieux 80 qui restera sur l'Apache de ma machine.

La différence notable entre les deux c'est que docker est sensiblement plus léger et réactif que Vagrant mais qu'il ne peut faire tourner que des OS similaire à son host (le serveur des VM). En gros si vous êtes sur Linux vous pouvez émuler plus ou moins tous les Linux et si vous êtes sous Windows vous "devriez" pouvoir en faire de même avec les OS Windows. Par contre impossible de faire tourner une Ubuntu sur un Windows (enfin pour le moment)

Pour la production, aucun doute Docker et beaucoup plus rapide et flexible et le principe des containers switchables pour une mise en prod hyper rapide est vraiment top. Maintenant pour le dev c'est un peu délicat.

En effet, pour garantir que votre environnement de dev (Un ubuntu 14.04 LTS par exemple) reste le même que vous codiez sur un Windows, un Mac ou un Linux, Vagrant est la réponse parfaite. Son fonctionnement est vraiment très similaire a Docker mais là ou Docker link directement des appels à l'OS Host, Vagrant se base sur VirtualBox pour créer une VM dédié au dév.

C'est vraiment une techno hyper pratique (et simple au final) que je vous conseille d'utiliser.Il n'y a rien de pire que de passer 1 journée à configurer son environnement de dev sur son poste...

Là en 1 commande avec le bon fichier de conf, c'est prêt :

$ vagrant up

Et le pied c'est que ça se GIT super facilement : https://github.com/lalmat/vagrant-php5.6

Commentaires

Posts les plus consultés de ce blog

Vidange - Laguna III Coupé 2.0 DCI 150

RFID RC522 on Raspberry PI with NodeJS