Ku­ber­netes domine le marché des or­ches­tra­teurs de clusters dis­tri­bués. Aujourd’hui, il existe plusieurs al­ter­na­tives à cette solution, toutes dignes d’intérêt. Chacune possède ses propres avantages et in­con­vé­nients, et se prête à diverses uti­li­sa­tions, des simples clusters locaux pour votre en­vi­ron­ne­ment de dé­ve­lop­pe­ment aux systèmes dis­tri­bués hautement dis­po­nibles avec des dizaines de milliers de nœuds. Nous allons vous présenter le meilleur de ces solutions.

Comment se ca­rac­té­ri­sent les al­ter­na­tives à Ku­ber­netes ?

Avec l’essor de Docker en tant que pla­te­forme de vir­tua­li­sa­tion de con­te­neurs, Ku­ber­netes s’est imposé en tant qu’outil standard dans le domaine de l’or­ches­tra­tion de con­te­neurs. Les fonc­tion­na­li­tés de Ku­ber­netes dépassent toutefois le cadre de la gestion de groupes de con­te­neurs. Ku­ber­netes au­to­ma­tise le dé­ploie­ment, la gestion et la mise à l’échelle des ap­pli­ca­tions con­te­neu­ri­sées. Les ap­pli­ca­tions con­trô­lées grâce à Ku­ber­netes sont à la fois hautement dis­po­nibles, évo­lu­tives et pré­vi­sibles. De plus, Ku­ber­netes prend en charge les fonc­tion­na­li­tés suivantes :

  • Dé­ploie­ment et res­tau­ra­tion au­to­ma­ti­sés des mo­di­fi­ca­tions
  • Dé­cou­verte de services au sein du réseau
  • Or­ches­tra­tion du stockage de masse
  • Mise à l’échelle des ap­pli­ca­tions et des services
  • Trai­te­ment des données par lots

Toutes les al­ter­na­tives à Ku­ber­netes ne proposent pas l’ensemble de ces fonc­tion­na­li­tés ; par ailleurs, nombre d’entre elles offrent des fonc­tion­na­li­tés sup­plé­men­taires par rapport à Ku­ber­netes. Les fonc­tion­na­li­tés pratiques, liées à la gestion des uti­li­sa­teurs, à la sur­veil­lance et à la sécurité, sont par­ti­cu­liè­re­ment po­pu­laires. Certaines de ces al­ter­na­tives font en réalité appel à Ku­ber­netes de manière sous-jacente, tandis que d’autres peuvent être combinées à ce système. Com­men­çons par nous in­té­res­ser aux prin­ci­paux aspects de Ku­ber­netes et de ses al­ter­na­tives.

Pa­ra­mètres de fonc­tion­ne­ment de Ku­ber­netes et de ses al­ter­na­tives

Dif­fé­rentes approches per­met­tent d’exploiter des clusters et des con­te­neurs. Les pa­ra­mètres de fonc­tion­ne­ment décrivent la manière dont sont at­tri­buées et gérées les res­sources. Par ailleurs, ils dé­ter­mi­nent également les en­vi­ron­ne­ments dans lesquels les systèmes peuvent être installés et les types d’ap­pli­ca­tions pouvant être utilisés :

Paramètre de fonc­tion­ne­ment Ex­pli­ca­tion
Modèle de dé­ploie­ment Les clusters peuvent être exploités dans des en­vi­ron­ne­ments Cloud publics, privés et/ou hybrides, ou encore dans plusieurs en­vi­ron­ne­ments
Mise à l’échelle des res­sources Or­ches­tra­tion d’autres con­te­neurs pour la mise à l’échelle ho­ri­zon­tale et al­lo­ca­tion de res­sources in­for­ma­tiques sup­plé­men­taires (pro­ces­seur, support de stockage) pour la mise à l’échelle verticale
Formatage des ap­pli­ca­tions Les ap­pli­ca­tions peuvent être utilisées comme con­te­neurs Docker, dans des machines vir­tuelles ou en tant qu’ap­pli­ca­tions « autonomes » (telles que Windows, Java, etc.)
Gestion du réseau Réseaux définis par logiciel (software defined networks, ou SDN) pour les réseaux su­per­po­sés, prise en charge de la mul­ti­dif­fu­sion, fonc­tion­na­li­tés pair à pair, etc.
Gestion du stockage API de stockage pour dif­fé­rents back-ends de stockage, comme l’API Docker Volume, Ceph ou S3

