Il a été conçu pour gérer de l’infrastructure, et en ce sens, il vient avec de la complexité et donc des coûts cachés. Or, chez Clever Cloud notre boussole est d’améliorer la productivité, la sécurité et l’autonomie des développeurs.
Depuis, le contexte a changé. Le marché évolue, nos clients également. Nous avons désormais la maturité technologique pour répondre à un tel besoin… à notre manière. Voici pourquoi nous avons pris le temps de créer notre propre version d’ETCD, et pourquoi Kubernetes arrive enfin chez Clever Cloud
Pourquoi nous n’avons pas sauté sur Kubernetes plus tôt
Historiquement, nous n’avons jamais vu Kubernetes comme un levier de simplification. Il est parfois vécu comme une complexité supplémentaire, surtout pour des équipes qui veulent juste déployer, passer à l’échelle et sécuriser leurs applications : se focaliser sur la création de valeur sans consacrer trop de temps sur le reste.
Or le passage à l’échelle engendre souvent des machines à gaz. Nous sommes hébergeurs, autant vous dire que c’est une sacrée échelle qu’il nous faut. Notre orchestrateur développé et enrichi de 15 ans d’ expériences en production permet cela. Via une exécution directe des runtimes (une quinzaine, dont Node.JS, PHP, Rust, Scala, Docker etc), notre orchestration va plus loin dans la finesse du provisionnement et du scaling automatique, la pertinence des mises à jour et la sécurité.
Pour nous, la containerisation n’est pas une fin en soi. Si un runtime existe, nous préférons en simplifier l’usage, le supporter nativement. Cela permet de contrôler les mises à jour de sécurité de l’image de base, sans dépendre du bon vouloir de l’équipe applicative. Pour tout code qui ne correspond pas à un runtime existant, nous proposons naturellement le déploiement dans une image Docker. Cependant, il faut avoir à l’esprit que cette image, nous pouvons la mettre à jour, mais naturellement, nous ne pouvons pas patcher ou mettre à jour le code encapsulé.
Néanmoins, au fil de notre croissance nous rencontrons des prospects de plus en plus gros et utilisateurs de Kubernetes. Le marché demande Kubernetes. De plus en plus de clients veulent une interopérabilité avec leurs outils habituels, une gestion fine de leurs workloads, ou simplement un standard pour leurs équipes. Nous ne pouvions pas l’ignorer.
Le maillon faible de Kubernetes : ETCD
Kubernetes est souvent qualifié de « système d’exploitation du cloud ». Mais comme tout OS, il repose sur un élément données critique : ETCD, une base de données clé-valeur distribuée censée stocker l’état global du cluster. Et là, les ennuis commencent.
ETCD ne tient pas la charge. Son architecture, pensée pour des cas modestes, impose une limite technique dure à 8 Go. Les performances chutent dès qu’on passe à l’échelle, la documentation est lacunaire, et la gouvernance du projet a été fragilisée par des changements successifs de mainteneurs.
Et ce n’est pas pour rien que Google, Microsoft et autres hyperscalers ont réécrit leur version d’ETCD, comme pour le projet k3s qui utilise une base de données PostgreSQL. Quand chaque client possède son propre cluster Kubernetes, cela signifie potentiellement des milliers d’instances ETCD à gérer, chacune avec ses subtilités, ses backups, ses performances variables. C’est un cauchemar opérationnel quand notre métier est le maintien en conditions opérationnelles.
Repenser ETCD à la racine : notre stack maison
Nous avons donc fait ce que Clever Cloud sait faire de mieux : repenser intelligemment. En nous appuyant sur Materia KV, notre base de données serverless clé-valeur, bâtie sur FoundationDB, nous avons réimplémenté ETCD.
Concrètement, nous avons recréé les APIs clés de compatibilité (KeyValue, Watch, Lease, Compaction…) en les interfaçant sur une infrastructure que nous maîtrisons, avec :
- une architecture multi-tenant, pensée pour l’échelle car en utilisant FoundationDB comme base de données, nous pouvons utiliser du scaling horizontal. Habituellement, chaque noeud ajouté dans ETCD ralentit ses performances. Ici, chaque noeud ajouté dans MateriaETCD permet d’accueillir plus de clients sans impact autre;
- une gestion fine des transactions, des droits, des quotas, des statistiques ;
- une stack cohérente et maintenue par nos équipes.
Le résultat : une base de données logiques compatible avec le protocole d’ETCD, rapide, fiable et scalable, le tout reposant sur FoundationDB, et opéré à l’échelle Clever Cloud. Fini les clusters fragiles et les équipes DBA sur-sollicitées : tout est intégré, industrialisé, et instrumentable, profitant de notre écosystème, intégration et application. Mais surtout, cette solution bénéficie d’un fort niveau de résilience, hérité directement de FoundationDB. Grâce à sa simulation continue en environnement distribué, nous sommes capables de valider chaque release logicielle dans des milliers de scénarios de panne simulée. C’est un niveau de robustesse rare, qui nous permet d’anticiper les comportements extrêmes et de garantir une très haute disponibilité de nos services — et donc des vôtres.
Cette approche nous donne une confiance sans précédent dans notre capacité à maintenir des milliers de clusters Kubernetes sans tomber dans le piège d’une complexité opérationnelle exponentielle.
Kubernetes managé par Clever Cloud : une approche souveraine et pragmatique
Nous ne changeons pas notre vision : notre PaaS reste la meilleure solution pour les équipes qui veulent un maximum de productivité et de sécurité avec un minimum d’efforts. Mais nous savons aussi que certaines organisations ont besoin de Kubernetes pour des raisons d’architecture, de portabilité ou de standardisation.
C’est pourquoi notre Kubernetes managé entre aujourd’hui en phase de test privé. Si vous êtes client Clever Cloud et que vous souhaitez le tester, vous pouvez nous contacter dès maintenant pour y accéder.
Notre promesse ? Un Kubernetes intégré, sécurisé, maîtrisé, qui repose sur une fondation technique solide. Un K8S qui respecte l’état de l’art — mais sans les défauts de ses briques historiques, et qui vous laisse, enfin, vous concentrer sur votre métier.