Ploi.io – Déploiement de serveur facile

Ayant récemment repris un vieux projet web personnel, je n’avais pas envie de m’embêter à installer et configurer un serveur web. J’avais toujours l’option Cloud (type Heroku ou Google App) mais je voulais voir s’il n’existait pas des « assistants » de déploiement. J’ai alors découvert Ploi.io et après quelques jours de test, j’ai été agréablement surpris.

L’idée est simple : vous connectez Ploi.io à un gestionnaire de version (Github, Gitlab, …) et à un fournisseur de serveurs (DigitalOcean, Vultr, Amazon, …). Le service vous propose ensuite de créer une machine répondant à vos besoins. Pour mon cas, c’était un serveur PHP pouvant héberger un projet Laravel.

Ploi utilise ensuite l’API du fournisseur de serveurs pour démarrer une instance, installer les paquets requis et la configurer. Cela prend environ 10 minutes, puis le serveur apparaît dans l’interface et vous recevez par mail les accès nécessaires. Ce que j’ai bien aimé, c’est l’accès total au serveur. Certains services comme celui-ci brident les fonctionnalités et vous obligent à payer. Ici, vous avez tous les droits sur votre machine et vous pouvez tout faire en ligne de commande (et tout casser).

Après installation du serveur, j’ai donc un serveur Nginx, une base MySQL, un Redis, les commandes nécessaire pour manager mon futur site (composer, supervisor) et tout ce qu’il faut en matière de sécurité (Fail2Ban, Firewall, paquets à jour). Il est possible si vous en avez moyen de découpler ces services pour avoir par exemple un serveur web, une instance de cache Redis et une machine de base de données séparés. Ou encore plus fou, doubler tout ce petit monde et ajouter un Load Balancer.

Ensuite, vous devez ajouter des sites sur ce serveur. Ploi.io propose des applications comme WordPress, NextCloud ou OctoberCMS mais le plus intéressant est de déployer un site depuis Github. C’est très simple et configurable (version PHP, domaine). Vous pouvez même choisir d’avoir une version de test de votre site (avec un sous-domaine) déployable avant de mettre à jour la vraie version.

En quelques minutes, votre site est en ligne et vous n’avez pas tapé une ligne de commande. Assez satisfaisant 😀

Selon le type d’application que vous avez déployée, vous aurez accès à certaines actions propres au logiciel utilisé. Pour le cas de Laravel, gérer les routes/caches/config/queues/crons/view.

J’ai bien aimé le parti pris de déployer tout ce qui est nécessaire mais de laisser la main en terme de configuration depuis l’interface. Vous pouvez modifier les paramètres PHP, de cache, crons, configurations réseaux. L’interface permet aussi de redémarrer, arrêter tous les services tout en donnant accès aux logs (système et applicatifs).

Parlons maintenant de prix. L’offre gratuite vous permet de manager 1 serveur contenant 1 site. La plupart des fonctionnalités avancées comme le Monitoring, les Backups, le Management avancé de chaque service ne sont pas disponibles mais avec quelques scripts que vous jouerez en SSH, cela permet de démarrer facilement un site qui aura déjà un peu de trafic.

Les offres suivantes à 8€ (Basic) et 13€ (Pro) par mois permettent de manager plus de serveurs, plus de sites et donnent accès à quasiment toutes les fonctionnalités. Je trouve que le prix est correct pour manager des serveurs sans souci, sachant que vous avez toujours le contrôle total sur vos machines.

Je n’ai pas testé les fonctionnalités liées aux équipes (car je n’en ai pas 🙁 ) mais Ploi.io offre la possibilité d’ajouter des membres par équipes et de gérer finement les permissions sur chaque site et chaque sous-service.

Je n’ai pas non plus exploré la partie SSL car je n’en avais pas besoin. Il est possible de générer des certificats grâce à Let’s Encrypt. Si vous ne comprenez rien au SSL, vous pouvez lire cet article.

N’hésitez pas à tester le service et l’auteur a rédigé un article expliquant pourquoi il a une l’idée et décrivant l’histoire du projet.

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *