Un Container-as-a-Service (CaaS) met à votre dis­po­si­tion des pla­te­formes de con­te­neurs sous forme de solutions complètes hébergées via le Cloud. Découvrez le principe de ce service ainsi que quatre des pla­te­formes CaaS les plus po­pu­laires. Vous ap­pren­drez aussi comment vous pouvez utiliser les services de con­te­neurs basés sur le Cloud dans le contexte de votre en­tre­prise.

CaaS, qu’est-ce que c’est ?

CaaS, abré­via­tion de Container-as-a-Service, est un modèle com­mer­cial dans lequel les four­nis­seurs de Cloud computing proposent des services liés à la vir­tua­li­sa­tion basée sur les con­te­neurs en tant que services évolutifs en ligne. Cela permet aux uti­li­sa­teurs de recourir à des services de con­te­neurs sans avoir à fournir l’in­fras­truc­ture né­ces­saire. Il s’agit d’un terme marketing qui se réfère à des modèles de services Cloud existants tels que les services IaaS (In­fras­tuc­ture-as-a-Service), PaaS (Platform-as-a-Service) et SaaS (Software-as-a-Service).

Qu’est-ce qu’un service de conteneur ?

Un service de conteneur est un service de four­nis­seur de Cloud computing qui permet aux uti­li­sa­teurs de dé­ve­lop­per, tester, exécuter ou dis­tri­buer des logiciels à travers des con­te­neurs dits d’ap­pli­ca­tion dans des in­fras­truc­tures in­for­ma­tiques. Il s’agit d’un concept du domaine de Linux, per­met­tant la vir­tua­li­sa­tion au niveau du système d’ex­ploi­ta­tion. Les ap­pli­ca­tions in­di­vi­duelles, y compris toutes les dé­pen­dances comme les bi­blio­thèques et les fichiers de con­fi­gu­ra­tion, sont exécutées sous la forme d’instances en­cap­su­lées. Ceci permet le fonc­tion­ne­ment en parallèle de plusieurs ap­pli­ca­tions avec des exigences dif­fé­rentes sur un même système d’ex­ploi­ta­tion, ainsi que le dé­ploie­ment sur une large gamme de systèmes.

Le CaaS inclut gé­né­ra­le­ment un en­vi­ron­ne­ment de conteneur complet, com­pre­nant des outils d’or­ches­tra­tion, un catalogue d’images (appelé registre), un logiciel de gestion de cluster et un ensemble d’outils de dé­ve­lop­pe­ment et d’API.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avan­ta­geux et cœurs dédiés per­for­mants
  • Sans en­ga­ge­ment pour plus de flexi­bi­lité
  • As­sis­tance par des experts 24h/24 et 7j/7 incluse

Dis­tinc­tion par rapport aux autres services Cloud

Depuis le milieu des années 2000, les en­tre­prises et les uti­li­sa­teurs privés du Cloud computing sont devenus une al­ter­na­tive pour obtenir les res­sources in­for­ma­tiques dans leurs propres locaux (On Premises). En dehors du CaaS, on distingue trois modèles de service : IaaS, PaaS et SaaS.

  • IaaS : l’In­fras­truc­ture-as-a-Service inclut des res­sources ma­té­rielles vir­tuelles telles que la puissance de calcul, l’espace de stockage et la capacité réseau. Les four­nis­seurs IaaS incluent ces éléments de base de l’in­fras­truc­ture in­for­ma­tique sous la forme de machines vir­tuelles (VM) ou de réseaux locaux virtuels (VLAN).
  • PaaS : le niveau in­ter­mé­diaire du modèle de Cloud computing est appelé Platform-as-a-Service. Dans le cadre du PaaS, les four­nis­seurs de Cloud four­nis­sent des pla­te­formes de pro­gram­ma­tion et des en­vi­ron­ne­ments de dé­ve­lop­pe­ment sur Internet. Le PaaS est basé sur l’IaaS.
  • SaaS : le niveau supérieur du modèle de Cloud computing est un niveau d’ap­pli­ca­tion pur. Le Software-as-a-Service cor­res­pond à la mise à dis­po­si­tion de logiciels d’ap­pli­ca­tions sur Internet. Les pro­grammes fournis s’exécutent sur ce modèle de service sur le serveur du four­nis­seur, et non sur le matériel du client.
