Auto-hébergement ou cloud managé : où passe la ligne

Infrastructure DevOps Coûts Méthode
Publié le

Je fais tourner une trentaine de services sur un serveur à moi : forge, supervision, stockage de fichiers, galerie photo, quelques applications écrites pour moi, et les instances de démonstration d’un produit que je vends. Ça me donne des chiffres plutôt qu’une opinion, et les chiffres ne disent pas ce qu’on attend.

Le calcul que tout le monde fait

Un serveur dédié correct coûte entre 15 et 40 € par mois. Les mêmes services chez un fournisseur managé, facturés à l’unité, dépassent rapidement 200 €. Le rapport est de cinq à dix, et c’est ce rapport qu’on cite pour justifier l’auto-hébergement.

Le calcul est juste et il est incomplet, parce qu’il compte la machine et pas le temps.

Le relevé d’une année

Sur une année, voici ce qui est revenu, en dehors du travail productif :

Les mises à jour du système et des conteneurs prennent une à deux heures par mois quand on les fait régulièrement, et une journée entière quand on les laisse s’accumuler six mois et qu’une version majeure casse quelque chose au passage. Les certificats, les renouvellements et les redémarrages qui ne repartent pas sont rares, mais toujours au mauvais moment. Les incidents, deux ou trois par an, coûtent entre vingt minutes et une soirée.

Reste les sauvegardes, et c’est le poste qu’on sous-estime. Les écrire prend une heure. Vérifier qu’elles se relisent vraiment prend une journée la première fois, et c’est cette journée-là qu’on saute.

Comptez une demi-journée par mois en régime établi, et une semaine de mise en place au départ. Valorisée au tarif d’un développeur, cette demi-journée coûte plus cher que la facture du fournisseur managé qu’on voulait éviter.

C’est le calcul qui devrait clore le débat, et il ne le clôt pas. Voici pourquoi.

Le managé n’apprend rien à personne

L’apprentissage. Tout ce que je sais de la supervision, des sauvegardes, du routage et du cloisonnement vient de cette machine. Un fournisseur managé fait très bien ce travail, à votre place, donc vous ne l’apprenez pas. Pour quelqu’un qui vend du déploiement et de l’infrastructure, cette demi-journée par mois n’est pas un coût, c’est de la formation qui produit des preuves.

Le contrôle du coût dans la durée. Une facture managée croît avec l’usage, et elle croît par palier, souvent au pire moment. Un serveur dédié a un prix fixe jusqu’à saturation, et la saturation se voit venir sur des graphiques.

Le cloisonnement réel. Les services qui parlent entre eux le font sur un réseau privé, sans sortir. Certaines contraintes contractuelles se satisfont plus facilement ainsi, à condition de savoir prouver ce qu’on avance.

Managé ou chez soi, comment trancher

Prenez du managé si le service que vous hébergez est celui qui fait vivre l’entreprise, si une indisponibilité de deux heures un dimanche coûte plus cher que douze mois d’abonnement, ou s’il n’y a personne d’astreinte. La question n’est pas technique, elle est : qui se lève à trois heures du matin.

Auto-hébergez ce qui est interne, ce qui est reconstructible, ce qui sert à apprendre, et ce dont le coût managé est disproportionné par rapport à l’enjeu. Une galerie photo personnelle, une forge, un outil de notes : le pire scénario est une soirée perdue.

Le vrai mélange est plus fin que ça. Ma machine héberge une trentaine de services, et pourtant le site que vous lisez est chez un hébergeur managé. Une page statique qui doit répondre depuis partout et survivre à un pic n’a aucune raison de dépendre d’une machine unique à Strasbourg. Le choix se fait service par service, pas une fois pour toutes.

Les erreurs qui coûtent cher

Ne pas superviser. Un serveur qu’on ne surveille pas ne tombe pas moins souvent, il tombe sans qu’on le sache. La supervision est la première chose à installer, avant les services qu’elle surveille.

Ne pas éprouver les sauvegardes. Une sauvegarde qu’on n’a jamais restaurée est une hypothèse. J’ai découvert que ma procédure de restauration rendait [OK] Restauration terminée après 223 erreurs, parce qu’il manquait ON_ERROR_STOP sur psql et --clean sur pg_dump. Elle avait l’air de fonctionner depuis des mois.

Laisser tourner ce qu’on a oublié. Un serveur de test allumé deux semaines chez un fournisseur cloud m’a coûté 30 € pour rien, parce que le mécanisme qui devait l’éteindre vivait dans un service arrêté depuis trois mois. Une machine éteinte reste facturée chez la plupart des fournisseurs : il faut la supprimer, et la suppression doit être portée par un minuteur du système, pas par une application.