Migration vers Coolify : un PAAS open source qui s’installe où vous voulez
Migration vers Coolify : un PAAS open source qui s'installe où vous voulez
J'ai migré récemment RssFeedPulse vers Coolify et ça vaut le coup d'en parler un peu.
Est-ce que vous l'avez envisagé ?
Est-ce que vous devriez l'envisager ?
Qu'est-ce que vous pouvez en tirer ?
Quels sont les avantages et inconvénients ?
Parlons-en.
Paas or not Paas, that is the question
Ce titre de chapitre me renvoie à plusieurs années en arrière (2014) ou j'écrivais sur ce même blog : "PAAS or not PAAS. À partir de quand faut-il migrer ?"
Je recommande vivement, comme en 2014, d'utiliser un PAAS pour démarrer une nouvelle application, une nouvelle startup. Parce que, vraiment, il faut retarder au maximum le moment où vous allez devoir toucher à votre infrastructure (serveurs, configuration réseau, configuration de sécurité etc...).
Et même à ce moment-là, vous devez garder ce sujet le moins coûteux en argent et en temps possible.
Un PAAS c'est une "Platform As A Service". En très gros, c'est un service qui permet de déployer vos applications sans vous soucier de rien. À l'époque, je citais cloudbees, heroku, clever-cloud, aujourd'hui, je pourrais rajouter Vercel ou Netlify dans les gros mastodontes actuels.
Quand une société grandit, la question se repose toujours, car je ne connais pas de PAAS qui permette de faire tourner des applications avec les contraintes "enterprise" qu'on est censé avoir à partir d'une certaine taille (comme par exemple, ne pas avoir de bases de données exposées publiquement sur internet, même protégé par un mot de passe, des security groups etc...). C'est souvent à ce moment-là qu'on bascule sur les clouders classiques (AWS, GCP, Scaleway etc...).
Mais c'est pas le sujet d'aujourd'hui.
Pourquoi est-ce que je décide de partir de mon PAAS actuel vers Coolify ?
Et c'est quoi Coolify ?
Coolify
Je vais commencer par répondre à la seconde question en premier parce que ça va aussi répondre à la première question.
Coolify est un PAAS.
Donc, je reste sur un PAAS.
Sauf que c'est un projet open source qu'on peut déployer soi-même, avec un coût moins élevé.
La promesse de Coolify, c'est que je peux reproduire l'expérience utilisateur d'un Vercel, d'un Heroku ou d'un Netlify sur le serveur de mon choix.
Mais pourquoi faire ça ?
Deux raisons principalement pour ma part :
- le coût
- les services proposés
Sur les services proposés, sur le papier, Coolify peut-être très compétitif.
Déjà par défaut, Coolify n'est pas restreint à l'univers JS (comme Vercel ou Netlify), or moi, je fais du Kotlin ça m'arrange.
Ensuite, Coolify permet de déployer en un clic plus d'une cinquantaine d'applications, parmi lesquelles je pourrais citer : wordpress, supabase, anythingLLM, docuseal, odoo, ollama, posthog et j'en passe. C'est beaucoup et ça bat la marketplace de nombreux PAAS du marché.
Pour ma part, en plus de mon application, j'ai installé Umami (Web analytics) et Metabase (Product Analytics).
Et ça, c'est sans parler des fonctionnalités de Coolify qui vont plus loin que la grande majorité des PAAS du marché :
- une notion d'environnement
- une notion de réseau lié à un groupe d'applications
- des ressources non exposées sur internet, sauf si on le souhaite (comme une base de données par exemple)
Le coût
Sur l'aspect financier, là encore les gains peuvent être très substantiels.
Une machine de 32Gb sur un PAAS, c'est facilement au-dessus des 500 €/mois.
Coolify vous allez le faire tourner sur un serveur dédié ou un VPS. Sur un fournisseur comme Hetzner, une machine de 32Gb, c'est 58 €/mois.
Attention, c'est normal que votre PAAS soit cher, vous achetez aussi une équipe support et un logiciel.
Mais parfois trop... Vous avez peut-être entendu parler des histoires récentes de factures démentes sur Vercel (96k !!) ou sur Netlify (104k !!).
Pour ma part, je suis passé à une machine 8x plus puissante pour un prix divisé par 3 et je peux héberger plus d'applications sur un même nœud.
Et je suis toujours sur un PAAS, donc je bénéficie en théorie de la même simplicité au jour le jour.
Pourquoi je migre
Je développe RssFeedPulse. L'application a une croissance correcte sur les 6 derniers mois, mais en partant de très bas.
Par contre, le trafic web stagne, voire baisse parce que j'investis pas dans le marketing et que je suis mauvais à le faire moi-même.
Donc l'application ne prend pas une trajectoire pour être méga rentable et la croissance va finir par s'effondrer sans augmentation de trafic supplémentaire.
En plus de ça le coût de souscription est très faible (1 euro pour le plan de démarrage).
Tout ça fait que le coût de mon PAAS actuel est supérieur au revenu de ce service, pour l'instant.
En soi, on parle de petites sommes, mais en passant sur Coolify, l'application pourrait être dès maintenant rentable.
En plus de ça, je veux tester de lancer d'autres services. Sur un PAAS classique, chaque service va me couter un ticket d'entrée. Ticket d'entrée qui disparaît avec Coolify puisque je peux héberger plusieurs applications sur la même machine.
Malgré tout ça, en temps normal, cet argument, seul, serait bancal. Financièrement, on parle de cacahuètes pour quelqu'un qui a un produit qui marche vraiment.
Il serait bien sûr plus rentable de passer du temps à améliorer le marketing qu'à faire une migration sur Coolify.
Mais actuellement j'ai un temps limité, parce que je suis au Japon et que je suis des cours de Japonais 4h par jour. Donc la migration sur un service moins coûteux me permet de pas cramer de l'argent tous les mois là-dessus tout en me laissant une petite marge de manœuvre pour tester d'autres produits.
Mais en vrai, c'est surtout les services que je gagne qui valent le coup. Parce que aujourd'hui mes critères pour choisir un PAAS sont multiples :
- catalogue de service évolué
- notion d'environnement
- notion de réseau privé pour les ressources
- UI léché
- doit faire tourner du kotlin
et tout ça, c'est.... rare.
Attentes vs réalité ?
Coolify propose de déployer un PAAS, c'est tout à fait vrai. D'ailleurs, vous pouvez aussi tester Dokploy ou CapRover dans la même famille.
Pour autant, déployer sur un PAAS c'est pas la même chose que déployer un PAAS.
C'est un outil formidable, mais qui demande quand même un petit peu d'effort pour que tout marche bien.
Dire que ça demande 0 effort, c'est faux.
Donc est-ce que ça vaut le coup ?
Oui, dans les cas suivants :
- une personne comme moi, qui ne fait pas des bénéfices de dingo avec des petites applications et qui veut rester frugal sur ses dépenses. En contrepartie de passer un peu de temps et d'être autonome sur des petits détails à régler
- une personne ayant des coûts qui ont explosé sur des PAAS du marché et qui veut les faire baisser.
- une petite équipe qui recherche des fonctionnalités qu'elles ne trouvent pas sur les PAAS du marché, mais qui ne veut pas se lancer dans l'usage d'un cloud classique, trop complexe et trop opaque sur les coûts.
Par contre, ce serait pas forcément à conseiller si par exemple
- votre application consomme peu de ressources et génère déjà beaucoup de revenus. Un PAAS à qui vous déléguez tout vous aidera à mieux dormir la nuit
- vous n'avez aucune connaissance de comment tourne un PAAS et/ou de sécurité, backup etc..., c'est un coup à se tirer une balle dans le pied
Et pour l'instant, je vais m'arrêter là. On va considérer que c'est un post de blog d'introduction pour de futurs billets dans lesquels je détaillerais comment j'ai migré et qui seront sans doute un peu plus didactiques.
On parlera de sécurité, de backup, de monitoring entre autres.
Ciao