Image: Présentation des modèles de services Cloud IaaS, PaaS et SaaS
Ce schéma illustre la ré­par­ti­tion des res­pon­sa­bi­li­tés entre l’uti­li­sa­teur et le four­nis­seur Cloud pour les quatre modèles d’hé­ber­ge­ment in­for­ma­tique.

Dans cette ré­par­ti­tion classique des trois modèles établis du Cloud in­for­ma­tique, CaaS pourrait être situé entre IaaS et PaaS. Parmi ces modèles de service, Container-as-a-Service se distingue toutefois par une approche fon­da­men­ta­le­ment dif­fé­rente de la vir­tua­li­sa­tion : la tech­no­lo­gie des con­te­neurs.

De­fi­ni­tion

Les Con­tai­ners-as-a-Service cons­ti­tuent une forme de vir­tua­li­sa­tion basée sur un conteneur qui fournit l’en­vi­ron­ne­ment d’exécution, les outils d’or­ches­tra­tion et les res­sources d’in­fras­truc­ture sous-jacentes via un four­nis­seur de Cloud computing.

Comment fonc­tionne le CaaS ?

Un Container-as-a-Service est un cluster d’or­di­na­teurs dis­po­nible via le Cloud et ac­ces­sible par les uti­li­sa­teurs pour té­lé­char­ger, créer, gérer de manière cen­tra­li­sée et exécuter des ap­pli­ca­tions de con­te­neurs sur la pla­te­forme Cloud. L’in­te­rac­tion avec l’en­vi­ron­ne­ment de conteneur basé sur le Cloud se fait via une interface uti­li­sa­teur graphique (GUI) ou sous forme d’appels d’API. Les tech­no­lo­gies de con­te­neurs dis­po­nibles pour les uti­li­sa­teurs diffèrent selon le four­nis­seur. Cependant, le noyau de chaque pla­te­forme CaaS est un outil d’or­ches­tra­tion (aussi appelé or­ches­tra­tor), qui permet de gérer des ar­chi­tec­tures complexes de con­te­neurs. Les fonctions suivantes sont im­por­tantes :

  • Ré­par­ti­tion de con­te­neurs sur plusieurs hôtes
  • Re­grou­pe­ment de con­te­neurs en unités logiques
  • Mise à l’échelle des con­te­neurs
  • Ré­par­ti­tion de charge (load balancing)
  • Dis­tri­bu­tion des capacités de stockage
  • Interface de com­mu­ni­ca­tion entre les con­te­neurs
  • Dé­cou­verte de services

L’or­ches­tra­teur utilisé dans le cadre de CaaS a une influence directe sur les fonctions dis­po­nibles pour les uti­li­sa­teurs du service Cloud. Aujourd’hui, le marché de la vir­tua­li­sa­tion en conteneur est dominé par les outils d’or­ches­tra­tion suivants : Docker Swarm, Ku­ber­netes, OpenShift et Amazon Elastic Container Service (ECS).

Conseil

Découvrez dans le Digital Guide des articles dédiés aux outils d’or­ches­tra­tion les plus utilisés et à l’éco­sys­tème Docker. Vous y trouverez également un com­pa­ra­tif détaillé entre OpenShift et Ku­ber­netes.

Quelles sont les ca­rac­té­ris­tiques d’un bon four­nis­seur CaaS ?

