Forge, Vapor, Cloud : trois façons d'héberger Laravel
Laravel propose trois plateformes officielles pour déployer nos applications : Forge, Vapor et Cloud.
Ces 10 dernières années, j'ai eu l'occasion d'expérimenter ces 3 solutions dans des contextes fonctionnels très variés : des applications très peu visitées jusqu'à celles accueillent plusieurs millions de visiteurs par mois.
Toutes trois permettent d'héberger une application web mais chacune s'y prend à sa manière, ce qui les distingue vraiment tient peut-être en une seule question : qui possède et opère réellement l'infrastructure ?
À mesure que l'on passe de Forge à Cloud, on délègue de plus en plus de contrôle et de responsabilité, c'est ce curseur qui à mes yeux détermine le bon service pour un projet donné.
Voyons ensemble ce que ces trois services ont à nous proposer.
Forge
Forge sera sera l'option des équipes qui veulent garder la main sur leur infrastructure et maîtriser le coût à l'échelle.
Forge ne se contente pas de déployer votre application, il administre le serveur sur lequel elle tourne. Nous choisissons notre VPS chez l'hébergeur de notre choix (DigitalOcean, Hetzner, AWS EC2 ...), et Forge se charge de l'installer et de le configurer : Nginx, PHP, certificats SSL, workers de queue, scripts de déploiement.
Tout le reste nous appartient : la montée de version de l'OS, les patchs de sécurité, le dimensionnement. Forge automatise la mise en place, mais nous restons responsables de ce qui se passe sur la machine.
Côté tarif, Forge facture un abonnement fixe, indépendant du coût du serveur : 12$/mois pour le plan Hobby, 19$ pour Growth, 39$ pour Business. Le VPS, lui, est facturé à part par votre hébergeur.
Vapor
Vapor sera idéal pour répondre à une forte scalabilité et à un trafic imprévisible, pour des équipes déjà à l'aise avec AWS.
Vapor déporte entièrement la question du serveur : il n'y en a tout simplement plus.
L'application tourne sur AWS Lambda sous forme de fonctions qui s'instancient à la demande, traitent une requête, puis disparaissent. AWS encaisse la charge et scale horizontalement, sans aucune intervention de notre part.
En contrepartie, nous abandonnons une partie des hypothèses d'un runtime PHP classique. Le système de fichiers est éphémère et les cold starts ajoutent de l'ordre de 800ms à 1,2s sur une faible part des requêtes, que l'on atténue en gardant quelques conteneurs pré-chauffés via l'option warm.
L'infrastructure tourne dans notre propre compte AWS, donc nous voyons les ressources brutes ... mais nous ne pouvons pas outrepasser les conventions d'orchestration de Vapor.
Le tarif est de 39$/mois (399$/an), auquel s'ajoutent les coûts AWS, variables et parfois imprévisibles.
Ce 23 septembre, Taylor Otwell a annoncé dans un tweet la fin des inscriptions sur Vapor : il n'est désormais plus possible d'y créer un compte et il plébiscite Cloud comme plateforme de remplacement. Une décision difficile à comprendre techniquement, sachant que Vapor se positionnait différemment des deux autres solutions et n'offrait pas les mêmes possibilités de scalabilité.
Cloud
Cloud sera l'option la plus clé en main, pour les projets qui doivent livrer vite, sans aucun besoin d'infrastructure.
Cloud pousse la délégation à son maximum en prenant toute l'infrastructure à sa charge, ni serveur ni compte AWS à gérer, vous connectez un dépôt Git et Laravel Cloud déploie.
Les bases de données managées (MySQL, Postgres serverless), les caches et le stockage se provisionnent en un clic, les credentials sont injectés automatiquement lors des déploiements.
Depuis juin 2026, le scale-to-zero est activé par défaut : la stack s'endort à l'inactivité et se réveille en moins de 500ms, de sorte qu'une application au repos cesse de coûter.
En contrepartie de ces avantages, Cloud a néanmoins une contrainte très forte : nous n'avons aucune mainmise sur l'infrastructure ni sur la machine, c'est une véritable boîte noire.
La facturation est à l'usage, répartie sur quatre paliers : Starter à 5$/mois (premier mois offert, 5$ de crédits inclus chaque mois), Growth à 20$, Business à 200$, et Enterprise sur devis.
À ce jour, Cloud souffre un peu de sa jeunesse, il est certain que le service est capable de gérer efficacement des sites, mais des erreurs relativement récurrentes, notamment d'infrastructure, ternissent le tableau. Une solution à suivre pour ses qualités, mais qui mérite qu'on la teste sur son propre projet avant de lui confier de la production.
Contrôle, industrialisation et montée en charge
Ces 3 solutions répondent aux mêmes besoins d'hébergement, nous allons désormais voir en quoi elles se distinguent sur 3 axes différents : la capacité à industrialiser, la gestion du zero-downtime et la manière dont chaque solution monte en charge.
Industrialisation
Sur l'industrialisation, Forge est totalement ouvert. Son API et son CLI permettent de provisionner serveurs, sites et certificats par script, de versionner l'ensemble de notre infrastructure et de gérer des flottes entières. L'industrialisation y est complète précisément parce que nous possédons la machine.
Vapor est entrouvert. L'infrastructure vit dans notre compte AWS, nous en voyons les ressources, mais Vapor impose son orchestration. Impossible, par exemple, d'interférer avec sa manière de gérer les secrets dans SSM. Nous industrialisons la configuration de déploiement, pas l'infrastructure elle même.
Cloud, lui, reste fermé. La plateforme expose bien une API et un CLI, mais ils pilotent l'usage de Cloud : déploiements, environnements, ressources exposées. La machine demeure inaccessible. Une industrialisation au sens propre, celle où l'on garde la main sur l'infra, n'y est pas possible.
Zero downtime
Sur le zero-downtime, les trois savent déployer sans coupure, mais avec des degrés d'implication différents.
Forge nous laisse le configurer : les déploiements atomiques préparent la nouvelle version à côté de l'ancienne, puis basculent d'un coup via un lien symbolique. Le mécanisme est à notre charge, mais sous notre contrôle.
Vapor n'a rien à configurer : chaque déploiement crée une nouvelle version de la fonction Lambda et le trafic bascule dessus. Le zero-downtime y est une propriété intrinsèque de l'architecture serverless.
Cloud, enfin, l'orchestre pour nous, sans le moindre réglage.
Scalabilité
Sur la scalabilité, c'est là que les trois divergent le plus.
Avec Forge, la montée en charge est de notre responsabilité : verticalement en redimensionnant le VPS, horizontalement en provisionnant d'autres serveurs derrière un load balancer que nous configurons. Une solution relativement usuelle mais tout de même manuelle.
Vapor offre à l'inverse une scalabilité automatique et quasi illimitée, par nature : Lambda instancie autant de fonctions que nécessaire, à la requête près, au prix des cold starts et des limites de concurrence que vous configurez. Dans une architecture avec Vapor, les premiers signes de faiblesse viennent rarement des lambdas mais de tout l'écosystème qui gravite autour : cache, base de données, etc.
Cloud propose un autoscaling par réplicas piloté par la charge CPU, dans des limites que nous fixons nous-mêmes, ce qui rend le coût prévisible : moins élastique qu'un serverless pur, mais plus contrôlable, et complété par le scale-to-zero dont le réveil tient sous les 500ms.
Tableau comparatif
Conclusion
Aucune de ces trois plateformes n'est réellement supérieure aux autres : elles se distinguent essentiellement sur le contrôle que nous conservons de l'infrastructure.
Forge nous laisse tout entre les mains, Cloud nous en libère entièrement, Vapor se tient quelque part au milieu.
Pour votre choix l'hébergement, la question est de savoir de combien de mainmise nous avons réellement besoin, et combien de charge opérationnelle nous sommes prêts à porter en échange.
Un projet qui doit sortir vite sans ops dédié ne fera jamais le même choix qu'une équipe qui industrialise une flotte de serveurs et c'est précisément ce qui rend ces trois outils complémentaires plutôt que concurrents.
Écrit par
Mathieu De GraciaLead & Software Architect • nublar.dev
Bon, suite à l'annonce de Taylor de fermer les inscriptions de Vapor, on peut considérer que c'est deux et non plus trois 😅
Tu veux commenter ? Crée un compte ou connecte-toi.
A lire
Autres articles de la même catégorie
Au-delà du MVC
Réfléchissons à notre relation envers les frameworks et au choix d'architecture qui en découle.
Le véritable objectif de la responsabilité unique
Vous pensez qu'une classe ne doit faire qu'une seule chose ? Réfléchissons plus en profondeur à la réelle signification du principe de responsabilité unique (SRP)
Le vibecoding : c'est trop bien
L'arrivée du vibe coding et de l'IA ont profondément changé notre manière d'appréhender le code, voyons comment utiliser efficacement ces nouvelles technologies.