Tâches de Ku­ber­netes et de ses al­ter­na­tives

Pour exploiter un cluster de con­te­neurs, il ne suffit pas de gérer ceux-ci. En effet, un cluster n’est plei­ne­ment fonc­tion­nel et utile que s’il prend en charge d’autres tâches :

Tâches Ex­pli­ca­tion
Or­ches­tra­tion de con­te­neurs et de clusters Démarrer et arrêter les con­te­neurs et leurs clusters de façon concertée, et leur attribuer des res­sources
Dé­cou­verte de services Iden­ti­fier au­to­ma­ti­que­ment les services au sein d’un réseau à l’aide de pro­to­coles spéciaux
In­té­gra­tion/dé­ve­lop­pe­ment continu(e) Utiliser des pipelines CI/CD pour un dé­ploie­ment continu et stable des mises à jour
Sur­veil­lance et jour­na­li­sa­tion Sur­veil­ler les con­te­neurs et les clusters et stocker de manière struc­tu­rée les données en résultant

Structure de Ku­ber­netes et de ses al­ter­na­tives

Ku­ber­netes et ses al­ter­na­tives sont des logiciels per­met­tant de gérer des clusters dis­tri­bués. Dif­fé­rentes approches per­met­tent de struc­tu­rer ce type de systèmes. Voici les prin­ci­paux points relatifs à la structure :

Structure Ex­pli­ca­tion
Com­po­sants système Le logiciel utilise-t-il un seul fichier binaire ? S’agit-il d’un système de com­po­sants in­te­rac­tifs ?
Pilote Quels pilotes sont dis­po­nibles pour le rac­cor­de­ment de pla­ni­fi­ca­teurs de tâches externes, de back-ends de stockage ou d’appareils physiques ?
In­ter­faces et outils Quel(le)s sont les API et les outils de sur­veil­lance et de jour­na­li­sa­tion (etc.) dis­po­nibles ? Existe-t-il une interface de ligne de commande (command line interface, ou CLI) et/ou une interface graphique Web (graphical user interface ou GUI) ?
Format ou modèles IaC Quelle est la langue définie pour les ins­truc­tions In­fras­truc­ture as Code (IaC) ? HCL, YAML, JSON… ?
Logiciel gratuit à code source ouvert (free and open-source software, ou FOSS) ou version pro­fes­sion­nelle ? Quelles sont les fonc­tion­na­li­tés dis­po­nibles dans les dif­fé­rentes versions ? Existe-t-il une as­sis­tance spéciale ou un accord de niveau de service (service-level agreement ou SLA) ?

Com­pa­rai­son de Ku­ber­netes et de ses al­ter­na­tives

Sur le marché, une large gamme de systèmes offrent aujourd’hui des capacités com­pa­rables à celles de Ku­ber­netes. Ceux-ci se ré­par­tis­sent en trois grandes ca­té­go­ries :

Al­ter­na­tives à Ku­ber­netes Des­crip­tion Exemples
Conteneur en tant que service (Container as a Service, ou CaaS) Permet de gérer un grand nombre de con­te­neurs sans avoir à prendre en charge l’or­ches­tra­tion AWS Fargate
Pla­te­forme en tant que service (Platform as a Service, ou PaaS) basée sur Ku­ber­netes Garantit des fonc­tion­na­li­tés pratiques, ainsi qu’une grande facilité d’uti­li­sa­tion OpenShift, Rancher
Or­ches­tra­teur de con­te­neurs légers Permet d’or­ches­trer des con­te­neurs, tout en étant moins complexe que Ku­ber­netes Docker Swarm, Nomad

D’autres al­ter­na­tives à Ku­ber­netes, comme Apache Mesos et Azk, n’ap­par­tien­nent à aucune de ces trois ca­té­go­ries. Nous allons comparer les systèmes suivants avec Ku­ber­netes :

  • Docker Swarm
  • Apache Mesos
  • AWS Fargate
  • OpenShift
  • Rancher
  • Nomad
  • Azk

Com­men­çons par une courte pré­sen­ta­tion de Ku­ber­netes.

Ku­ber­netes

