IaaS vs PaaS vs SaaS : ce qui est fourni, ce que l’on gère, flexibilité, charge d’exploitation

IaaS, PaaS et SaaS classent les services cloud selon ce que fournit le prestataire. L’IaaS (infrastructure as a service) fournit l’infrastructure, comme des machines virtuelles, du stockage et des réseaux, et l’utilisateur gère tout à partir du système d’exploitation. Avec le PaaS (platform as a service), le prestataire fournit aussi le système d’exploitation, le middleware et les environnements d’exécution des langages, et l’utilisateur apporte ses propres applications et données. Le SaaS (software as a service) fournit l’application elle-même, que l’utilisateur se contente d’utiliser dans un navigateur web ou équivalent. Plus on va de l’IaaS vers le SaaS, plus la charge d’exploitation diminue, mais plus la liberté de choix de l’utilisateur se réduit.

CritèreIaaSPaaSSaaS
Ce que fournit le prestataireL’infrastructure : machines virtuelles, stockage, réseaux (y compris les bâtiments, le matériel physique et la couche de virtualisation en dessous)Tout ce que fournit l’IaaS, plus l’OS, le middleware et les environnements d’exécution des langagesTout, jusqu’à l’application
Ce que gère l’utilisateurL’OS, le middleware, les applications et les données ; les mises à jour de l’OS et les correctifs de sécurité lui incombent aussiSes propres applications et données, et leurs réglagesLes données, les comptes utilisateurs et les droits, et les réglages de l’application
Flexibilité pour l’utilisateurÉlevée : on peut choisir et installer n’importe quel OS ou logicielMoyenne : on développe dans les langages et environnements d’exécution pris en charge par le prestataireFaible : on utilise les fonctions et réglages proposés
Charge d’exploitationImportante : l’utilisateur conçoit et réalise les mises à jour de l’OS, la supervision, les sauvegardes, la montée en charge, etc.Faible : le prestataire assure souvent la maintenance de l’environnement d’exécution et la montée en chargeMinimale : le prestataire assure les mises à jour du logiciel et le traitement des incidents
Utilisateurs typiquesIngénieurs d’infrastructure et organisations qui migrent leurs propres serveurs vers le cloudDéveloppeurs d’applicationsPersonnel métier et utilisateurs ordinaires de l’application
Exemple de facturationSouvent à l’usage, selon le nombre de machines virtuelles et les heures de fonctionnement, la capacité de stockage, le transfert de données, etc.Souvent selon le nombre d’exécutions, le temps d’exécution ou les ressources utiliséesSouvent un abonnement mensuel ou annuel par utilisateur
Partage selon le modèle de responsabilité partagéePrestataire jusqu’aux installations physiques et à la couche de virtualisation ; utilisateur à partir de l’OS invitéPrestataire jusqu’à l’OS et à l’environnement d’exécution ; utilisateur pour les applications et les donnéesPrestataire jusqu’à l’application ; les données, les comptes et les réglages d’accès restent à l’utilisateur
Exemples typiquesServices de location de machines virtuelles (serveurs virtuels), stockage en mode bloc, réseaux virtuelsServices qui fournissent un environnement d’exécution d’applications, services de bases de données géréesMessagerie web, traitement de texte et tableurs en ligne, logiciels de groupe, gestion de la relation client (CRM)

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

IaaS
Lorsqu’on veut choisir soi-même l’OS et le middleware, migrer vers le cloud, presque tels quels, des systèmes qui tournaient sur ses propres serveurs, ou exécuter un logiciel à la configuration inhabituelle. En contrepartie, on gère aussi soi-même les mises à jour de l’OS et les réglages de sécurité.
PaaS
Lorsqu’on veut confier la gestion de l’infrastructure au prestataire et se concentrer sur le développement des applications. Il faut développer dans les langages et environnements d’exécution pris en charge par le prestataire.
SaaS
Lorsqu’on veut utiliser tout de suite des fonctions métier courantes comme la messagerie, l’édition de documents ou la gestion des clients, sans développer de logiciel. Les fonctions se limitent à ce qui est proposé.

Questions fréquentes

À laquelle des catégories IaaS, PaaS et SaaS appartient le serverless (FaaS) ?

On fournit seulement le code de la fonction et l’on confie l’environnement d’exécution et la montée en charge au prestataire : on le considère donc généralement comme une forme proche du PaaS. Les services qui fournissent une plateforme d’exécution de conteneurs sont parfois appelés CaaS (container as a service) et placés entre IaaS et PaaS. Ces classifications plus fines varient selon les prestataires et les sources.

Avec le SaaS, la sécurité relève-t-elle entièrement du prestataire ?