Lors du choix d’un service CaaS pour une uti­li­sa­tion en en­tre­prise, les uti­li­sa­teurs devraient être guidés par les questions suivantes :

  • Quels outils d’or­ches­tra­tion sont dis­po­nibles ?
  • Quels formats de fichiers sont pris en charge pour les ap­pli­ca­tions de con­te­neurs ?
  • Est-il possible d’utiliser des ap­pli­ca­tions multi-con­te­neurs ?
  • Comment les clusters sont-ils gérés pour le fonc­tion­ne­ment du conteneur ?
  • Quelles fonctions réseau et stockage sont prises en charge ?
  • Le four­nis­seur offre-t-il un registre privé pour les images de con­te­neurs ?
  • Dans quelle mesure l’en­vi­ron­ne­ment d’exécution du conteneur est-il intégré à d’autres services Cloud ?
  • Quels sont les modèles de fac­tu­ra­tion dis­po­nibles ?

Aperçu des four­nis­seurs CaaS

La tech­no­lo­gie des con­te­neurs est en plein essor. La gamme de services CaaS est également im­por­tante. Les services de vir­tua­li­sa­tion au niveau du système d’ex­ploi­ta­tion sont proposés par la majorité des four­nis­seurs de Cloud public. Amazon, Microsoft, Google ainsi que IONOS, qui comptent ac­tuel­le­ment parmi les acteurs les plus influents sur le marché des CaaS, ont étendu leurs pla­te­formes Cloud avec une solution de conteneur basée sur Docker au cours des dernières années.

Note

Docker est la pla­te­forme de conteneur la plus im­por­tante et la plus populaire du marché. Le format de conteneur développé par Docker, un dé­ve­lop­pe­ment ultérieur du conteneur Linux (LXC), est largement utilisé et pris en charge par tous les four­nis­seurs CaaS.

IONOS Cloud Managed Ku­ber­netes

Le Managed Ku­ber­netes est la pla­te­forme idéale pour des ap­pli­ca­tions de con­te­neurs per­for­mantes et hautement évo­lu­tives. Le service est dis­po­nible di­rec­te­ment via le IONOS Cloud Panel et combine la pla­te­forme IONOS IaaS avec les tech­no­lo­gies de con­te­neurs leaders du marché Docker et Ku­ber­netes.

Image: Site Web du produit IONOS Managed Kubernetes
IONOS Cloud Managed Ku­ber­netes : hé­ber­ge­ment de clusters, dé­ploie­ment de con­te­neurs et or­ches­tra­tion, le tout en un seul package.

La solution CaaS de IONOS s’adresse aux dé­ve­lop­peurs et aux en­tre­prises in­for­ma­tiques et permet de déployer, de gérer et de faire évoluer des ap­pli­ca­tions basées sur des con­te­neurs dans des clusters Ku­ber­netes. L’éventail des fonctions comprend :

  • des nœuds Cloud gérés avec des res­sources serveur dédiées
  • une gestion in­di­vi­duelle des clusters
  • un accès complet aux con­te­neurs d’ap­pli­ca­tions
  • une or­ches­tra­tion per­son­na­li­sée
  • une as­sis­tance spé­cia­li­sée pour l’uti­li­sa­tion et la création de clusters de con­te­neurs dans le Cloud Panel par le support de premier niveau de IONOS
  • la com­mu­nauté IONOS Cloud

L’as­sis­tance IONOS s’étend au dé­ploie­ment et à la gestion du cluster de con­te­neurs, mais pas à kubectl ou au tableau de bord Ku­ber­netes.

Via le Cloud Panel de IONOS, les uti­li­sa­teurs disposent en un clic de diverses ap­pli­ca­tions tierces telles que Fabric8, Helm, GitLab ou Au­tos­ca­ler.

Le service en ligne DockerHub peut être intégré comme registre pour les images Docker.

IONOS Cloud Managed Ku­ber­netes permet la mise en place en­tiè­re­ment au­to­ma­tique de clusters Ku­ber­netes. Le service est en­tiè­re­ment gratuit : vous ne payez que pour l’in­fras­truc­ture Cloud IONOS réel­le­ment utilisée.