Ku­ber­netes permet d’exécuter et d’or­ches­trer des groupes d’ap­pli­ca­tions con­te­neu­ri­sées. Sa palette de fonc­tion­na­li­tés comprend la gestion des clusters, la pla­ni­fi­ca­tion, la dé­cou­verte de services, la sur­veil­lance et la gestion des secrets. Avec Ku­ber­netes, il est possible de mettre en œuvre des clusters contenant jusqu’à 5 000 nœuds et 300 000 con­te­neurs. D’abord développé par Google, ce logiciel dépend aujourd’hui de la « Cloud Native Computing Foun­da­tion » (CNCF). Outre Google, d’autres géants de l’in­for­ma­tique tels que Red Hat, Docker et IBM par­ti­ci­pent à son dé­ve­lop­pe­ment continu.

Quels sont les avantages et les in­con­vé­nients de Ku­ber­netes ?

En tant que norme du secteur de l’in­for­ma­tique, Ku­ber­netes et ses im­plé­men­ta­tions peuvent se retrouver dans les in­fras­truc­tures de Cloud public des plus gros four­nis­seurs. De nouvelles évo­lu­tions et de nouveaux outils utiles tels que « Minikube », « Kubeadm » et « K3s » sont mis au point en per­ma­nence pour compléter cette solution. Ceux-ci four­nis­sent des fonc­tion­na­li­tés pratiques per­met­tant de sim­pli­fier l’ins­tal­la­tion et la gestion de Ku­ber­netes et d’exploiter le logiciel sur n’importe quel type de matériel.

Le principal in­con­vé­nient de Ku­ber­netes réside dans sa com­plexité. L’ins­tal­la­tion complète de Ku­ber­netes concerne une demi-douzaine de services in­te­rac­tifs. Cette ins­tal­la­tion demande donc un certain effort, et le logiciel consomme énor­mé­ment de res­sources lorsqu’il s’exécute.

Quels scénarios d’ap­pli­ca­tion con­vien­nent le mieux à Ku­ber­netes ?

Ku­ber­netes peut être utilisé pour mener à bien des projets de Big Data et d’ap­pren­tis­sage au­to­ma­tique né­ces­si­tant l’éco­sys­tème de Ku­ber­netes ou les gra­phiques Helm. En raison de la com­plexité de ce logiciel, Ku­ber­netes convient donc davantage aux grands projets s’étalant sur plusieurs années et disposant d’un budget con­sé­quent. Pour exploiter votre propre ins­tal­la­tion, vous avez besoin d’une équipe à temps plein pour gérer son ad­mi­nis­tra­tion. Vous pouvez également faire appel à des offres Ku­ber­netes gérées dans une in­fras­truc­ture de Cloud public.

Conseil

Consultez notre tutoriel Ku­ber­netes avant d’installer l’or­ches­tra­teur de clusters sur votre or­di­na­teur. Avec IONOS, vous pouvez également opter pour la version gérée de Ku­ber­netes et profiter de tous les avantages de l’en­vi­ron­ne­ment Cloud de IONOS.

Docker Swarm

Docker Swarm est l’outil de Docker per­met­tant d’or­ches­trer des clusters cons­ti­tués de moteurs Docker. Un cluster Swarm est composé de nœuds de ges­tion­naire de Swarm (qui or­chestrent et gèrent le cluster) et de nœuds de travail. Les nœuds de ges­tion­naires at­tri­buent aux nœuds de travail des tâches à traiter.

Quels sont les avantages et les in­con­vé­nients de Docker Swarm en tant qu’al­ter­na­tive à Ku­ber­netes ?

Le principal avantage de Docker Swarm consiste en l’étroite in­té­gra­tion du logiciel à l’éco­sys­tème Docker. Si un moteur Docker est déjà installé, vous pouvez commencer à utiliser Docker Swarm di­rec­te­ment. Pour ce qui est des commandes, vous pouvez utiliser l’interface de ligne de commande de Docker, très populaire. Docker Swarm interagit avec les fonc­tion­na­li­tés de Docker et de Docker Compose et utilise sa propre API Swarm. Le logiciel prend en charge la mise à l’échelle, l’équi­li­brage de charge, la dé­cou­verte de services et les réseaux multihôte.

