IaaS, PaaS et SaaS : les trois modèles de services Cloud
Introduction
Déployer un logiciel dans un environnement Cloud ne signifie pas toujours louer une machine virtuelle dans laquelle ce logiciel sera déployé. Selon les besoins et les contraintes, le fournisseur Cloud peut mettre à disposition une infrastructure, une plateforme, ou mettre à notre disposition le logiciel prêt à l’emploi. Ces trois modes d'hébergement sont des modèles de services Cloud, appelés respectivement IaaS (Infrastructure as a Service), PaaS (Platform as a Service) et SaaS (Software as a Service). Leurs différences résident dans la répartition des tâches et des responsabilités entre le fournisseur et le client : qui installe les logiciels, qui prend en charge les mises à jour, qui gère les incidents matériels et/ou logiciels, qui prend en charge l'évolutivité, etc. ?
Vue d'ensemble des trois modèles de services Cloud
Voici une vue d'ensemble générale des modèles de services Cloud dans laquelle les responsabilités dépendent des services utilisés et de leur configuration :
D'un point de vue macroscopique, voici une vue d'ensemble des responsabilités entre le fournisseur de services Cloud et les clients :
| Modèle | Mis à disposition par le fournisseur au client | Géré par le client | Exemple |
|---|---|---|---|
| IaaS | Des ressources d’infrastructure | Le système d’exploitation, les logiciels nécessaires, l’application et les données | Une machine virtuelle Azure hébergeant un serveur Web et un serveur de bases de données |
| PaaS | Une plateforme | Le déploiement du logiciel, sa configuration, sa sécurité et ses données | Azure App Service ou Azure SQL Database |
| SaaS | Un logiciel prêt à l’emploi | Les utilisateurs, la sécurité, les données et la configuration | Microsoft 365 |
Répartition des responsabilités dans les modèles IaaS, PaaS et SaaS
Dans le cloud, le client et le fournisseur se répartissent les responsabilités selon le modèle de service utilisé. En passant de l’IaaS au PaaS, puis au SaaS, le fournisseur prend en charge davantage de composants techniques. Le client conserve des responsabilités concernant ses données, ses identités, ses accès et les paramètres qu’il contrôle.
| Domaine de responsabilité | IaaS | PaaS | SaaS |
|---|---|---|---|
| Données du client | Client | Client | Client |
| Configuration du service / logiciel | Client | Client | Client |
| Identités et accès | Client | Client | Client |
| Appareils clients | Client | Client | Partagée |
| Applications | Client | Partagée | Partagée |
| Réseau | Client | Partagée | Fournisseur |
| Système d’exploitation | Client | Fournisseur | Fournisseur |
| Plateforme d’exécution | Client | Fournisseur | Fournisseur |
| Virtualisation et serveurs physiques | Fournisseur | Fournisseur | Fournisseur |
| Réseau physique et datacenter | Fournisseur | Fournisseur | Fournisseur |
Une responsabilité partagée signifie que le client et le fournisseur interviennent sur des aspects différents d’un même domaine :
- Applications : en PaaS, le fournisseur gère la plateforme, tandis que le client sécurise son code et sa configuration. En SaaS, le fournisseur exploite l’application, tandis que le client gère notamment ses paramètres, ses accès et ses éventuelles extensions.
- Contrôles réseau : en PaaS, le fournisseur protège l’infrastructure réseau du service, tandis que le client configure les restrictions d’accès disponibles.
- Appareils clients : en SaaS, le fournisseur peut proposer des fonctionnalités de gestion et de protection des terminaux. Le client conserve la responsabilité de leur sécurité et de leur conformité.
La répartition précise dépend du service utilisé, des possibilités de configuration et du contrat établi avec le fournisseur Cloud.
IaaS : une infrastructure à administrer
Avec le modèle de services Cloud IaaS (Infrastructure as a Service), le fournisseur Cloud met à disposition des ressources informatiques telles que des machines virtuelles, du stockage et des accès réseau. Le client choisit et administre le système d’exploitation installé sur ses machines virtuelles, installe les logiciels nécessaires et déploie ses propres applications informatiques.
Par exemple, une entreprise crée une machine virtuelle dans Azure, y installe une version de Windows Server, SQL Server et son application ASP.NET Core. Elle conserve la maîtrise de cette installation, mais doit aussi gérer les mises à jour du système d'exploitation et des logiciels, ainsi que leur configuration.
L’IaaS convient lorsqu’une application a besoin d’un environnement système particulier pour s’exécuter, ou lorsqu’on souhaite migrer un serveur existant avec peu de modifications.
PaaS : une plateforme pour déployer son application
Avec le modèle de services Cloud PaaS, le fournisseur propose également des machines virtuelles, du stockage et des accès réseau, et prend en charge une partie de la plateforme logicielle, comme le système d’exploitation, l'environnement d’exécution, le serveur de base de données, etc. Le client se concentre sur la conception, le développement et la configuration du logiciel, ainsi que sur le schéma de la base de données, et sur la gestion des données par le logiciel.
Par exemple, une équipe déploie son application ASP.NET Core sur Azure App Service et utilise Azure SQL Database pour stocker ses données. Elle n’a pas en charge l'administration des serveurs sous-jacents, ni l'installation du serveur de base de données. Cependant, elle est responsable de son logiciel, de l'authentification des utilisateurs et de leurs droits d'accès, et de la manière dont elle protège les données.
Le PaaS réduit les tâches liées à l’infrastructure. En contrepartie, l’application doit fonctionner dans les possibilités et les contraintes que la plateforme impose.
SaaS : une application prête à utiliser
Avec le modèle de services Cloud SaaS, le fournisseur développe, héberge et exploite le logiciel. Le client l’utilise et le configure selon les fonctions proposées, sans déployer lui-même le logiciel ni administrer les serveurs qui l’hébergent.
Par exemple, Microsoft 365 est une solution SaaS qui fournit, sous la forme d'un abonnement, des logiciels bureautiques et des services de collaboration et de stockage. Le client doit toujours gérer ses utilisateurs, leurs droits d’accès, ses données et certains paramètres de sécurité. SaaS ne signifie donc pas que toute responsabilité est transférée au fournisseur.