Non. Selon le modèle de responsabilité partagée, le prestataire gère tout jusqu’à l’application dans le SaaS, mais les données stockées, les comptes utilisateurs et les mots de passe, les réglages de l’authentification multifacteur et l’étendue du partage de fichiers restent sous la responsabilité de l’utilisateur. Un incident où des fichiers sont rendus visibles par tous par erreur est un problème du côté de l’utilisateur.

Où IaaS, PaaS et SaaS sont-ils définis ?

La source la plus citée est la définition du cloud computing publiée en 2011 par le NIST (National Institute of Standards and Technology) des États-Unis (SP 800-145). Elle définit trois modèles de service pour le cloud : SaaS, PaaS et IaaS.

En quoi l’IaaS diffère-t-il de l’hébergement sur site (on-premises) ?

Sur site, on achète son propre matériel, on l’installe dans ses propres locaux et l’on gère tout, à partir du bâtiment et de l’alimentation électrique. Avec l’IaaS, la gestion des bâtiments, du matériel physique et de la couche de virtualisation est confiée au prestataire, et l’on loue seulement ce dont on a besoin, quand on en a besoin. En contrepartie, les frais d’utilisation courent tant qu’on utilise le service, et les pannes du prestataire nous affectent.

Vérifier vos connaissances

Parmi les services cloud, lequel est celui où le fournisseur met à disposition l'infrastructure (machines virtuelles, stockage, réseaux, etc.), tandis que l'utilisateur installe et gère le système d'exploitation, les intergiciels et les applications ?

  1. ASaaS
  2. BIaaS
  3. CPaaS
Afficher la réponse et l'explication

Réponse : B. IaaS

Les services cloud se classent selon l'étendue de ce que fournit le prestataire. L'IaaS (Infrastructure as a Service) fournit l'infrastructure, comme les machines virtuelles, le stockage et les réseaux, et l'utilisateur gère le système d'exploitation et les applications qui s'exécutent au-dessus. Le PaaS (Platform as a Service) fournit tout jusqu'à l'environnement d'exécution, comme le système d'exploitation et les intergiciels, et le SaaS (Software as a Service) tout jusqu'à l'application, ce qui réduit d'autant ce que l'utilisateur doit gérer.

Dans un service cloud IaaS, qu'est-ce que l'utilisateur gère généralement lui-même ?

  1. ALes bâtiments du centre de données et les installations électriques et de climatisation
  2. BLes équipements physiques, comme les serveurs et le stockage, et la plateforme de virtualisation
  3. CLe système d'exploitation, les intergiciels et les applications qui s'exécutent sur les machines virtuelles
Afficher la réponse et l'explication

Réponse : C. Le système d'exploitation, les intergiciels et les applications qui s'exécutent sur les machines virtuelles

Avec l'IaaS (Infrastructure as a Service), le fournisseur gère les bâtiments, les installations, les équipements physiques et la plateforme de virtualisation, et l'utilisateur gère lui-même tout ce qui se trouve au-dessus, à partir du système d'exploitation des machines virtuelles. Avec le PaaS, le fournisseur gère aussi le système d'exploitation et les intergiciels, et l'utilisateur gère les applications et les données ; avec le SaaS, le fournisseur gère tout jusqu'à l'application, et l'utilisateur gère les données et les paramètres d'utilisation. Le partage des responsabilités entre le fournisseur et l'utilisateur varie ainsi selon le modèle de service.

On utilise un service de base de données managé dans le cloud (un service dans lequel le fournisseur exploite le logiciel de base de données). Selon le modèle de responsabilité partagée, qu'est-ce qui reste en général de la responsabilité de l'utilisateur ?

  1. AL'application des correctifs de sécurité à l'OS des serveurs qui exécutent la base de données et au logiciel de base de données
  2. BLa protection contre les pannes et les intrusions des bâtiments du centre de données et des équipements physiques comme les serveurs
  3. CLa gestion des comptes d'utilisateurs et des privilèges de la base de données, des plages réseau autorisées à se connecter et des données stockées
Afficher la réponse et l'explication

Réponse : C. La gestion des comptes d'utilisateurs et des privilèges de la base de données, des plages réseau autorisées à se connecter et des données stockées