Comparé di­rec­te­ment avec Ku­ber­netes, Docker Swarm propose moins de pos­si­bi­li­tés de per­son­na­li­sa­tion et moins d’ex­ten­sions. En règle générale, sa palette de fonc­tion­na­li­tés est réduite.

Quels scénarios d’ap­pli­ca­tion con­vien­nent le mieux à Docker Swarm ?

Docker Swarm est par­ti­cu­liè­re­ment adapté à la gestion de petites charges de travail. Si vous utilisez déjà un en­vi­ron­ne­ment Docker, vous pouvez fa­ci­le­ment utiliser celui-ci avec Docker Swarm pour or­ches­trer vos clusters de con­te­neurs.

Apache Mesos

Le projet d’Apache Mesos répond aux mêmes principes que ceux du noyau Linux. C’est toutefois le niveau d’abs­trac­tion de leur im­plé­men­ta­tion qui les dif­fé­ren­cie. Le noyau Mesos s’exécute sur chaque machine du cluster et met à dis­po­si­tion des API pour des ap­pli­ca­tions telles que Hadoop, Spark, Kafka et Elas­tic­search. Avec Mesos, la gestion et la pla­ni­fi­ca­tion des res­sources peuvent être réparties entre centres de données et en­vi­ron­ne­ments Cloud.

Quels sont les avantages et les in­con­vé­nients d’Apache Mesos en tant qu’al­ter­na­tive à Ku­ber­netes ?

Les res­sources in­for­ma­tiques comme le pro­ces­seur, la mémoire de travail et le stockage de masse ne dépendent pas de machines réelles. Des clusters peuvent être mis à l’échelle jusqu’à atteindre des dizaines de milliers de nœuds. Il devient possible d’utiliser des nœuds de ges­tion­naire et d’agent tolérants aux pannes et re­don­dants, fournis avec des mises à jour ne né­ces­si­tant aucune in­ter­rup­tion. Au sein d’un même cluster, vous pouvez donc exploiter si­mul­ta­né­ment des ap­pli­ca­tions Cloud natives et des ap­pli­ca­tions héritées. Le logiciel fonc­tionne sous Linux, macOS et Windows, avec une interface Web dédiée à la gestion de clusters et de con­te­neurs.

Mesos est conçu pour les systèmes contenant de nombreux clusters et né­ces­si­tant une grande évo­lu­ti­vité. Le logiciel fonc­tionne toutefois à un niveau d’abs­trac­tion inférieur à celui de Ku­ber­netes. Il vaut donc mieux éviter de l’utiliser pour les petits clusters (moins d’une douzaine de nœuds).

Quels scénarios d’ap­pli­ca­tion con­vien­nent le mieux à Apache Mesos ?

Apache Mesos peut servir à créer des systèmes tolérants aux pannes et dis­tri­bués de manière élastique. Ce logiciel est par­ti­cu­liè­re­ment adapté aux grands systèmes conçus pour une re­don­dance maximale.

AWS Fargate

AWS Fargate est un moteur de calcul « sans serveur » pour les con­te­neurs, basé sur le modèle de conteneur en tant que service. Pour l’uti­li­sa­tion de Fargate, l’accent est mis sur l’ap­pli­ca­tion plutôt que sur l’in­fras­truc­ture. Pour chaque ap­pli­ca­tion con­te­neu­ri­sée, il est possible de spécifier des exigences en matière de réseau, de stockage de masse, d’évo­lu­ti­vité, etc. Fargate prend en charge la gestion des res­sources né­ces­saires. Ce logiciel fait appel à des tech­no­lo­gies sœurs comme Amazon Elastic Container Service (ECS) et Amazon Elastic Ku­ber­netes Service (EKS).

Quels sont les avantages et les in­con­vé­nients d’AWS Fargate en tant qu’al­ter­na­tive à Ku­ber­netes ?

AWS Fargate se concentre sur le niveau ap­pli­ca­tif ; il s’agit d’ailleurs de son principal argument de vente. Vous n’avez pas à vous occuper de l’ap­pro­vi­sion­ne­ment de l’in­fras­truc­ture ; cela n’engendre donc aucune surcharge associée à l’ad­mi­nis­tra­tion et à la mise à l’échelle du serveur. Fargate adapte les res­sources né­ces­saires de façon élastique : ainsi, il n’est pas né­ces­saire de sur­pro­vi­sion­ner les serveurs pour anticiper les pics de charge. Vous ne payez donc que la capacité de calcul que vous utilisez réel­le­ment. Pour ce qui est de la sécurité, Fargate brille par l’isolation intégrale de ses ap­pli­ca­tions.