Avantages In­con­vé­nients
Com­pa­ti­bi­lité totale avec Ku­ber­netes Pas de support logiciel pour kubectl et Ku­ber­netes
Large choix de solutions tierces préins­tal­lées
Grande por­ta­bi­lité
Managed Ku­ber­netes de IONOS Cloud
Or­ches­trez vos charges de travail en toute sécurité

Managed Ku­ber­netes est la pla­te­forme idéale pour des ap­pli­ca­tions de con­te­neurs per­for­mantes et hautement évo­lu­tives.

Amazon Elastic Container Service (ECS)

Depuis avril 2015, l’en­tre­prise de e-commerce Amazon met à dis­po­si­tion des solutions de vir­tua­li­sa­tion basées sur des con­te­neurs sous le nom d’Amazon Elastic Container Service (ECS), et ce dans le cadre de sa pla­te­forme de Cloud computing AWS (Amazon Web Service). Comme le service de IONOS, ECS supporte ex­clu­si­ve­ment les con­te­neurs au format Docker.

FnFvpIsBrog.jpg Pour afficher cette vidéo, des cookies de tiers sont né­ces­saires. Vous pouvez consulter et modifier vos pa­ra­mètres de cookies ici.

Amazon ECS propose aux uti­li­sa­teurs dif­fé­rentes in­ter­faces qui per­met­tent d’exploiter des ap­pli­ca­tions isolées d’Amazon Elastic Compute Cloud (EC2). Ce service CaaS est basé sur les res­sources Cloud suivantes :

  • Instances Amazon-EC2 (Instances d’Amazon Elastic Compute Cloud) : Amazon EC2 consiste en une capacité de calcul évolutive du service In­for­ma­tique Amazon Cloud, sous la forme d’instances.
  • Amazon S3 (Amazon Simple Storage) : Amazon S3 est une pla­te­forme de stockage basée sur le Cloud.
  • Amazon EBS (Amazon Elastic Block Store) : Amazon EBS fournit des volumes de stockage en blocs de haute dis­po­ni­bi­lité pour les instances EC2.
  • Amazon RDS (Amazon Re­la­tio­nal Database Service) : Amazon RDS est un service de base de données pour la gestion des moteurs de bases de données re­la­tion­nelles Amazon Aurora, Post­greSQL, MySQL, MariaDB, Oracle et Microsoft SQL Server.

La gestion des con­te­neurs se fait par défaut avec ECS à l’aide d’un or­ches­tra­teur pro­prié­taire, qui agit en tant que maître et com­mu­nique avec un agent sur chaque nœud du cluster à gérer. Une al­ter­na­tive est proposée avec Blox, un module open source qui permet d’intégrer dans ECS des or­don­nan­ceurs dé­ve­lop­pés en interne ainsi que des outils tiers comme Mesos.

L’un des points forts de l’Amazon EC2 Container Service est son in­té­gra­tion avec d’autres services Amazon, comme service de gestion des identités AWS IAM AWS Identity and Access Ma­na­ge­ment (IAM), l’équi­li­breur de charge Elastic Load Balancing ou encore le service de sur­veil­lance Amazon Cloud­Watch.

Un in­con­vé­nient de l’Amazon EC2 Container Service est sa li­mi­ta­tion aux instances EC2. Le service CaaS d’Amazon ne propose aucun support pour les in­fras­truc­tures in­for­ma­tiques en dehors d’AWS, qu’elles soient physiques ou vir­tuelles. Les scénarios Cloud hybride ne sont donc pas possibles, pas plus que la com­bi­nai­son des res­sources in­for­ma­tiques de dif­fé­rents four­nis­seurs de Cloud public (multi-Cloud). Cela s’explique pro­ba­ble­ment par le modèle com­mer­cial dans lequel Amazon propose son service CaaS : en effet, le service de con­te­neurs Amazon EC2 est dis­po­nible gra­tui­te­ment via AWS. Vous ne payez que pour la mise à dis­po­si­tion de l’in­fras­truc­ture Cloud ; par exemple pour un cluster d’instances EC2 qui sert de base à l’ex­ploi­ta­tion d’ap­pli­ca­tions de con­te­neurs.

