Blocs de construction du cloud
- 25 minutes
Le cloud computing permet d’utiliser des ressources informatiques sous forme de service sur le réseau. Avant d’aborder les modèles de service proposés dans un cloud, nous devons réfléchir aux différentes couches de matériels et de logiciels nécessaires pour créer des services cloud. Bien entendu, toutes les exigences de service ne sont pas identiques. Certains utilisateurs du cloud peuvent vouloir seulement accéder à l’infrastructure brute pour créer des applications. D’autres peuvent préférer ne pas s’occuper de l’infrastructure, mais plutôt développer et déployer des applications à l’aide d’une plateforme facile à utiliser. Pour répondre à ces exigences variées, les fournisseurs de services cloud divisent leurs offres en différentes couches abstraites.
Composants du cloud
Ici, nous présentons une abstraction empilée du cloud en exposant les composants classiques, et discutons de leur association avec trois modèles de service dans le cloud computing. Nous présentons quatre composants principaux du cloud computing : les logiciels d’application, les plateformes de développement, le partage des ressources et l’infrastructure, comme illustré dans la Figure 7. L’infrastructure comprend les ressources physiques d’un centre de données. La couche de partage des ressources implique des techniques matérielles et logicielles qui autorisent le partage des ressources physiques tout en offrant un certain niveau d’isolation. Les plateformes de développement sont utilisées pour développer des applications cloud.
Figure 7 : Blocs de construction cloud computing
Logiciel d’application : la couche supérieure de la pile est le logiciel d’application, qui est normalement le composant système utilisé par l’utilisateur final.
Plateformes de développement : la couche suivante, les plateformes de développement, permet aux développeurs d’applications d’écrire des logiciels d’application en termes d’interface de programmation d’applications (API) d’un cloud. Les plateformes de développement fournissent généralement des spécifications que les développeurs peuvent utiliser pour les routines, les structures de données, les classes d’objets, les bibliothèques et les variables.
Partage de ressources : mécanismes de partage de ressources, la troisième couche, incarnent quelques idées clés du cloud :
- Fournir des services logiciels, de calcul, de réseau et de stockage.
- Autoriser un environnement partagé au sein duquel plusieurs images matérielles (par exemple, des machines virtuelles) et images système (par exemple, des OS universels) peuvent être exécutées côte à côte sur une seule infrastructure en isolant la sécurité, les ressources et les pannes. Ces propriétés d’isolation sont fournies par une combinaison de techniques matérielles et logicielles que nous abordons par la suite.
- Regrouper des serveurs physiques en serveurs virtuels fonctionnant sur moins de serveurs physiques.
- Assurer l’agilité et l’élasticité pour répondre rapidement aux demandes des utilisateurs en matière de ressources et de services.
Ces idées sont généralement traitées par la virtualisation, une technologie abordée par la suite dans un autre module.
Infrastructure: Les ressources physiques composent la couche inférieure et, dans le cloud computing, sont principalement déployées côté fournisseur de cloud. Les grandes classes de ressources sont les suivantes :
- Les ressources de calcul, généralement des serveurs, sont des ordinateurs conçus pour l’informatique d’entreprise (par opposition aux postes de travail des utilisateurs). Ceux-ci sont généralement montés en rack pour utiliser l’espace efficacement.
- Ressources de stockage qui gèrent les données du cloud. Le stockage des applications est généralement facturé en termes d’utilisation de la capacité (par exemple, par gigaoctet ou téraoctet).
- Les ressources réseau permettent la communication entre serveurs ainsi qu’entre les serveurs et les clients.
- Les logiciels gèrent l’infrastructure de calcul, de réseau et de stockage.
Par la suite nous aborderons les abstractions qui peuvent être fournies sous forme de service loué sur un réseau. Par exemple, les services et les ressources dont a besoin un développeur de logiciels sont différents de ceux que recherche une personne qui veut avoir accès à une application de messagerie web s’exécutant sur le cloud.
Services de cloud computing
Dans une large mesure, les services cloud varient en fonction des besoins des différents utilisateurs. Cette section passe en revue trois types populaires de services cloud :
- SaaS (software as a service)
- PaaS (platform as a service)
- IaaS (infrastructure as a service)
Une application SaaS est une application logicielle sur le réseau, disponible pour l’utilisateur final, et facturée sur la base de nombreux modèles commerciaux, dont certains sont gratuits. PaaS est l’offre de plateformes de développement logiciel sous forme de service, qui sont utilisées pour développer des applications SaaS. Enfin, IaaS permet de louer une infrastructure virtualisée sur le réseau. Dans ce dernier modèle, l’utilisateur final a la possibilité d’installer et d’utiliser tous les logiciels qu’il souhaite sur l’infrastructure louée.
La vidéo suivante passe en revue ces services :
Modèle SaaS
SaaS (Software as a Service)
(définition) Software as a service (SaaS) est un modèle de livraison de logiciels dans lequel les logiciels et les données associées sont hébergés sur un cloud. Les applications SaaS sont généralement accessibles par les utilisateurs à l’aide d’un client léger via un navigateur web.
SaaS est l’un des modèles de service cloud les plus courants dans lesquels le fournisseur de cloud fournit des logiciels sous la forme d’un service Internet. La vidéo suivante décrit ce scénario. Les utilisateurs de SaaS se servent simplement de leur navigateur pour accéder au logiciel, ce qui évite d’installer, d’exécuter et de gérer (mettre à jour, corriger, reconfigurer, etc.) l’application sur leurs ordinateurs. Le navigateur web charge le service d’application SaaS de manière dynamique et transparente.
SaaS est devenu un modèle courant de fourniture de logiciels pour de nombreuses applications métier, à savoir : comptabilité, collaboration, gestion de la relation client (CRM), systèmes de gestion de l’information (MIS), planification des ressources d’entreprise (ERP), facturation, gestion des ressources humaines (GRH), gestion de contenu et gestion de service desk.
Avec le modèle SaaS, le fournisseur assure la maintenance du logiciel ainsi que de l’infrastructure nécessaire pour l’exécuter. Le fournisseur développe régulièrement le logiciel, et les améliorations sont automatiquement mises à disposition de l’utilisateur à chaque nouvelle connexion au service. Par ailleurs, toutes les données d’application résultant de l’utilisation du service résident dans le cloud et sont disponibles pour l’utilisateur à partir de n’importe quel emplacement.
Caractéristiques du modèle SaaS
Une grande majorité des solutions SaaS reposent sur ce que l’on appelle une architecture multilocataire. Dans cette architecture, une seule version de l’application, avec une seule configuration, est utilisée pour chaque client (appelé locataire). Pour permettre au service d’adapter correctement son échelle, il est possible de l’installer sur plusieurs serveurs côté fournisseur. Une mise à l’échelle dynamique est utilisée pour permettre à davantage d’utilisateurs d’utiliser le service à mesure qu’il gagne en popularité.
Les caractéristiques classiques du modèle SaaS sont les suivantes :
- Accès au service de logiciels via le web.
- Le logiciel est géré par le fournisseur de cloud à partir d’un emplacement central.
- Le logiciel est fourni dans un modèle un à plusieurs dans lequel « un » est le fournisseur de cloud et « plusieurs » désigne les utilisateurs du cloud.
- Le fournisseur de cloud gère les mises à niveau et les correctifs logiciels.
Modèles tarifaires de SaaS
Contrairement aux logiciels traditionnels vendus selon le modèle de licence logicielle (avec un coût de licence initial et des frais de support permanent facultatifs), les fournisseurs de SaaS facturent généralement les applications en appliquant des frais d’abonnement mensuels ou annuels. Ce modèle permet à SaaS d’offrir l’un des principaux avantages du cloud computing : la réduction des dépenses en capital ou du coût initial des logiciels. Les fournisseurs de SaaS facturent généralement en fonction des paramètres d’utilisation, comme le nombre d’utilisateurs de l’application.
Cas d’utilisation de SaaS
Le modèle SaaS est approprié pour certains types d’applications, comme les suivantes :
- Applications assez standardisées ne nécessitant pas de solutions personnalisées. Le courrier électronique est un bon exemple d’application assez standardisée.
- Applications ayant un besoin important d’accès à distance/web/mobile, telles que les logiciels de gestion des ventes mobiles.
- Applications répondant à un besoin à court terme, telles que des logiciels collaboratifs pour un projet particulier.
- Applications dans lesquelles la demande présente des pics significatifs, telles que les logiciels de calcul de taxe ou de facturation utilisés une fois par mois.
Cependant, dans certaines situations, le modèle SaaS peut ne pas être le bon choix, par exemple :
- Applications nécessitant un accès hors connexion aux données.
- Applications nécessitant une personnalisation importante.
- Applications pour lesquelles des stratégies ou réglementations empêchent l’hébergement externe des données.
- Applications pour lesquelles il existe des solutions internes répondant à tous les besoins de l’organisation.
Exemples de SaaS
La messagerie web est l’un des premiers exemples de SaaS. La messagerie web permet aux utilisateurs qui ont un navigateur et une connexion Internet d’accéder à leurs e-mails partout et à tout moment. Les offres comme Outlook, Yahoo Mail et Gmail sont extrêmement populaires. Certains de ces services sont basés sur le modèle « freemium », dans lequel les services de base sont gratuits et les fonctionnalités plus avancées sont disponibles avec un abonnement. Par ailleurs, les fournisseurs tirent leurs revenus principalement des publicités présentées aux utilisateurs du service.
Les suites bureautiques en ligne, telles que Microsoft 365, qui permettent aux utilisateurs de créer, modifier et partager des documents en ligne, sont un autre exemple populaire de SaaS.
Modèle PaaS
PaaS (platform as a service)
(définition) Platform as a service (PaaS) est une plateforme informatique qui permet la création d’applications web de manière simplifiée sans la complexité de l’achat et de la maintenance d’un logiciel et d’une infrastructure sous-jacents.
Les offres PaaS permettent aux utilisateurs de développer, déployer et mettre à l’échelle des applications sur des plateformes proposées par les fournisseurs de cloud. PaaS est analogue à SaaS, sauf qu’au lieu de fournir des logiciels sur le web, il s’agit d’une plateforme pour créer des logiciels qui sont fournis sur le web.
Caractéristiques du modèle PaaS
Les offres PaaS varient selon les fournisseurs mais comportent généralement certaines fonctionnalités de base, à savoir :
- Services permettant de développer, de tester, de déployer, d’héberger et de gérer des applications dans un même environnement de développement intégré (IDE).
- Outils web de création d’interface utilisateur pour faciliter la création, la modification et le test de différents scénarios d’interface utilisateur.
- Architecture multilocataire dans laquelle plusieurs utilisateurs simultanés utilisent les mêmes outils de développement.
- Mécanismes intégrés de mise à l’échelle des logiciels déployés qui sont gérés automatiquement par le fournisseur de cloud avec des mécanismes d’équilibrage de charge et de basculement.
Modèles tarifaires de PaaS
Contrairement au modèle tarifaire de SaaS (basé sur un abonnement ou sur la publicité), le modèle PaaS est généralement facturé en termes d’utilisation de la plateforme. Par exemple, le modèle tarifaire d’Azure Functions facture le nombre total d’exécutions ainsi que le temps d’exécution. Par conséquent, plus une application développée à l’aide de PaaS est utilisée, plus le développeur PaaS est facturé.
Cas d’utilisation du modèle PaaS
Le modèle PaaS est approprié pour certains types d’applications, comme les suivantes :
- Scénarios de développement rapide d’application.
- Applications nécessitant une infrastructure web pour gérer les charges variées des utilisateurs.
- Applications pouvant ne pas nécessiter de redéploiement ou de migration vers d’autres plateformes à l’avenir.
Il existe des cas dans lesquels le modèle PaaS peut ne pas être idéal, par exemple :
- Lorsque l’application doit être hautement portable en termes de lieu d’hébergement parce que les API PaaS peuvent varier d’un fournisseur de PaaS à un autre.
- Lorsque des langages ou des API propriétaires risquent d’avoir une incidence sur le processus de développement ou d’occasionner des problèmes à l’avenir en raison d’un enfermement propriétaire.
- Quand les performances de l’application nécessitent une personnalisation du matériel et des logiciels sous-jacents.
Exemples de PaaS
Azure Functions est un exemple de PaaS. À l’aide d’Azure Functions, les développeurs peuvent exécuter de petits extraits de code sur l’infrastructure Azure sans se soucier de gérer la leur.
Modèle IaaS
IaaS (infrastructure as a service)
(définition) Infrastructure as a service (IaaS) est un modèle de cloud computing dans lequel les fournisseurs de cloud rendent les ressources informatiques disponibles pour les clients, généralement sous la forme d’instances ou de machines virtuelles.
Dans le modèle IaaS, les fournisseurs louent des ressources de calcul sous la forme d’instances ou de machines virtuelles auxquelles sont attachées des formes configurables de processeur, de mémoire, de disque et de bande passante réseau. Après le provisionnement, les utilisateurs d’IaaS peuvent se connecter à distance à ces instances et configurer leur choix de plateformes et d’applications. Ce modèle IaaS offre la plus grande flexibilité à ses utilisateurs en termes de développement et de déploiement de logiciels. Au lieu d’acheter des serveurs, des logiciels, un espace de centre de données ou un équipement réseau, les utilisateurs louent ces ressources sous forme de service à la demande entièrement externalisé.
Caractéristiques du modèle IaaS
Le service IaaS présente les caractéristiques suivantes :
- Les ressources informatiques sont fournies aux utilisateurs d’IaaS sous forme de service.
- Les fournisseurs d’IaaS proposent des outils qui permettent aux utilisateurs de configurer la mise à l’échelle dynamique des ressources.
- Les fournisseurs d’IaaS proposent généralement des offres de ressources différentes à des coûts différents, et suivent un modèle tarifaire à la demande (généralement calculé à l’heure).
- Les mêmes ressources physiques sont partagées entre plusieurs utilisateurs.
Modèles tarifaires d’IaaS
Contrairement au modèle tarifaire de SaaS (basé sur un abonnement ou la publicité) ou au modèle PaaS (généralement facturé en termes de nombre de transactions, ou de bande passante ou de stockage utilisé), IaaS est généralement facturé sur une base horaire, par instance. Par exemple, les machines virtuelles Azure offre une large gamme de ressources de calcul sous forme d’instances d’OS virtualisées, qui varient en termes de calcul, de mémoire, de stockage et de bande passante.
Les fournisseurs de cloud peuvent également choisir de facturer ou non au prorata. Au prorata, chaque heure partielle est facturée partiellement, tandis que, sur une base non proportionnelle, chaque heure partielle est facturée comme une heure complète. Cette différence devient significative quand les utilisateurs de service IaaS ont besoin d’un grand nombre d’instances pendant une courte durée pour un traitement en rafale.
Cas d’utilisation du modèle IaaS
Le modèle IaaS a du sens dans plusieurs situations :
- Quand la demande des ressources informatiques est volatile. Par exemple, les sites d’e-commerce reçoivent la plus grande demande pendant les périodes de vacances.
- Pour les nouvelles organisations qui n’ont pas le capital nécessaire pour investir dans un infrastructure locale.
- Quand les organisations ont besoin de développer rapidement leurs ressources informatiques (par exemple, les start-ups Internet).
- Pour des projets temporaires ou des besoins d’infrastructure temporaires (quand les organisations nécessitent une grande quantité de puissance de calcul pendant une durée limitée).
Le modèle IaaS peut ne pas être la meilleure option dans les cas suivants :
- La conformité réglementaire n’autorise pas la délocalisation ou l’externalisation des données.
- Les applications ont des exigences strictes en matière de qualité de service (QoS).
- Les organisations ont une infrastructure interne personnalisée pour répondre à leurs besoins informatiques.
Exemples d’IaaS
Tous les principaux fournisseurs de cloud proposent des produits IaaS. Les machines virtuelles Azure louent des instances de divers centres de données répartis dans le monde entier. Les utilisateurs peuvent choisir parmi différents types d’instances : aussi bien des instances avec une faible mémoire et un seul processeur (coût d’environ quelques centimes par heure) que des instances multicœurs hautes performances avec accélération graphique (coût de plusieurs centaines de dollars par mois).