Alternatives à Openshift
OpenShift est la plateforme de développement leader pour les applications conteneurisées sur une base Kubernetes. Toujours plus d’entreprises se tournent vers le gestionnaire de clusters Kubernetes pour constituer la base de leur exploitation et développement d’applications et services conteneurisés. Kubernetes s’est ainsi établi comme un système d’exploitation distribué pour le développement informatique moderne basé sur des conteneurs.
La plateforme OpenShift est proposée par la société Red Hat, qui a forgé sa notoriété en tant qu’éditeur de la distribution Linux professionnelle « Red Hat Enterprise Linux » (RHEL). L’alternative à OpenShift « Rancher » a également été adoptée à ce jour par SUSE, un fournisseur Linux ancestral. Avec « Canonical Kubernetes », une alternative à OpenShift de plus est proposée par un fournisseur Linux bien établi. Outre ces trois grandes plateformes, nous présentons un certain nombre d’alternatives à OpenShift complémentaires et captivantes.
Qu’est-ce qui caractérise une alternative à OpenShift ?
OpenShift est un système puissant qui réunit une multitude de fonctionnalités. En plus de la gestion Kubernetes, son offre englobe un tableau de bord et la visualisation des clusters. Les outils de surveillance et de logging, les pipelines DevOps et le maillage de services (service mesh) complètent la palette de fonctionnalités et facilitent la mise en place d’applications et de services distribués. En résumé, OpenShift et ses alternatives sont des solutions de gestion Kubernetes.
OpenShift a ceci de commun avec les alternatives présentées de « faire fonctionner Kubernetes sous le capot ». Les fonctionnalités vont ici bien au-delà de la simple gestion d’applications conteneurisées. Contrairement à Kubernetes nu, OpenShift et ses alternatives pilotent le déploiement et l’exploitation de clusters Kubernetes distribués au-delà des frontières du Cloud et de l’infrastructure. L’authentification de bout en bout des utilisateurs et la sécurisation des images de conteneurs utilisées renforcent la sécurité des systèmes.
Nous avons retiré de la comparaison les offres qui constituent des alternatives autonomes à Kubernetes. Il s’agit entre autres des projets « Apache Mesos » et « Azk », qui sont décrits dans notre article Alternatives à Kubernetes. De plus, nous avons écarté les offres Kubernetes-as-a-Service (KaaS) de gros fournisseurs de Cloud. L’utilisation de ces dernières est globalement limitée à l’infrastructure Cloud dudit fournisseur. On y retrouve par exemple :
- IONOS Cloud Managed Kubernetes
- Google Kubernetes Engine (GKE)
- Amazon Elastic Kubernetes Service (EKS)
- Azure Kubernetes Service (AKS)
- IBM Cloud Kubernetes Service (IKS)
Le marché des solutions de gestion Kubernetes évolue constamment. Notre article se réfère à la situation d’octobre 2021.
Qu’est-ce que les solutions de gestion Kubernetes ?
Avec Kubernetes, un niveau d’automatisation inégalé est atteint sur une plateforme omniprésente. Toutefois, Kubernetes est en soi le fruit d’une technologie ultra complexe. Toutes les organisations n’ont ni l’expérience ni les capacités pour faire tourner leur propre infrastructure Kubernetes. Un cluster Kubernetes « entièrement managé », également connu sous le nom de « Kubernetes-as-a-Service » (KaaS), résout ce problème : le fournisseur gère un cluster Kubernetes pour le compte du client dans l’environnement Cloud propre au fournisseur. Le client peut ainsi se consacrer entièrement à son cœur de métier.
Une solution de gestion Kubernetes est une couche administrative qui repose sur Kubernetes. Au-delà de l’orchestration des conteneurs, le cycle de vie complet des applications conteneurisées peut être géré. Les clusters Kubernetes mis en œuvre peuvent être hébergés aussi bien que n’importe quelle infrastructure, des Clouds publics aux environnements OpenStack propres, aux serveurs en « bare metal » et à l’informatique de périphérie. L’utilisateur peut ainsi profiter de fonctionnalités complémentaires via Kubernetes sans lier le système à un fournisseur d’infrastructure spécifique.
Pour ce comparatif, nous différencions les solutions entièrement managées des solutions automanagées. Certaines des alternatives à OpenShift n’existent qu’en tant que solution managée. Au final, elles permettent toutefois l’exploitation de clusters de workers au-delà des frontières de l’infrastructure.
Quelles sont les principales fonctionnalités des alternatives à OpenShift ?
Le développement de solutions de gestion Kubernetes est en constante évolution. Si les alternatives à OpenShift disposent de fonctionnalités similaires, elles diffèrent toutefois souvent dans les détails. Voici un aperçu des fonctionnalités majeures :
Fonctionnalité | Explication | Exemples |
---|---|---|
Interfaces utilisateur | Avec quelles interfaces les utilisateurs pilotent-ils le système ? | API, CLI, interface Web |
Système d’exploitation | Quel système d’exploitation est requis pour exploiter les nœuds ? | Ubuntu, RHCOS, RHEL, CentOS, Windows |
Gestion des conteneurs et des clusters | Quel logiciel permet de piloter les conteneurs et les clusters ? | Kubernetes, Docker Swarm, Docker |
Formats de conteneur | Quels formats de conteneur sont pris en charge par la plateforme ? | Containerd, Kata Containers, CRI-O |
Modèle de déploiement | Commet sont déployés les clusters distribués ? | Multi-cloud, Cloud hybride |
DevOps et CI/CD | Quels outils sont intégrés pour DevOps ou l’intégration/le déploiement continus ? | Jaeger, Jenkins |
Infrastructure | Sur quelle infrastructure de calcul peut-on exploiter des nœuds ? | Amazon AWS, Microsoft Azure, vSphere, Bare metal, Edge |
Version d’essai gratuite | Peut-on mettre le système à l’essai avant la conclusion d’un contrat ? | Démo disponible gratuitement, version d’essai après inscription, aucune version d’essai |
Distribution Kubernetes | Quelle distribution Kubernetes est utilisée ? | « Vanilla » Kubernetes, RKE, K3s, MicroK8S |
Licence et éditions | Existe-t-il une édition libre d’utilisation en plus de l’édition propriétaire payée ? | Open Source / Community, Premium / Enterprise |
Surveillance et logging | Quels outils sont inclus pour surveiller l’état du cluster ? | Prometheus, Grafana |
Mise en réseau | Quelles technologies sont incluses pour gérer le réseau entre les clusters ? | Calico, Flannel |
Modèle de prix | Comment chiffrer les coûts ? | Prix par utilisation des ressources, prix par nombre de nœuds, prix par matériel mis à disposition |
Provisionnement | Quel mécanisme est utilisé pour mettre en place les clusters et les conteneurs ? | Helm charts, opérateurs, Charms |
Maillage de services | Comment communiquent les services distribués entre eux ? | Istio, Consul |
Fonctionnalités de sécurité | Quelles sont les fonctionnalités touchant à la sécurité du système ? | Registre de conteneurs sécurisé, contrôles des accès, authentification des utilisateurs |
Comparatif des alternatives à OpenShift
Nous vous proposons un bref aperçu d’OpenShift et une série d’alternatives leaders du marché. Ce faisant, nous détaillons les avantages et inconvénients de l’alternative en question, les différences majeures par rapport à OpenShift et les scénarios d’utilisation particulièrement intéressants. Nous avons comparé les solutions de gestion Kubernetes suivantes :
- Red Hat OpenShift
- SUSE Rancher
- Canonical Kubernetes
- Mirantis Kubernetes Engine (anciennement Docker Enterprise)
- VMware Tanzu (anciennement Pivotal)
- Platform9 Managed Kubernetes
- Giant Swarm
- Portainer
Red Hat OpenShift
Avec OpenShift, la société Red Hat a placé le précurseur des solutions de gestion Kubernetes dans la course. Le logiciel est utilisé pour la mise en place d’environnements d’application et de développement distribués et évolutifs. Red Hat s’est fortement impliquée dans le développement de la technologie dès les débuts de Kubernetes. Le concept essentiel de l’opérateur Kubernetes lui aussi provient à l’origine de Red Hat.
Quels sont les avantages et les inconvénients de Red Hat OpenShift ?
Le plus grand avantage d’OpenShift réside dans la palette de fonctions du système. Outre la gestion de clusters, sont également intégrées des technologies de gestion complète du cycle de vie des applications, y compris le développement, le déploiement, l’exploitation et la maintenance. Red Hat va encore plus loin en fournissant ses propres registres de conteneurs, ainsi qu’un catalogue d’opérateurs.
La large palette de fonctions d’OpenShift se traduit également par une grande complexité du logiciel. L’installation et la maintenance d’OpenShift nécessitent une équipe spécialisée ou une assistance dans le cadre d’une solution gérée. À ces difficultés s’ajoutent les divergences marquées entre la distribution Kubernetes d’OpenShift et la version upstream. En outre, OpenShift ne fonctionne que sur le système d’exploitation Red Hat (« Red Hat Enterprise Linux CoreOS »).
OpenShift présente également des spécificités concernant les images de conteneurs venant à être utilisées. En raison des paramètres de sécurité stricts, il est impossible d’utiliser toutes les images des référentiels libres d’utilisation. Au lieu de faire appel aux Helm charts connus de Kubernetes, OpenShift utilise des modèles d’application propriétaires pour réaliser l’infrastructure. Cependant, les puissants opérateurs OpenShift constituent à ce stade un mécanisme alternatif.
À quels scénarios d’utilisation Red Hat OpenShift est-il voué ?
OpenShift est l’instrument idéal pour mettre en œuvre des stratégies de Cloud hybride, construire et échelonner les applications conteneurisées requises à cet effet. Les organisations qui ont déjà fait leur nid dans l’écosystème Red Hat tirent un clair profit du logiciel.
SUSE Rancher
L’alternative à OpenShift de longue date Rancher a été récupérée par le fournisseur de systèmes d’exploitation SUSE fin 2020. Avec Rancher, c’est une plateforme de gestion Kubernetes puissante et flexible qui est mise à disposition. Le logiciel facilite la gestion de plusieurs clusters Kubernetes au-delà des frontières des différents environnements de Cloud. La palette de fonctions englobe, entre autres, le provisionnement, la surveillance et le logging.
Quels sont les avantages et les inconvénients de SUSE Rancher ?
Outre l’incontournable gestion des clusters, Rancher intègre un certain nombre de technologies intéressantes. Ainsi, « Rancher Kubernetes Engine » (RKE) met à disposition une distribution Kubernetes propre pouvant être entièrement publiée dans le domaine open source. Pour l’utilisation en informatique de périphérie et avec des périphériques IoT, la distribution K3s légère permet également de réaliser des clusters à nœud unique. Des contrôles d’accès de bout en bout conformes à la norme « Open Policy Agency » (OPA) et à la plateforme de stockage Longhorn viennent compléter cette offre.
À quels scénarios d’utilisation SUSE Rancher est-il voué ?
Rancher est particulièrement bien adapté à la gestion de plusieurs clusters Kubernetes avec une interface utilisateur centralisée. Les droits des utilisateurs peuvent être alloués de manière centralisée sur plusieurs clusters.
Canonical Kubernetes
Canonical Kubernetes est une autre solution de gestion Kubernetes proposée par un fournisseur de système d’exploitation bien connu. La distribution Ubuntu Linux développée par Canonical sert de base aux distributions Kubernetes des principaux fournisseurs de Cloud tels que Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS) et Azure Kubernetes Service (AKS). Canonical Kubernetes permet ainsi de réaliser des clusters qui s’étendent au-delà des frontières du Cloud.
Quels sont les avantages et les inconvénients de Canonical Kubernetes ?
Les principaux avantages de Canonical Kubernetes sont la grande flexibilité et les faibles coûts d’utilisation. « Charmed Kubernetes » constitue une approche captivante basée sur les opérateurs pour la mise en place de l’infrastructure. Lesdits « charms » permettent d’intégrer et de gérer en toute transparence des applications basées sur Kubernetes, des conteneurs et des machines virtuelles dans les environnements de Cloud hybride. Seul Ubuntu est utilisé de manière générale comme système d’exploitation.
À quels scénarios d’utilisation Canonical Kubernetes est-il voué ?
Canonical Kubernetes fonctionne sur le plus large spectre de matériel. Les architectures de processeurs x86, ARM, IBM POWER et IBM Z sont ainsi prises en charge ; outre les processeurs (CPU), les processeurs graphiques (GPU) peuvent également être utilisés. La distribution Kubernetes légère « MicroK8s », particulièrement économe en ressources, convient pour une utilisation sur les ordinateurs de bureau et l’informatique de périphérie.
Mirantis Kubernetes Engine
La société Mirantis a racheté « Docker Enterprise Edition » à Docker Inc. en 2019. Depuis, la technologie a été rééditée sous l’appellation « Mirantis Kubernetes Engine ». L’enracinement du logiciel dans l’univers Docker est encore perceptible à ce jour. Par exemple, Docker Swarm est également pris en charge comme gestionnaire de cluster à côté de Kubernetes.
Quels sont les avantages et les inconvénients de Mirantis Kubernetes Engine ?
Mirantis Kubernetes Engine s’adresse à quelques niches intéressantes. Ainsi, outre l’incontournable Linux, Windows est pris en charge comme système d’exploitation fonctionnant sur le nœud. Détail intéressant : les nœuds Linux et Windows se mélangent aisément, et il en va de même pour les nœuds avec Kubernetes et Docker Swarm. Le produit s’adresse aux grands comptes. Une communauté active fait cruellement défaut ; la version d’essai gratuite nécessite une inscription.
À quels scénarios d’utilisation Mirantis Kubernetes Engine est-il voué ?
Cette technologie est particulièrement adaptée aux grandes organisations qui mettent en avant l’expérience des développeurs. En la présence d’une infrastructure basée sur Docker Swarm ou des nœuds Windows, Mirantis Kubernetes Engine permet d’étendre relativement aisément l’infrastructure opérationnelle.
VMware Tanzu
Avec VMware Tanzu, c’est une plateforme Kubernetes du spécialiste de la virtualisation – VMware – qui est proposée. Le produit a été créé à la suite du rachat de la société Pivotal par VMware fin 2019. VMware Tanzu permet de mettre en place des clusters Kubernetes sur l’infrastructure VMwares vSphere. L’interface centralisée « Tanzu Mission Control » intégrée permet de gérer les clusters Kubernetes distribués. Outre les fonctionnalités de développement et d’exploitation d’applications conteneurisées, la surveillance et le logging ainsi que la gestion du réseau et du stockage sont inclus.
Quels sont les avantages et les inconvénients de VMware Tanzu ?
Les avantages de VMware Tanzu sont principalement liés aux outils intégrés. D’une part, le « VMware Tanzu Application Catalog » répertorie les composants et applications open source en permanence. Il existe un registre de conteneurs en propre avec « Harbor ». Cette fonction sauvegarde différents artefacts de build à l’aide de contrôles d’accès basés sur les rôles. Les images de conteneurs stockées dans Harbor sont vérifiées pour détecter d’éventuelles failles de sécurité et vulnérabilités et sont signées comme étant sûres. Lors de l’utilisation de VMware Tanzu, l’accent est mis clairement sur l’utilisation de l’infrastructure vSphere. La prise en charge des autres plateformes de Cloud est moins sophistiquée.
À quels scénarios d’utilisation VMware Tanzu est-il voué ?
VMware Tanzu est particulièrement adapté aux entreprises qui ont déjà trouvé une place dans l’infrastructure vSphere. Outre la version commerciale, il est proposé en version libre d’utilisation avec « VMware Tanzu Community Edition ». Celle-ci peut être téléchargée et installée sur les ordinateurs Linux, Windows et Mac.
Platform9 Managed Kubernetes
La société Platform9 a été fondée par d’anciens ingénieurs de VMware. Le concept au cœur de la plateforme est d’exploiter des logiciels open source établis comme Kubernetes selon l’approche SaaS (Software-as-a-service) pour les clients. Ainsi, il est possible de gérer de façon centralisée des clusters Kubernetes distribués dans différents environnements de Cloud. Platform9 prend en charge le suivi des installations Kubernetes, ce qui réduit la complexité opérationnelle du côté client.
Quels sont les avantages et les inconvénients de Platform9 Managed Kubernetes ?
Le principal avantage de la plateforme réside dans le modèle d’exploitation entièrement managé. Du côté client, il n’est plus nécessaire de se préoccuper des mises à jour du système d’exploitation ou Kubernetes. La structure de prix claire, la documentation complète et une version d’essai gratuite sont autant d’aspects positifs. Même si l’interface Web est déjà légèrement dépassée, les fonctionnalités attendues en standard sont les suivantes : le logiciel « Prometheus » vérifie en permanence la santé des clusters, les logs sont collectés et évalués de manière centralisée. Les applications disponibles dans les référentiels publics Helm peuvent être facilement installées.
À quels scénarios d’utilisation Platform9 Managed Kubernetes est-il voué ?
En tant que niche, Platform9 s’adresse aux opérateurs de télécommunications qui combinent de vastes quantités d’équipements périphériques dans des clusters Kubernetes. La plateforme permet également d’exploiter des applications « héritées » sur la base de machines virtuelles à côté des applications modernes et conteneurisées.
Giant Swarm
Giant Swarm est une plateforme Kubernetes « entièrement managée ». Le logiciel assure l’administration de l’environnement Kubernetes, quelle que soit l’infrastructure Cloud sous-jacente utilisée. Les applications et les services fonctionnant sur Kubernetes sont mis sur le devant de la scène pour le client. Les clusters de gestion et de workers peuvent être managés sous Amazon AWS, Microsoft Azure ou sur site, sur l’infrastructure informatique en propre.
Quels sont les avantages et les inconvénients de Giant Swarm ?
La plateforme rapidement opérationnelle gère et optimise le cycle de vie complet des applications conteneurisées. Contrairement à OpenShift, il suffit d’une journée pour configurer une installation de Giant Swarm. De par la mise en œuvre d’une distribution Kubernetes inchangée, il est relativement facile de déplacer des parties de l’infrastructure entre des environnements de Cloud. Le risque de l’enfermement propriétaire est ainsi minimisé. L’absence de modèle de prix unifié est un point négatif. Au lieu de cela, le client se voit proposé un tarif selon un devis personnalisé.
À quels scénarios d’utilisation Giant Swarm est-il voué ?
Giant Swarm est particulièrement adapté pour piloter des architectures distribuées de microservices. Cela permet de mettre en place et d’échelonner des systèmes robustes et agiles. Ce faisant, le logiciel assure la gestion complexe de l’infrastructure sous-jacente.
Portainer
Contrairement aux alternatives à OpenShift déjà mentionnées, Portainer adopte une approche différente. Il ne s’agit pas d’une plateforme entièrement managée ou de sa propre distribution Kubernetes. Est utilisée au lieu de cela une interface graphique qui harmonise la gestion des déploiements Kubernetes existants. Les équipes de DevOps ont la possibilité de gérer, configurer et sauvegarder de manière centralisée les environnements multi-clusters. Au niveau développeur, le déploiement, l’administration et le dépannage des applications conteneurisées sont facilités.
Quels sont les avantages et les inconvénients de Portainer ?
L’avantage majeur de Portainer réside dans la flexibilité du logiciel. Ainsi, Docker Swarm et Docker peuvent être utilisés pour la gestion de clusters ou de conteneurs en plus de Kubernetes. Portainer est basé sur un logiciel open source et proposé dans une version communautaire libre d’utilisation, ainsi que comme une version payée avec une assistance technique de niveau entreprise. Les logiciels peuvent être installés dans des environnements de Cloud, sur des périphériques ou sur leur propre infrastructure informatique « sur site ». La documentation laisse encore à désirer en raison de la parution relativement récente de Portainer.
À quels scénarios d’utilisation Portainer est-il voué ?
Portainer est particulièrement approprié pour centraliser et unifier la gestion des infrastructures de clusters existantes. La gestion de systèmes basés sur Docker ou Docker Swarm utilisés en plus des systèmes Kubernetes ne pose aucune difficulté.