Avantages In­con­vé­nients
In­té­gra­tion avec d’autres produits AWS Le dé­ploie­ment de con­te­neurs est limité aux instances EC2 d’Amazon
Uti­li­sable gra­tui­te­ment (sauf l’in­fras­truc­ture sous-jacente qui est payante) Or­ches­tra­teur pro­prié­taire

Google Ku­ber­netes Engine (GKE)

Google propose un service de con­te­neurs hébergé dans le Cloud public avec Google Ku­ber­netes Engine (GKE). Le composant principal de ce service CaaS est l’outil d’or­ches­tra­tion Ku­ber­netes.

pQ87vVMZK-A.jpg Pour afficher cette vidéo, des cookies de tiers sont né­ces­saires. Vous pouvez consulter et modifier vos pa­ra­mètres de cookies ici.

GKE a recours aux res­sources du Google Compute-Engine (GCE) et permet aux uti­li­sa­teurs d’exploiter des ap­pli­ca­tions basées sur des con­te­neurs sur des clusters dans le Cloud Google. GKE ne se limite pas à l’in­fras­truc­ture Google : le système de fé­dé­ra­tion de clusters de l’or­ches­tra­teur Ku­ber­netes permet de combiner des res­sources de dif­fé­rents clusters d’or­di­na­teurs en une fé­dé­ra­tion in­for­ma­tique logique, et, si né­ces­saire, en scénarios hybrides et multi-Cloud.

Chaque cluster créé avec GKE se compose d’un nœud final principal Ku­ber­netes sur lequel s’exécutent le serveur d’API Ku­ber­netes et un nombre quel­conque de nœuds de travail qui traitent les demandes REST vers l’API Serveurs, le support des con­te­neurs Docker.

GKE prend également en charge le format de conteneur Docker largement utilisé. Pour mettre à dis­po­si­tion des images Docker, les uti­li­sa­teurs disposent d’un registre de con­te­neurs privé. Une syntaxe basée sur JSON offre la pos­si­bi­lité de définir des services de conteneur en tant que modèles.

L’in­té­gra­tion de Ku­ber­netes dans GKE offre aux uti­li­sa­teurs les fonctions suivantes pour l’or­ches­tra­tion d’ap­pli­ca­tions de con­te­neurs :

  • Automatic Bin­pa­cking : Ku­ber­netes place au­to­ma­ti­que­ment les con­te­neurs en fonction des con­traintes et des res­sources né­ces­saires pour que le cluster soit chargé de manière optimale.
  • Contrôle de l’état de santé avec ré­pa­ra­tion au­to­ma­tique : Ku­ber­netes s’assure que tous les nœuds et con­te­neurs fonc­tion­nent cor­rec­te­ment grâce à des bilans de santé au­to­ma­tiques (health checks) et peut procéder à des ré­pa­ra­tions sans in­ter­ven­tion manuelle (auto-repair).
  • Échelle ho­ri­zon­tale : avec Ku­ber­netes, les ap­pli­ca­tions peuvent être étendues à la hausse ou à la baisse.
  • Service-Discovery et Load-Balancing: les services peuvent être détectés via des variables d’en­vi­ron­ne­ment et des en­re­gis­tre­ments DNS. L’équi­li­brage de charge entre dif­fé­rents con­te­neurs est réalisé via des adresses IP et des noms DNS.
  • Or­ches­tra­tion du stockage : Ku­ber­netes permet le stockage au­to­ma­tique de dif­fé­rents systèmes de stockage.

En ce qui concerne la ta­ri­fi­ca­tion du service CaaS, Google prend une autre voie qu’Amazon. Dans l’édition de base gratuite, il est possible d’utiliser un crédit mensuel de 74,40 USD par compte de fac­tu­ra­tion, ap­pli­cable aux clusters zonaux et Autopilot. Dans les éditions « Ku­ber­netes », la fac­tu­ra­tion se fait à l’heure et par vCPU ou cluster. Les coûts de l’édition « Compute » sont basés sur les prix du Compute Engine.

