Kubernetes ou PaaS : que choisir pour un produit SaaS
Kubernetes et PaaS résolvent des problèmes distincts. L'erreur habituelle est de décider par prestige technique avant de savoir ce dont le produit SaaS a réellement besoin.
Si Vercel, Render, Fly.io, Heroku ou Cloud Run couvrent 80 % du cas, opérer moins peut être un avantage. Kubernetes commence à compenser lorsque la plateforme interne fait déjà partie du produit.
La décision que de nombreuses équipes anticipent trop
Kubernetes est puissant, mais ce n'est pas gratuit en termes opérationnels. Un PaaS peut sembler moins flexible, mais il permet de se concentrer sur le produit lorsque l'équipe est encore petite.
PaaS si Vercel, Render ou Heroku résolvent 80 %
- Équipe réduite sans plateforme interne.
- Produit en validation ou en croissance initiale.
- Besoin de déploiements simples et de support rapide.
- Charges web conventionnelles.
- Peu de besoin de contrôle approfondi du réseau ou du runtime.
Kubernetes lorsque la plateforme est déjà un produit interne
- Multiples services avec des modèles de déploiement différents.
- Besoin de portabilité ou de contrôle de l'infrastructure.
- Équipe avec une expérience réelle en opération.
- Exigences avancées en matière de réseau, d'autoscaling ou d'isolement.
- Coûts PaaS justifient déjà d'investir dans une plateforme propre.
Coûts cachés
Kubernetes implique observabilité, sécurité, mises à jour, gestion des secrets, politiques, mise en réseau et gardes. EKS, AKS et GKE réduisent une partie du travail, mais n'éliminent pas les décisions concernant l'ingress, Helm, les sauvegardes, les autorisations et les coûts. Si personne ne possède ces tâches, le cluster devient une dette opérationnelle.
Exemple réel : Vercel pour le web, Kubernetes pour les services internes
Un SaaS peut maintenir le frontend sur Vercel et déplacer les workers ou services internes vers Kubernetes uniquement lorsque des besoins clairs en matière de files d'attente, de jobs, de mise en réseau ou de contrôle du runtime apparaissent. Choisir Kubernetes dès le premier jour peut retarder le produit sans améliorer l'expérience utilisateur.
La décision d'achat ne doit pas dépendre de la démo
L'achat devrait avancer uniquement si l'équipe peut défendre trois points : quel problème économique résout-elle, quel coût opérationnel introduit-elle et quelle issue existe-t-il si l'outil ou l'architecture cesse de convenir. En DevOps, une comparaison utile ne cherche pas un gagnant absolu ; elle cherche à réduire le regret après la signature.
Quand la complexité commence à compenser
Kubernetes commence à avoir du sens lorsque l'équipe a besoin d'un contrôle fin du réseau, des jobs, des services internes, des déploiements multi-tenant ou de la portabilité entre environnements. Si le problème principal reste la validation du produit, un PaaS permet généralement de gagner du temps.
Le signal d'alerte apparaît lorsque personne ne veut être responsable du cluster. Sans gardes, mises à jour, politiques, observabilité et sécurité, Kubernetes cesse d'être une plateforme et devient une dette opérationnelle.
- Choisissez PaaS si l'équipe a besoin de vitesse et d'opérations légères.
- Choisissez Kubernetes si la plateforme nécessite un contrôle soutenu et qu'il y a une équipe pour la maintenir.
- Ne migrez pas par mode : migrez lorsque la limite actuelle est claire et mesurable.
Critères de décision pour un SaaS réel
La question n'est pas de savoir si Kubernetes est « meilleur » qu'un PaaS. La question est quel problème opérationnel vous avez aujourd'hui et quel coût vous êtes prêt à assumer pour le résoudre. Un SaaS précoce a souvent besoin de vitesse, de déploiements simples et d'une faible charge d'infrastructure. Un SaaS mature peut nécessiter un isolement par client, des jobs lourds, un réseau interne complexe, la conformité ou un contrôle fin des coûts.
| Situation | PaaS convient généralement | Kubernetes commence à compenser |
| --- | --- | --- |
| Équipe | 2-6 ingénieurs sans plateforme dédiée | Équipe avec expérience SRE ou plateforme |
| Produit | Web app, API et workers simples | De nombreux services, files d'attente, jobs et tenants |
| Opération | Priorité à déployer rapidement | Priorité au contrôle, aux politiques et à la portabilité |
| Coût | On accepte de payer une marge pour la simplicité | Le volume permet d'optimiser l'infrastructure |
| Risque | La chute est gérée avec le fournisseur et rollback | Des contrôles internes avancés sont nécessaires |
Vercel, Render, Fly.io, Heroku ou Google Cloud Run peuvent être d'excellentes décisions lorsqu'ils réduisent l'opération. Kubernetes apporte de la valeur lorsque l'équipe souffre déjà de limites concrètes : déploiements multi-services, configuration répétée, isolement entre clients, exigences de réseau, jobs programmés ou environnements complexes.
Exemple concret : SaaS B2B avec API, web et workers
Imaginez un SaaS B2B avec un frontend en Next.js, une API en Node, PostgreSQL, Redis, des workers de BullMQ et des tâches programmées. Dans une phase initiale, Vercel pour le frontend, Render ou Fly.io pour l'API et les workers, et une base gérée peuvent couvrir le cas avec moins de friction. L'équipe se concentre sur le produit, le support et les ventes.
Le passage à Kubernetes aurait du sens si des signaux clairs apparaissent : les clients entreprises demandent des environnements isolés, les workers nécessitent un scaling fin par file d'attente, il y a des services internes avec des dépendances spécifiques, une politique de réseau avancée est requise ou les dépenses en PaaS dépassent déjà le coût d'exploitation d'une plateforme propre. Sans ces signaux, le changement peut être une distraction coûteuse.
Erreurs courantes
La première erreur est d'adopter Kubernetes pour avoir l'air plus sérieux. Un cluster n'améliore pas le produit si personne ne veut être responsable des mises à jour, de l'ingress, des certificats, des politiques, de l'observabilité, des sauvegardes et de la sécurité.
La deuxième erreur est de rester trop longtemps sur un PaaS sans regarder les limites. Si chaque déploiement exige des solutions de contournement, si les logs ne suffisent pas, si les files d'attente sont insuffisantes ou si le fournisseur ne permet pas d'isoler les clients comme l'exige les ventes entreprises, la simplicité initiale peut devenir un blocage.
La troisième est de ne pas calculer le coût humain. Kubernetes ne se limite pas aux nœuds. Il inclut le temps de garde, les incidents, les mises à jour, le durcissement, les charts Helm, les secrets, la surveillance et la documentation interne. Si ce travail incombe à la même équipe qui doit construire le produit, le coût réel augmente rapidement.
Signaux pour migrer sans se précipiter
Une migration vers Kubernetes devrait avoir une raison écrite et mesurable. Par exemple : réduire le coût d'exécution de 30 % avec des charges stables, isoler des tenants régulés, unifier les déploiements de dix services ou contrôler le trafic interne avec des politiques claires. « Le PaaS devient trop petit pour nous » est une intuition ; il faut la convertir en preuve.
Avant de migrer tout, testez une charge non critique : un worker intensif, un service interne ou un environnement de staging. Mesurez le temps de déploiement, la complexité de l'observabilité, le coût mensuel, la qualité du rollback et la charge de l'équipe. Si le pilote ralentit la vitesse sans résoudre un problème fort, la migration n'est pas mûre.
Décision pratique
Choisissez PaaS si l'entreprise a besoin d'itérer, si l'équipe est petite et si les charges sont standards. Choisissez Kubernetes si une complexité opérationnelle existe déjà que le PaaS ne peut pas absorber et qu'il y a une capacité réelle à maintenir la plateforme.
L'option intermédiaire existe également : frontend sur Vercel, bases gérées, workers sur Cloud Run ou ECS Fargate, et Kubernetes uniquement pour les services qui le justifient. Dans le SaaS, une architecture hybride prudente l'emporte souvent sur une migration totale faite par fierté technique.
Coût opérationnel souvent oublié
Le coût visible de Kubernetes comprend les nœuds, le stockage, les équilibreurs et le trafic. Le coût moins visible est la plateforme humaine : gardes, mise à jour du cluster, révision des images, politiques de réseau, gestion des secrets, sauvegardes de configuration, tableaux de bord et documentation pour que le reste de l'équipe puisse déployer sans dépendre d'une personne.
Dans un PaaS, une partie de ce coût est incluse dans la marge du fournisseur. Dans Kubernetes, cela revient à l'équipe. Cela peut être positif s'il y a une échelle et une expérience ; cela peut être destructeur si l'équipe cherche encore un ajustement de produit.
Une façon pratique de décider en comité technique
Apportez à la réunion trois scénarios avec des chiffres : maintenir le PaaS pendant six mois, migrer uniquement les workers ou migrer toute la plateforme. Pour chaque scénario, estimez le coût mensuel, le temps de migration, le risque d'interruption, l'impact sur la vitesse du produit et qui l'opérera.
Si personne ne peut s'engager à opérer Kubernetes pendant les douze prochains mois, la réponse n'est toujours pas Kubernetes. Si le PaaS bloque des contrats entreprises ou augmente les coûts avec des charges stables, alors il mérite un essai limité et mesurable.
Questions pour finaliser la décision
Avant de finaliser l'architecture, il est bon de répondre à qui maintient les déploiements hors horaires, comment les secrets sont gérés, que se passe-t-il si une migration échoue et combien de temps prend un rollback complet. Si ces réponses dépendent d'une seule personne, la plateforme choisie présente encore un risque opérationnel.
