31/10/2018 2 Minutes read Tech 

PHP, MySQL, Symfony2, Capistrano sur... Windows Azure !

Ceux qui nous connaissent savent que nous sommes une société très tournée vers l'Open Source, avec une grosse partie de nos équipes de développement positionnée sur du Java ou du PHP. Ceci dit, et pour ceux qui ne le sauraient pas, nous faisons aussi du .NET :-)

Aujourd’hui encore, il est difficile pour beaucoup de développeurs d’associer Microsoft à Open Source dans la même phrase sans que cela finisse en troll.

Et pourtant, depuis quelques temps déjà, Microsoft développe sa carte Open Source en adoptant des standards et en développant son offre cloud Azure, dans un scope bien plus large que l’hébergement de technologies propriétaires.

C’est sur ce dernier sujet, et particulièrement sur le déploiement industrialisé d’applications PHP dans Azure, que Microsoft nous a contacté quelques jours avant leur événement 100% en ligne, l’AzurCamp.

L’objectif était simple : sur la base d’un accès au portail de management d’Azure, voir comment une société étant déjà un minimum industrialisée pouvait déployer une application PHP dans le nuage Microsoft.

Nous avons choisi de déployer la sandbox Sonata en Symfony2 via Capistrano, comme on le fait sur notre infrastructure d’hébergement.

Je ne vais pas faire un how-to ici, mais il faut avouer que c’est relativement simple. Big picture :

  • rapatriement d’une image correspondante à notre plateforme cible (dans notre cas, un Linux/Apache 2/PHP5.3.26/MySQL5…)
  • montage d’une VM sur la base de cette image
  • quelques paramètres à configurer (hostname, certificat, ouverture du port 80 en plus du port 22)
  • on regarde sur la machine où pointe le vhost
  • on configure un nouvel environnement “azure” dans capistrano
  • cap azure deploy !

Il faut avouer, c’est assez rapide et plug&play, ni plus ni moins que si nous l’avions fait en déployant une VM avec vagrant/puppet, mais cela permet d’avoir une option supplémentaire en tête, et il est toujours bon d’avoir des options en tête !

Mais que ce soit sur Azure ou ailleurs, l’industrialisation du déploiement est un véritable confort :

  • les risques sont réduits car l’intervention humaine sur le serveur est limitée, pour ne pas dire inexistante
  • le temps de déploiement est lui aussi réduit
  • tout le monde est en mesure de déployer le projet, qu’on ait un historique fort ou pas sur le projet