AWS Fargate rend l’uti­li­sa­tion de Ku­ber­netes encore plus pratique. Cela peut toutefois s’ac­com­pag­ner d’une aug­men­ta­tion des coûts. De plus, en « pro­té­geant » l’uti­li­sa­teur de la tech­no­lo­gie sous-jacente, celui-ci bénéficie de pos­si­bi­li­tés de contrôle et d’action moins nom­breuses.

Quels scénarios d’ap­pli­ca­tion con­vien­nent le mieux à AWS Fargate ?

Les ap­pli­ca­tions, les API, les ar­chi­tec­tures mi­cro­ser­vices et le trai­te­ment de données par lots peuvent être im­plé­men­tés à l’aide d’AWS Fargate. Fargate exécute des ap­pli­ca­tions con­te­neu­ri­sées qui peuvent évoluer en fonction de vos besoins. Ce logiciel est également utilisé à des fins d’en­traî­ne­ment de l’in­tel­li­gence ar­ti­fi­cielle (IA) et de l’ap­pren­tis­sage au­to­ma­tique (machine learning, ou ML).

OpenShift

La pla­te­forme OpenShift du four­nis­seur Red Hat utilise Ku­ber­netes de manière sous-jacente. OpenShift permet l’or­ches­tra­tion de con­te­neurs et de réseaux, mais aussi la pla­ni­fi­ca­tion et la gestion de res­sources dis­tri­buées et évo­lu­tives. Il est possible de déployer le logiciel dans plusieurs en­vi­ron­ne­ments Cloud, c’est-à-dire aussi bien les Clouds privés de votre propre in­fras­truc­ture in­for­ma­tique que les in­fras­truc­tures Cloud d’Amazon AWS et de Microsoft Azure.

En plus des outils de ligne de commande obli­ga­toires, OpenShift dispose de manière inhérente d’une interface Web intégrée et dédiée au contrôle des fonc­tion­na­li­tés. Comme pour le modèle GitOps, les dé­ve­lop­peurs sont incités à conserver l’ensemble de la con­fi­gu­ra­tion en tant que code. Malgré la res­sem­blance entre leurs deux noms, la tech­no­lo­gie OpenShift n’a aucun lien avec OpenStack.

Quels sont les avantages et les in­con­vé­nients d’OpenShift en tant qu’al­ter­na­tive à Ku­ber­netes ?

OpenShift a pour principal avantage d’offrir aux équipes de dé­ve­lop­pe­ment un en­vi­ron­ne­ment de travail aussi puissant que cohérent. Quel que soit l’en­vi­ron­ne­ment utilisé (Cloud public, privé ou hybride), les dé­ve­lop­peurs utilisent les mêmes approches pour créer, tester et exploiter des ap­pli­ca­tions. Parmi elles, les « pipelines OpenShift » cons­ti­tuent notamment une solution de dé­ve­lop­pe­ment continu (ou con­ti­nuous de­ve­lop­ment).

Les outils de sur­veil­lance et de jour­na­li­sa­tion intégrés re­pré­sen­tent un autre des points forts d’OpenShift. Ils com­pren­nent entre autres Pro­me­theus pour la gestion de la sur­veil­lance et des no­ti­fi­ca­tions, Jaeger pour le suivi des tran­sac­tions, Kali pour les in­ter­faces et la vi­sua­li­sa­tion et Istion pour l’im­plé­men­ta­tion d’ar­chi­tec­tures mi­cro­ser­vices dis­tri­buées. OpenShift dispose également d’un accès au « Catalogue de con­te­neurs » de Red Hat, qui contient des images de con­te­neurs testées et cer­ti­fiées par le four­nis­seur.

Comme de nombreux autres produits de Red Hat, OpenShift est basée sur la dis­tri­bu­tion com­mer­ciale de Linux appelée « Red Hat En­ter­prise Linux » (RHEL). Cette con­trainte crée donc une certaine forme d’en­fer­me­ment pro­prié­taire.

Quels scénarios d’ap­pli­ca­tion con­vien­nent le mieux à OpenShift ?

