Cinq projets « matures » à la Cloud Native Computing Foundation
Publié par Clément Bohic le - mis à jour à
De Fluentd en avril 2019 à Linkerd en juillet 2021, rappel de cinq projets qui ont atteint le plus haut niveau de maturité à la CNCF.
Quel point commun entre Argo, containerd, Envoy, etcd et le tandem SPIFFE/SPIRE ? Tous ont atteint le stade le plus mature à la CNCF (Cloud Native Computing Foundation). C'est-à-dire qu'ils sont considérés comme stables, largement adoptés et prêts pour un usage en prod.
Nous avions réalisé, en début d'année, une « mini-compilation » réunissant ces projets. En voici une autre, à partir d'outils ayant atteint le même stade.
Fluentd
Créé en 2011, ce collecteur de logs était entré à la CNCF en 2016 et avait atteint la maturité en avril 2019. Codé principalement en C et sous licence Apache 2.0, il s'appuie sur une dizaine de types de plug-in (filtrage, transformation, analyse, stockage...) pour fournir une couche de journalisation unifiée autour du format JSON.
La version de base nécessite 30 à 40 Mo de RAM. Sa capacité de traitement est annoncée à 13 000 événements/seconde/coeur. Il existe une version « légère » sans dépendances pour les environnements en périphérie, avec un catalogue de plug-in toutefois nettement plus limité.
Les deux dernières versions mineures sont sorties à intervalle de 9 mois. Des correctifs sont publiés à rythme mensuel. Il existe une distribution plus stable, évoluant en parallèle du projet communautaire. Cadence : une mineure par an (avec un an de maintenance pour chacune), avec des correctifs tous les trimestres.
Harbor
Codé principalement en Go et sous licence Apache 2.0, ce registre destiné aux environnements cloud avait émergé en 2016. Il était entré à la CNCF en 2018, arrivant à maturité en juin 2020. OVHcloud fait partie de ses utilisateurs.
Harbor prend en charge les images de conteneurs et les modèles Helm. Il assure le scan des vulnérabilités, la synchronisation entre instances et la signature des images avec Notary. L'intervalle moyen entre les dernières versions mineures a été de quatre mois. Avec une distribution mensuelle de correctifs.
Linkerd
Ce maillage de services né en 2015 avait rejoint la CNCF deux ans plus tard, pour atteindre la maturité en juillet 2021. Sous licence Apache 2.0, il repose sur un plan de contrôle implémenté en Go. Et sur son propre plan de données, écrit en Rust. Il s'oppose, sur ce point, à Istio, autre maillage de services qui exploite quant à lui le proxy Envoy.
Le projet met en avant cette base Rust comme gage de sécurité, en plus de l'activation de mTLS par défaut. C'est le cas depuis 2017, année charnière où Linkerd avait fusionné avec Conduit pour s'adapter aux « petits » déploiements, en particulier en sidecar.
Règle générale : seule la dernière version stable est supportée. L'écart est très variable entre les livraisons de correctifs (de quelques semaines à quelques mois). Idem pour les versions mineures (entre six mois et un an pour les dernières).
Rook
Même combo Go / Apache 2.0 pour cet orchestrateur de stockage. Sur Kubernetes, il automatise le déploiement et la configuration de Ceph. La première version publique remonte à 2016. Le projet était entré à la CNCF en 2018. Il avait atteint la maturité en octobre 2020.
Rook a trois versions mineures par an, les deux dernières restant systématiquement en maintenance. Les correctifs sont bimensuels pour la dernière, mensuels pour l'avant-dernière. Le projet entend supporter les six dernières versions de Kubernetes.
Vitess
Entrée à la CNCF en 2018 et maturité en novembre 2019 pour cet outil de clustering destiné à accompagner la mise à l'échelle de MySQL. Codé en Go et sous licence Apache 2.0, il propulse notamment l'infrastructure de base de données de YouTube depuis 2011.
Vitess a droit à une mise à jour majeure tous les cinq mois environ Avec une maintenance pouvant durer jusqu'à un an.
À consulter pour davantage de contexte sur l'écosystème CNCF :
OpenCost : que devient ce projet FinOps pour Kubernetes
Informatique confidentielle : Red Hat investit le projet CoCo
IDQL : le langage qui se voulait standard de l'IAM multicloud
Kubernetes : 5 projets open source à surveiller
Illustration principale ©