Dernièrement, pour les besoins d’un client, j’ai fait un tour non exhaustif des solutions Paas (platform as a service) PHP pour héberger un Prestashop 1.6.
Ce type de service est parfait pour les développeurs qui ont des notions d’admin système mais qui n’ont pas le temps de s’occuper de la partie serveur (installation, maintenance, sécurité, backup, update/upgrade etc…).
Voici les plateformes que j’ai testées :
Je ne m’attarderais pas sur le coût de chaque solution, les tarifs étant assez hétérogènes mais finalement assez proches à quelques dizaines d’euros près.
Le choix n’est donc pas simple quand l’offre regorge d’acteurs qui proposent des services de qualités. Outre le prix donc, il y a plusieurs questions a ce poser :
Toutes ces questions sont propre à chaque projet et à chaque client.
Pour nous aider un peu, il existe ce genre de site : http://www.paasfinder.com qui permet de faire une pré-sélection selon tous ces critères.
Revenons à notre installation de Prestashop 1.6.x pour un client qui fait déjà plusieurs centaines de ventes par mois. Le site a un trafic modéré mais comme tout site de e-commerce, il ne doit jamais être indisponible, le mot clé est donc : Haute Disponibilité. Ca tombe bien, tous ces services propose des instances dans le “cloud”, ce qui signifie qu’a part un très gros problème d’infrastructure ou de réseau, notre Prestashop ne sera jamais “offline”. De plus tous les services proposent aussi des systèmes de “snapshot” automatisé qui sauvegardent votre instance de serveur rapidement.
Tous les Paas proposent de déployer votre application via GIT. Il suffit de mettre votre code sur Github ou Gitlab par exemple et de donner l’url à cloner au service. Il va juste falloir faire attention au fichier spécifique de configuration (config/define.inc.php) qui contient les infos de connexion à la base de donnée et qu’il faudra donc modifier en conséquence.
1. Pagodabox
Pagodabox est très au dessus du lot en terme d’interface. L’UI et l’UX sont très soigné, les animations sont très utiles. Mais après plusieurs jours d’essaie, je me suis rendu que le système est assez lent, le resize d’instance prend plusieurs minutes par exemple.
Pour deployer votre application, il vous faudra un Boxfile, un fichier de configuration spécifique à votre application : https://pagodabox.io/docs/boxfile_overview
Voici un exemple de Boxfile pour Prestashop :
web1:
name: web1
type: php
version: 5.6
stability: production
network_dirs:
storage1:
- cache
- modules
- img
- upload
- log
- translations
- download
- config
- mails
after_deploy:
- "rm -rf cache/smarty/compile/*"
- "rm -rf cache/smarty/cache/*"
- "rm -f cache/smarty/class_index.php"
php_extensions:
- apc
- json
- mbstring
- pdo
- pdo_mysql
- session
- xml
- gd
- memcache
- memcached
- mcrypt
- zip
- zlib
- hash
- iconv
- readline
- xml
- xmlreader
- xmlrpc
- xmlwriter
php_date_timezone: Europe/Paris
php_zend_extensions:
- ioncube_loader
2. Fortrabbit
L’ interface est beaucoup plus simple et épurée. Finalement c’est ce qu’on cherche en utilisant un Paas. Le but c’est de simplifier les choses. Le “scaling” de l’application est très simple et rapide. En cas de monté en charge c’est très pratique.
3. Engine Yard
EY propose une interface très complète en terme d’administration serveurs. Là aussi le code est déployé via Git sur toutes les instances lancés.
4. Cloudways
La grande force de Cloudways c’est la possibilité de cloner des instances de serveur et de cloner les apps dans chaque instance. Cela permet de mettre en place très rapidement un environnement de dev ou de pré-prod pour tester des modifs par exemple. L’interface est très simple, les prix sont transparent.
Partager l'article