OpenShift est par­ti­cu­liè­re­ment adapté à la mise en œuvre de stra­té­gies hybrides liées au Cloud, ainsi qu’à la création et à la mise à l’échelle des ap­pli­ca­tions con­te­neu­ri­sées né­ces­saires à une telle réa­li­sa­tion. Ce sont surtout les or­ga­ni­sa­tions déjà habituées à l’éco­sys­tème de Red Hat qui peuvent tirer parti de l’uti­li­sa­tion de ce logiciel.

Rancher

Rancher vient compléter l’offre des al­ter­na­tives basées sur Ku­ber­netes. Cet outil consiste en une pile de logiciels complète et destinée aux équipes s’appuyant sur des con­te­neurs. Ce logiciel permet de relever les défis opé­ra­tion­nels et liés à la sécurité associés à l’ex­ploi­ta­tion de plusieurs clusters Ku­ber­netes. Rancher met à dis­po­si­tion des équipes DevOps une interface de contrôle cen­tra­li­sée et harmonise ainsi la gestion de l’ensemble des clusters Ku­ber­netes d’une or­ga­ni­sa­tion. Sa palette de fonc­tion­na­li­tés englobe l’ap­pro­vi­sion­ne­ment des clusters et les mises à niveau, mais aussi la gestion des uti­li­sa­teurs comme des po­li­tiques.

Quels sont les avantages et les in­con­vé­nients de Rancher en tant qu’al­ter­na­tive à Ku­ber­netes ?

Rancher facilite le dé­ploie­ment des clusters Ku­ber­netes sur des machines physiques et dans des en­vi­ron­ne­ments Cloud publics et privés. Les clusters sont protégés par des po­li­tiques de sécurité globales, grâce à l’uti­li­sa­tion de systèmes cen­tra­li­sés dédiés à l’au­then­ti­fi­ca­tion, au contrôle des accès et à la tra­ça­bi­lité. Le logiciel prévient les erreurs de cluster et met en place, si né­ces­saire, des mesures de re­dres­se­ment et de ré­cu­pé­ra­tion. Rancher fonc­tionne avec diverses dis­tri­bu­tions de Linux et Ku­ber­netes, et évite ainsi tout en­fer­me­ment pro­prié­taire. Ses fonc­tion­na­li­tés pratiques com­pren­nent également la prise en charge d’Active Directory, LDAP et SAML, ainsi que le pro­vi­sion­ne­ment DNS.

Comparée à celle de Ku­ber­netes, la com­mu­nauté propre à Rancher est con­si­dé­ra­ble­ment plus petite. De plus, ce logiciel fonc­tionne uni­que­ment sous Linux.

Quels scénarios d’ap­pli­ca­tion con­vien­nent le mieux à Rancher ?

Rancher est tout par­ti­cu­liè­re­ment indiqué pour la gestion de plusieurs clusters Ku­ber­netes avec une interface cen­tra­li­sée. Les droits d’uti­li­sa­teur peuvent d’ailleurs être attribués sur plusieurs clusters.

Nomad

Nomad de HashiCorp est un outil in­té­res­sant pour l’ad­mi­nis­tra­tion et la pla­ni­fi­ca­tion de clusters. Le logiciel peut être utilisé aussi bien avec Ku­ber­netes qu’en tant qu’al­ter­na­tive autonome. Nomad compte ac­tuel­le­ment parmi les solutions lo­gi­cielles de Cloud et de pro­vi­sion­ne­ment dédiées à l’en­tre­prise. Con­for­mé­ment à la phi­lo­so­phie Unix, HashiCorp pri­vi­lé­gie une approche modulaire. Chaque outil prend donc en charge des at­tri­bu­tions clai­re­ment définies : Terraform est notamment res­pon­sable de l’in­fras­truc­ture en tant que code (IaC), Consul de la dé­cou­verte de services et Vault de la gestion des secrets.

Quels sont les avantages et les in­con­vé­nients de Nomad en tant qu’al­ter­na­tive à Ku­ber­netes ?