Selon le modèle de responsabilité partagée, le fournisseur de cloud et l'utilisateur se partagent la responsabilité de la sécurité et de l'exploitation, et l'emplacement de la frontière dépend du type de service. Avec un service de base de données managé, le fournisseur se charge non seulement des installations physiques, mais aussi de la mise à jour de l'OS et du logiciel de base de données. En revanche, qui peut accéder à quelles données, quels réseaux peuvent se connecter et quelles données sont stockées restent de la responsabilité de l'utilisateur quel que soit le type de service. Un incident dans lequel une erreur de configuration expose une base de données à Internet est un problème du côté de l'utilisateur.

  1. Avec des fonctions sans serveur (FaaS), il arrive que seul le premier appel d'une fonction qui n'a pas été appelée depuis un certain temps réponde avec quelques centaines de millisecondes à quelques secondes de retard. Quelle explication de ce phénomène est correcte ?
  2. Un stockage cloud est utilisé pour trois usages : (1) le rattacher à une machine virtuelle comme disque, y créer un système de fichiers et y placer les fichiers de données d'une base de données ; (2) le monter depuis plusieurs serveurs en même temps et l'utiliser comme répertoire partagé ; (3) lire et écrire un grand nombre d'images par clé (nom) au moyen d'une API HTTP, et en augmenter la capacité sans la fixer à l'avance. Quelle association de types de stockage convient aux usages (1) à (3) ?
  3. On utilise des machines virtuelles facturées seulement pour la durée d'utilisation, à 40 yens de l'heure (prix fictif). En temps normal, 2 machines tournent en permanence pendant tout le mois (30 jours), et pendant 20 jours ouvrés, 4 machines sont ajoutées 6 heures par jour pour suivre la charge. Quel est le montant facturé pour le mois ?

Questions d'entraînement sur Bases du cloud et des conteneurs

Termes clés expliqués

Modèle de responsabilité partagée (shared responsibility model)
Principe selon lequel, dans l'utilisation du cloud, la responsabilité de la sécurité et de l'exploitation est partagée entre le fournisseur de cloud et l'utilisateur. Le fournisseur est responsable des bâtiments des centres de données et des équipements physiques, et l'utilisateur des données stockées, des comptes et des réglages d'accès, des autorisations de connexion réseau, etc. La frontière entre les deux change selon le type de service : IaaS, PaaS, SaaS ou services managés. De nombreuses fuites d'informations dues à des erreurs de configuration se produisent dans le périmètre de responsabilité de l'utilisateur.
Informatique sans serveur (serverless)
Manière d'exécuter des applications dans laquelle la mise à disposition des serveurs, la gestion de leur nombre et la mise à jour de l'OS sont laissées au fournisseur de cloud, si bien que les utilisateurs n'ont pas à s'en soucier. La forme typique est le FaaS (Function as a Service) : une fonction ne s'exécute qu'à l'arrivée d'une requête ou d'un événement, et la facturation dépend du nombre d'exécutions, de leur durée et de la mémoire utilisée. L'adaptation à la charge est automatique, et presque rien n'est facturé en l'absence d'utilisation. En revanche, il existe des contraintes, comme les démarrages à froid, où le premier appel après une période d'inactivité est lent, et des limites de durée d'exécution.
Hyperviseur
Logiciel permettant d'exécuter plusieurs machines virtuelles sur un même ordinateur. Il répartit CPU, mémoire et périphériques entre les OS des machines virtuelles et les isole les uns des autres. Aussi appelé moniteur de machines virtuelles.
Mise à l'échelle automatique (autoscaling)
Mécanisme qui augmente ou diminue automatiquement le nombre de serveurs ou de conteneurs selon des indicateurs de charge (utilisation CPU, débit de requêtes, longueur d'une file d'attente, etc.). L'ajout de machines s'appelle scale-out et leur retrait scale-in. Le HorizontalPodAutoscaler de Kubernetes calcule le nombre nécessaire par ⌈nombre actuel × valeur actuelle ÷ valeur cible⌉. Les nouvelles instances mettent du temps à devenir opérationnelles : les hausses soudaines de charge sont donc absorbées par une cible qui laisse de la marge, et une période d'attente avant de réduire le nombre est courante, pour que celui-ci ne change pas trop souvent.
Stockage objet (object storage)
Stockage qui conserve les données sous forme d'objets munis d'une clé (nom) et de métadonnées, et les lit et les écrit en entier au moyen d'une API HTTP. Sa capacité peut croître presque sans limite sans être fixée à l'avance, et les données sont en général répliquées sur plusieurs appareils ou sites pour une grande durabilité. Il convient aux images, aux vidéos, aux sauvegardes, aux journaux et aux fichiers des sites web statiques. Il ne convient ni à la réécriture de parties de fichiers comme dans un système de fichiers, ni à l'hébergement des fichiers de données d'une base de données ; pour ces usages, on utilise le stockage en mode bloc, qui fournit des disques virtuels, ou le stockage de fichiers, qui fournit un système de fichiers partagé.
SLA (accord de niveau de service)
Accord entre le fournisseur et l'utilisateur d'un service informatique qui fixe les niveaux de qualité, comme la disponibilité, le temps de réponse, le délai de rétablissement après panne et les horaires d'assistance, ainsi que leur mode de mesure et les conséquences en cas de non-respect.

Comparatifs associés