Avantages In­con­vé­nients
In­té­gra­tion avec d’autres produits Google Courbe d’ap­pren­tis­sage assez raide
In­te­ro­pé­ra­bi­lité Peut ra­pi­de­ment devenir coûteux

Microsoft Azure Ku­ber­netes Service (AKS)

Azure Ku­ber­netes Service (AKS) est un en­vi­ron­ne­ment d’hé­ber­ge­ment optimisé pour la pla­te­forme Microsoft Cloud computing, Azure, qui permet aux uti­li­sa­teurs de dé­ve­lop­per des ap­pli­ca­tions con­te­neu­ri­sées et de les déployer en clusters d’or­di­na­teurs évolutifs. AKS s’appuie sur une version Azure optimisée open source d’outils de con­te­neurs et permet l’uti­li­sa­tion de con­te­neurs Linux et Windows au format Docker.

Image: Site Web du produit Microsoft Azure Kubernetes Service (AKS)
Capture d’écran du site Web Azure Ku­ber­netes Service (AKS). / Source : https://azure.microsoft.com/fr-fr/products/ku­ber­netes-service/

Les fonctions dis­po­nibles pour les uti­li­sa­teurs AKS dans l’ex­ploi­ta­tion des ap­pli­ca­tions con­te­neu­ri­sées dans le Cloud Azure dépendent du choix de l’or­ches­tra­tion.

Dans la version Docker Swarm, AKS s’appuie sur la Suite Docker, utilisant les mêmes tech­no­lo­gies open source que le Dockers Universal Control Plane (composant de base du Docker Da­ta­cen­ter). Im­plé­menté dans Azure Container Service, Docker Swarm offre les fonc­tion­na­li­tés suivantes pour l’or­ches­tra­tion et la mise à l’échelle des ap­pli­ca­tions de con­te­neurs.

  • Docker Compose : la solution de Docker pour les ap­pli­ca­tions multi-con­te­neurs permet de relier plusieurs con­te­neurs entre eux, et de les gérer de manière cen­tra­li­sée avec une seule commande.
  • Contrôle via la ligne de commande : le Docker CLI (Command Line Interface) et l’outil multi-con­te­neurs Docker Compose per­met­tent l’ad­mi­nis­tra­tion directe des clusters de con­te­neurs via la ligne de commande.
  • REST API : l’API Docker Remote permet d’accéder à divers outils d’éco­sys­tème Docker tiers.
  • Dé­ploie­ment de con­te­neurs basé sur des règles per­son­na­li­sées : la dis­tri­bu­tion des con­te­neurs Docker dans le cluster peut être gérée via des éti­quettes et des con­traintes.
  • Service-Discovery : Docker Swarm propose aux uti­li­sa­teurs diverses fonctions de dé­cou­verte de services.

Par ailleurs, Microsoft présente des fonctions CI/CD (in­té­gra­tion continue de dé­ploie­ment) avec AKS pour les ap­pli­ca­tions multi-con­te­neurs, dé­ve­lop­pées avec Visual Studio Team Services ou l’outil open source Visual Studio Code.

La gestion des identités et des accès chez Azure est pilotée par Active Directory, dont les fonctions de base sont gratuites pour les uti­li­sa­teurs jusqu’à 500 000 ré­per­toires d’objets. Comme pour Amazon ECS, le service Azure Ku­ber­netes Service n’implique aucun frais pour l’uti­li­sa­tion des outils de conteneur. Des frais ne sont facturés que pour l’uti­li­sa­tion de l’in­fras­truc­ture sous-jacente.

Avantages In­con­vé­nients
En­tiè­re­ment intégré à la pla­te­forme Cloud Azure Choix de systèmes d’ex­ploi­ta­tion limité
Supporte tous les outils d’or­ches­tra­tion standard
Aller au menu principal