Un Container-as-a-Service (CaaS) met à votre disposition des plateformes de conteneurs sous forme de solutions complètes hébergées via le Cloud. Découvrez le principe de ce service ainsi que quatre des plateformes CaaS les plus populaires. Vous apprendrez aussi comment vous pouvez utiliser les services de conteneurs basés sur le Cloud dans le contexte de votre entreprise.

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

CaaS, abréviation de Container-as-a-Service, est un modèle commercial dans lequel les fournisseurs de Cloud computing proposent des services liés à la virtualisation basée sur les conteneurs en tant que services évolutifs en ligne. Cela permet aux utilisateurs de recourir à des services de conteneurs sans avoir à fournir l’infrastructure nécessaire. Il s’agit d’un terme marketing qui se réfère à des modèles de services Cloud existants tels que les services IaaS (Infrastucture-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 fournisseur de Cloud computing qui permet aux utilisateurs de développer, tester, exécuter ou distribuer des logiciels à travers des conteneurs dits d’application dans des infrastructures informatiques. Il s’agit d’un concept du domaine de Linux, permettant la virtualisation au niveau du système d’exploitation. Les applications individuelles, y compris toutes les dépendances comme les bibliothèques et les fichiers de configuration, sont exécutées sous la forme d’instances encapsulées. Ceci permet le fonctionnement en parallèle de plusieurs applications avec des exigences différentes sur un même système d’exploitation, ainsi que le déploiement sur une large gamme de systèmes.

Le CaaS inclut généralement un environnement de conteneur complet, comprenant des outils d’orchestration, un catalogue d’images (appelé registre), un logiciel de gestion de cluster et un ensemble d’outils de développement et d’API.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avantageux et cœurs dédiés performants
  • Sans engagement pour plus de flexibilité
  • Assistance par des experts 24h/24 et 7j/7 incluse

Distinction par rapport aux autres services Cloud

Depuis le milieu des années 2000, les entreprises et les utilisateurs privés du Cloud computing sont devenus une alternative pour obtenir les ressources informatiques dans leurs propres locaux (On Premises). En dehors du CaaS, on distingue trois modèles de service : IaaS, PaaS et SaaS.

  • IaaS : l’Infrastructure-as-a-Service inclut des ressources matérielles virtuelles telles que la puissance de calcul, l’espace de stockage et la capacité réseau. Les fournisseurs IaaS incluent ces éléments de base de l’infrastructure informatique sous la forme de machines virtuelles (VM) ou de réseaux locaux virtuels (VLAN).
  • PaaS : le niveau intermédiaire du modèle de Cloud computing est appelé Platform-as-a-Service. Dans le cadre du PaaS, les fournisseurs de Cloud fournissent des plateformes de programmation et des environnements de développement sur Internet. Le PaaS est basé sur l’IaaS.
  • SaaS : le niveau supérieur du modèle de Cloud computing est un niveau d’application pur. Le Software-as-a-Service correspond à la mise à disposition de logiciels d’applications sur Internet. Les programmes fournis s’exécutent sur ce modèle de service sur le serveur du fournisseur, 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épartition des responsabilités entre l’utilisateur et le fournisseur Cloud pour les quatre modèles d’hébergement informatique.

Dans cette répartition classique des trois modèles établis du Cloud informatique, CaaS pourrait être situé entre IaaS et PaaS. Parmi ces modèles de service, Container-as-a-Service se distingue toutefois par une approche fondamentalement différente de la virtualisation : la technologie des conteneurs.

Definition

Les Containers-as-a-Service constituent une forme de virtualisation basée sur un conteneur qui fournit l’environnement d’exécution, les outils d’orchestration et les ressources d’infrastructure sous-jacentes via un fournisseur de Cloud computing.

Comment fonctionne le CaaS ?

Un Container-as-a-Service est un cluster d’ordinateurs disponible via le Cloud et accessible par les utilisateurs pour télécharger, créer, gérer de manière centralisée et exécuter des applications de conteneurs sur la plateforme Cloud. L’interaction avec l’environnement de conteneur basé sur le Cloud se fait via une interface utilisateur graphique (GUI) ou sous forme d’appels d’API. Les technologies de conteneurs disponibles pour les utilisateurs diffèrent selon le fournisseur. Cependant, le noyau de chaque plateforme CaaS est un outil d’orchestration (aussi appelé orchestrator), qui permet de gérer des architectures complexes de conteneurs. Les fonctions suivantes sont importantes :

  • Répartition de conteneurs sur plusieurs hôtes
  • Regroupement de conteneurs en unités logiques
  • Mise à l’échelle des conteneurs
  • Répartition de charge (load balancing)
  • Distribution des capacités de stockage
  • Interface de communication entre les conteneurs
  • Découverte de services

L’orchestrateur utilisé dans le cadre de CaaS a une influence directe sur les fonctions disponibles pour les utilisateurs du service Cloud. Aujourd’hui, le marché de la virtualisation en conteneur est dominé par les outils d’orchestration suivants : Docker Swarm, Kubernetes, OpenShift et Amazon Elastic Container Service (ECS).

Conseil

Découvrez dans le Digital Guide des articles dédiés aux outils d’orchestration les plus utilisés et à l’écosystème Docker. Vous y trouverez également un comparatif détaillé entre OpenShift et Kubernetes.

Quelles sont les caractéristiques d’un bon fournisseur CaaS ?

Lors du choix d’un service CaaS pour une utilisation en entreprise, les utilisateurs devraient être guidés par les questions suivantes :

  • Quels outils d’orchestration sont disponibles ?
  • Quels formats de fichiers sont pris en charge pour les applications de conteneurs ?
  • Est-il possible d’utiliser des applications multi-conteneurs ?
  • Comment les clusters sont-ils gérés pour le fonctionnement du conteneur ?
  • Quelles fonctions réseau et stockage sont prises en charge ?
  • Le fournisseur offre-t-il un registre privé pour les images de conteneurs ?
  • Dans quelle mesure l’environnement d’exécution du conteneur est-il intégré à d’autres services Cloud ?
  • Quels sont les modèles de facturation disponibles ?

Aperçu des fournisseurs CaaS

La technologie des conteneurs est en plein essor. La gamme de services CaaS est également importante. Les services de virtualisation au niveau du système d’exploitation sont proposés par la majorité des fournisseurs de Cloud public. Amazon, Microsoft, Google ainsi que IONOS, qui comptent actuellement parmi les acteurs les plus influents sur le marché des CaaS, ont étendu leurs plateformes Cloud avec une solution de conteneur basée sur Docker au cours des dernières années.

Note

Docker est la plateforme de conteneur la plus importante et la plus populaire du marché. Le format de conteneur développé par Docker, un développement ultérieur du conteneur Linux (LXC), est largement utilisé et pris en charge par tous les fournisseurs CaaS.

IONOS Cloud Managed Kubernetes

Le Managed Kubernetes est la plateforme idéale pour des applications de conteneurs performantes et hautement évolutives. Le service est disponible directement via le IONOS Cloud Panel et combine la plateforme IONOS IaaS avec les technologies de conteneurs leaders du marché Docker et Kubernetes.

Image: Site Web du produit IONOS Managed Kubernetes
IONOS Cloud Managed Kubernetes : hébergement de clusters, déploiement de conteneurs et orchestration, le tout en un seul package.

La solution CaaS de IONOS s’adresse aux développeurs et aux entreprises informatiques et permet de déployer, de gérer et de faire évoluer des applications basées sur des conteneurs dans des clusters Kubernetes. L’éventail des fonctions comprend :

  • des nœuds Cloud gérés avec des ressources serveur dédiées
  • une gestion individuelle des clusters
  • un accès complet aux conteneurs d’applications
  • une orchestration personnalisée
  • une assistance spécialisée pour l’utilisation et la création de clusters de conteneurs dans le Cloud Panel par le support de premier niveau de IONOS
  • la communauté IONOS Cloud

L’assistance IONOS s’étend au déploiement et à la gestion du cluster de conteneurs, mais pas à kubectl ou au tableau de bord Kubernetes.

Via le Cloud Panel de IONOS, les utilisateurs disposent en un clic de diverses applications tierces telles que Fabric8, Helm, GitLab ou Autoscaler.

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

IONOS Cloud Managed Kubernetes permet la mise en place entièrement automatique de clusters Kubernetes. Le service est entièrement gratuit : vous ne payez que pour l’infrastructure Cloud IONOS réellement utilisée.

Avantages Inconvénients
Compatibilité totale avec Kubernetes Pas de support logiciel pour kubectl et Kubernetes
Large choix de solutions tierces préinstallées
Grande portabilité
Managed Kubernetes de IONOS Cloud
Orchestrez vos charges de travail en toute sécurité

Managed Kubernetes est la plateforme idéale pour des applications de conteneurs performantes et hautement évolutives.

Amazon Elastic Container Service (ECS)

Depuis avril 2015, l’entreprise de e-commerce Amazon met à disposition des solutions de virtualisation basées sur des conteneurs sous le nom d’Amazon Elastic Container Service (ECS), et ce dans le cadre de sa plateforme de Cloud computing AWS (Amazon Web Service). Comme le service de IONOS, ECS supporte exclusivement les conteneurs au format Docker.

FnFvpIsBrog.jpg Pour afficher cette vidéo, des cookies de tiers sont nécessaires. Vous pouvez consulter et modifier vos paramètres de cookies ici.

Amazon ECS propose aux utilisateurs différentes interfaces qui permettent d’exploiter des applications isolées d’Amazon Elastic Compute Cloud (EC2). Ce service CaaS est basé sur les ressources Cloud suivantes :

  • Instances Amazon-EC2 (Instances d’Amazon Elastic Compute Cloud) : Amazon EC2 consiste en une capacité de calcul évolutive du service Informatique Amazon Cloud, sous la forme d’instances.
  • Amazon S3 (Amazon Simple Storage) : Amazon S3 est une plateforme de stockage basée sur le Cloud.
  • Amazon EBS (Amazon Elastic Block Store) : Amazon EBS fournit des volumes de stockage en blocs de haute disponibilité pour les instances EC2.
  • Amazon RDS (Amazon Relational Database Service) : Amazon RDS est un service de base de données pour la gestion des moteurs de bases de données relationnelles Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle et Microsoft SQL Server.

La gestion des conteneurs se fait par défaut avec ECS à l’aide d’un orchestrateur propriétaire, qui agit en tant que maître et communique avec un agent sur chaque nœud du cluster à gérer. Une alternative est proposée avec Blox, un module open source qui permet d’intégrer dans ECS des ordonnanceurs développés en interne ainsi que des outils tiers comme Mesos.

L’un des points forts de l’Amazon EC2 Container Service est son intégration avec d’autres services Amazon, comme service de gestion des identités AWS IAM AWS Identity and Access Management (IAM), l’équilibreur de charge Elastic Load Balancing ou encore le service de surveillance Amazon CloudWatch.

Un inconvénient de l’Amazon EC2 Container Service est sa limitation aux instances EC2. Le service CaaS d’Amazon ne propose aucun support pour les infrastructures informatiques en dehors d’AWS, qu’elles soient physiques ou virtuelles. Les scénarios Cloud hybride ne sont donc pas possibles, pas plus que la combinaison des ressources informatiques de différents fournisseurs de Cloud public (multi-Cloud). Cela s’explique probablement par le modèle commercial dans lequel Amazon propose son service CaaS : en effet, le service de conteneurs Amazon EC2 est disponible gratuitement via AWS. Vous ne payez que pour la mise à disposition de l’infrastructure Cloud ; par exemple pour un cluster d’instances EC2 qui sert de base à l’exploitation d’applications de conteneurs.

Avantages Inconvénients
Intégration avec d’autres produits AWS Le déploiement de conteneurs est limité aux instances EC2 d’Amazon
Utilisable gratuitement (sauf l’infrastructure sous-jacente qui est payante) Orchestrateur propriétaire

Google Kubernetes Engine (GKE)

Google propose un service de conteneurs hébergé dans le Cloud public avec Google Kubernetes Engine (GKE). Le composant principal de ce service CaaS est l’outil d’orchestration Kubernetes.

pQ87vVMZK-A.jpg Pour afficher cette vidéo, des cookies de tiers sont nécessaires. Vous pouvez consulter et modifier vos paramètres de cookies ici.

GKE a recours aux ressources du Google Compute-Engine (GCE) et permet aux utilisateurs d’exploiter des applications basées sur des conteneurs sur des clusters dans le Cloud Google. GKE ne se limite pas à l’infrastructure Google : le système de fédération de clusters de l’orchestrateur Kubernetes permet de combiner des ressources de différents clusters d’ordinateurs en une fédération informatique logique, et, si nécessaire, en scénarios hybrides et multi-Cloud.

Chaque cluster créé avec GKE se compose d’un nœud final principal Kubernetes sur lequel s’exécutent le serveur d’API Kubernetes et un nombre quelconque de nœuds de travail qui traitent les demandes REST vers l’API Serveurs, le support des conteneurs Docker.

GKE prend également en charge le format de conteneur Docker largement utilisé. Pour mettre à disposition des images Docker, les utilisateurs disposent d’un registre de conteneurs privé. Une syntaxe basée sur JSON offre la possibilité de définir des services de conteneur en tant que modèles.

L’intégration de Kubernetes dans GKE offre aux utilisateurs les fonctions suivantes pour l’orchestration d’applications de conteneurs :

  • Automatic Binpacking : Kubernetes place automatiquement les conteneurs en fonction des contraintes et des ressources nécessaires pour que le cluster soit chargé de manière optimale.
  • Contrôle de l’état de santé avec réparation automatique : Kubernetes s’assure que tous les nœuds et conteneurs fonctionnent correctement grâce à des bilans de santé automatiques (health checks) et peut procéder à des réparations sans intervention manuelle (auto-repair).
  • Échelle horizontale : avec Kubernetes, les applications peuvent être étendues à la hausse ou à la baisse.
  • Service-Discovery et Load-Balancing: les services peuvent être détectés via des variables d’environnement et des enregistrements DNS. L’équilibrage de charge entre différents conteneurs est réalisé via des adresses IP et des noms DNS.
  • Orchestration du stockage : Kubernetes permet le stockage automatique de différents systèmes de stockage.

En ce qui concerne la tarification 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 facturation, applicable aux clusters zonaux et Autopilot. Dans les éditions « Kubernetes », la facturation 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 Inconvénients
Intégration avec d’autres produits Google Courbe d’apprentissage assez raide
Interopérabilité Peut rapidement devenir coûteux

Microsoft Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) est un environnement d’hébergement optimisé pour la plateforme Microsoft Cloud computing, Azure, qui permet aux utilisateurs de développer des applications conteneurisées et de les déployer en clusters d’ordinateurs évolutifs. AKS s’appuie sur une version Azure optimisée open source d’outils de conteneurs et permet l’utilisation de conteneurs Linux et Windows au format Docker.

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