En plus des ap­pli­ca­tions con­te­neu­ri­sées ha­bi­tuelles, Nomad prend aussi bien en charge les ap­pli­ca­tions vir­tua­li­sées que les ap­pli­ca­tions tra­di­tion­nelles et « autonomes ». Con­trai­re­ment à Ku­ber­netes, Nomad n’est pas un logiciel constitué de plusieurs com­po­sants système in­te­ra­gis­sant entre eux. En revanche, le logiciel est dis­po­nible sous forme d’un seul fichier binaire et léger. Celui-ci peut être déployé dans des en­vi­ron­ne­ments de dé­ve­lop­pe­ment locaux ou des en­vi­ron­ne­ments Cloud, ainsi que des centres de données privés ou publics.

Quel que soit son en­vi­ron­ne­ment d’uti­li­sa­tion, le confort d’uti­li­sa­tion offert par Nomad ne change pas. Le logiciel peut être utilisé pour déployer des clusters de dizaines de milliers de nœuds sur plusieurs zones de dis­po­ni­bi­lité, régions et centres de données. Sa palette de fonc­tion­na­li­tés comprend également les dé­ploie­ments mul­ti­clus­ter.

Étant donné que Nomad a été développé re­la­ti­ve­ment récemment, son éco­sys­tème reste beaucoup plus faible que celui de Ku­ber­netes. Il n’existe donc pas de solutions Nomad gérées chez les prin­ci­paux four­nis­seurs de Cloud.

Quels scénarios d’ap­pli­ca­tion con­vien­nent le mieux à Nomad ?

Nomad est tout par­ti­cu­liè­re­ment adapté aux équipes de petite taille et de taille moyenne n’étant pas en capacité de s’occuper d’un or­ches­tra­teur complexe. Nomad peut également être utilisé dans une con­fi­gu­ra­tion mé­lan­geant des ap­pli­ca­tions con­te­neu­ri­sées et non con­te­neu­ri­sées (Windows, Java). La sim­pli­cité du logiciel permet aux équipes d’agir ra­pi­de­ment et de répondre aux besoins chan­geants associés à leur activité.

Azk

Azk est un outil mis à dis­po­si­tion des dé­ve­lop­peurs qui constitue une al­ter­na­tive in­té­res­sante à Ku­ber­netes. Il s’agit d’un outil installé lo­ca­le­ment, qui vous permet d’or­ches­trer vos en­vi­ron­ne­ments de dé­ve­lop­pe­ment depuis votre propre machine. Azk fournit une interface de ligne de commande ; un fichier de con­fi­gu­ra­tion du nom de « Azkfile.js » est créé pour chaque projet et a pour but de définir l’en­vi­ron­ne­ment de dé­ve­lop­pe­ment. Cette dé­fi­ni­tion comprend notamment la sélection des images des con­te­neurs Docker, des pa­ra­mètres de réseau et de stockage de masse, mais aussi des variables d’en­vi­ron­ne­ment.

Quels sont les avantages et les in­con­vé­nients d’Azk en tant qu’al­ter­na­tive à Ku­ber­netes ?

Le principal avantage d’Azk est de permettre aux dé­ve­lop­peurs de con­fi­gu­rer fa­ci­le­ment leurs en­vi­ron­ne­ments de dé­ve­lop­pe­ment locaux. En plus d’un ré­fé­ren­tiel central contenant des images des systèmes les plus fré­quem­ment utilisés, le format de fichier « Azkfile » contribue tout par­ti­cu­liè­re­ment à la création d’une bonne ex­pé­rience uti­li­sa­teur ; un « Azkfile » est écrit dans un langage Ja­vaS­cript facile à com­prendre, et donne pour ainsi dire la recette de création d’un en­vi­ron­ne­ment de dé­ve­lop­pe­ment local. Azk permet aussi de générer au­to­ma­ti­que­ment un « Azkfile » sur la base de certaines in­for­ma­tions.

Comme Azk s’adresse prin­ci­pa­le­ment aux dé­ve­lop­peurs Web pro­fes­sion­nels, il n’est ac­tuel­le­ment pas pris en charge par Windows.

Quels scénarios d’ap­pli­ca­tion con­vien­nent le mieux à Azk ?

Azk est tout par­ti­cu­liè­re­ment adapté à l’au­to­ma­ti­sa­tion de l’ins­tal­la­tion et de l’or­ches­tra­tion des en­vi­ron­ne­ments de dé­ve­lop­pe­ment. Ainsi, il est plus facile de définir des en­vi­ron­ne­ments cohérents pour dif­fé­rents projets au sein d’une même équipe.

Aller au menu principal