Les fonctions disponibles pour les utilisateurs AKS dans l’exploitation des applications conteneurisées dans le Cloud Azure dépendent du choix de l’orchestration.

Dans la version Docker Swarm, AKS s’appuie sur la Suite Docker, utilisant les mêmes technologies open source que le Dockers Universal Control Plane (composant de base du Docker Datacenter). Implémenté dans Azure Container Service, Docker Swarm offre les fonctionnalités suivantes pour l’orchestration et la mise à l’échelle des applications de conteneurs.

  • Docker Compose : la solution de Docker pour les applications multi-conteneurs permet de relier plusieurs conteneurs entre eux, et de les gérer de manière centralisée avec une seule commande.
  • Contrôle via la ligne de commande : le Docker CLI (Command Line Interface) et l’outil multi-conteneurs Docker Compose permettent l’administration directe des clusters de conteneurs via la ligne de commande.
  • REST API : l’API Docker Remote permet d’accéder à divers outils d’écosystème Docker tiers.
  • Déploiement de conteneurs basé sur des règles personnalisées : la distribution des conteneurs Docker dans le cluster peut être gérée via des étiquettes et des contraintes.
  • Service-Discovery : Docker Swarm propose aux utilisateurs diverses fonctions de découverte de services.

Par ailleurs, Microsoft présente des fonctions CI/CD (intégration continue de déploiement) avec AKS pour les applications multi-conteneurs, développé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 utilisateurs jusqu’à 500 000 répertoires d’objets. Comme pour Amazon ECS, le service Azure Kubernetes Service n’implique aucun frais pour l’utilisation des outils de conteneur. Des frais ne sont facturés que pour l’utilisation de l’infrastructure sous-jacente.

Avantages Inconvénients
Entièrement intégré à la plateforme Cloud Azure Choix de systèmes d’exploitation limité
Supporte tous les outils d’orchestration standard
Cet article vous a-t-il été utile ?
Aller au menu principal