IaaS, CaaS, PaaS, FaaS et SaaS sont toutes des différentes catégories de services de cloud computing.
Les services de cloud computing vous aident à décharger/externaliser la gestion de votre réseau, stockage, HVAC, virtualisation, Runtimes, Container tech, etc.
Vous pouvez ainsi réduire considérablement vos coûts CapEx tout en augmentant relativement vos coûts OpEx. Cela vous aide à réduire vos coûts informatiques à long terme tout en augmentant votre agilité, votre vitesse de développement et en améliorant votre time-to-market.
Dans les sections suivantes, nous passerons en revue les différentes catégories tout en fournissant leurs cas d’utilisation respectifs, des exemples et des structures de paiement.
La solution du cloud public offert par Infomaniak est une excellente alternative moins chère à Azure, Google Cloud, OVHcloud, AWS et City Cloud. Vous ne payerez que ce que vous utilisez à la fin de chaque mois.
Profitez maintenant d’une Infrastructure Cloud Haute Performance hébergé en Suisse, au juste prix
IaaS : Infrastructure en tant que service
Il existe plusieurs façons d’examiner et d’expliquer l’IaaS. Là, nous allons examiner les deux plus importants : le modèle commercial et les services en ligne.
En tant que modèle commercial
L’IaaS ou Infrastructure as a Service est un modèle commercial qui contrairement à l’achat classique d’infrastructure informatique, permet de le louer quand c’est nécessaire (à la demande).
Le fournisseur IaaS s’occupe de la mise en réseau, du stockage, des serveurs et de la virtualisation tandis que vous, en tant que client, êtes responsable de l’application réelle, de ses données, de l’exécution, de la technologie du conteneur (si nécessaire) et du système d’exploitation.
Les caractéristiques les plus importantes de l’utilisation de cette approche sont :
- Les charges de pointe sont absorbées.
- Une croissance soudaine est possible sans problèmes (évolutivité).
- Les capacités inutilisées peuvent être libérées à nouveau immédiatement.
- Il n’est pas nécessaire de maintenir une infrastructure supplémentaire pour les applications rarement exécutées.
- La technologie de virtualisation requise pour cela permet des tests logiciels simples sur une grande variété de plateformes.
En tant que services en ligne
Vous pouvez également voir IaaS comme des services en ligne qui utilisent certaines technologies d’orchestration cloud pour gérer:
- La création de machines virtuelles,
- Sélectionner l’hyperviseur,
- Allouer le volume de stockage,
- Fournir des informations d’utilisation à des fins de facturation,
- etc.
La technologie d’orchestration cloud utilisée par la plupart des clouds publics est propriétaire, mais plusieurs solutions open source (OpenStack, Apache CloudStack, etc.) sont également disponibles pour les clouds natifs.
Il convient de noter que la VM n’est pas la seule infrastructure disponible en tant que service géré. D’autres ressources sont également disponibles, telles qu’un stockage de blocs bruts, un stockage de fichiers ou d’objets, des pare-feu, des équilibreurs de charge, des adresses IP, des réseaux locaux virtuels (VLANs), etc.
Cas d’utilisation principaux :
Location unique, calcul confidentiel, plus de configurabilité requise (noyaux spécifiques, etc.)
Exemples
EC2, S3, Google Compute Engine, GCP Global/Regional Load Balancer, Azure Load Balancer, Azure VM, Azure Storage, etc.
Structure de paiement
La plupart des clouds offrent une option de paiement à la seconde. De plus, des remises sont disponibles au cas où vous souhaiteriez réserver des instances de VM pour une période de 1 ou 3 ans.
Il existe également la possibilité de réaliser des économies grâce à l’utilisation d’instances dites ponctuelles/préemptives. Ces instances sont disponibles à un prix très avantageux pour les charges de travail qui sont interruptibles. En effet, elles peuvent être réclamées par le fournisseur IaaS à tout moment, ce qui entraîne une charge de travail.
CaaS: Conteneur en tant que service
Que sont les conteneurs ?
Les conteneurs sont une alternative aux hyperviseurs et utilisent un certain nombre de concepts du monde Unix (groupes de contrôle, système de fichiers Union, espaces de noms et processus) pour exécuter vos applications en toute sécurité.
Les conteneurs s’exécutent dans des partitions isolées d’un seul noyau Linux s’exécutant directement sur le matériel physique.
Les groupes de contrôle Linux (Control Groups ou cgroups) et les espaces de noms sont les technologies sous-jacentes du noyau Linux utilisées pour isoler, sécuriser et gérer les conteneurs.
La conteneurisation offre des performances plus élevées que la virtualisation/hyperviseurs, car il n’y a pas de surcharge de l’hyperviseur. De plus, la capacité du conteneur évolue automatiquement de manière dynamique avec la charge de calcul, ce qui élimine le problème de sur-approvisionnement et permet une facturation basée sur l’utilisation.
Qu’est-ce que CaaS ?
CaaS ou Containers as a Service permet aux utilisateurs de déployer et de gérer des applications conteneurisées en proposant des produits spécifiques. Ces derniers fournissent un moyen simple d’exécuter vos déploiements à un seul conteneur, en particulier pour exécuter vos microservices simples. Ils peuvent aussi fournir une plateforme d’orchestration de conteneurs gérée comme Kubernetes pour exécuter des déploiements multi-conteneurs plus complexes.
Les plateformes d’orchestration de conteneurs fournissent des services tels que la découverte de services, la planification de conteneurs, la mise en réseau de conteneurs, la surveillance, etc.
Dans les deux cas, l’exécution du conteneur et d’autres services liés au conteneur sont fournis par le fournisseur CaaS.
Cas d’utilisation principal:
Applications conteneurisées
Exemples
Elastic Kubernetes Service, Google Kubernetes Engine, Azure Kubernetes Service, Azure Container Instance, Cloud Run, AWS Fargate, ECS, etc.
Structure de paiement
Les produits qui offrent des fonctionnalités d’orchestration de conteneurs (Elastic Kubernetes Service, Google Kubernetes Engine, etc.) facturent généralement les ressources utilisées pour créer le cluster de conteneurs (par exemple, les VM, les équilibreurs de charge, le stockage en bloc, etc.).
Bien que certains d’entre eux facturent également la gestion des clusters, par exemple, Google Kubernetes Engine facture 0,10 USD/heure par cluster. D’autre part, les produits qui n’offrent aucune fonctionnalité d’orchestration facturent généralement la mémoire et le processeur virtuel utilisés.
PaaS : Plateforme en tant que service
PaaS ou Platform as a Service vous permet d’écrire des applications à l’aide de langages de programmation, de bibliothèques, de frameworks, etc. spécifiques pris en charge par le fournisseur PaaS.
Le fournisseur PaaS gère le réseau, les serveurs, les systèmes d’exploitation, le stockage, les environnements d’exécution du langage, les bibliothèques, les frameworks, etc. afin que vous puissiez vous concentrer sur la logique métier de votre application.
La plupart de ces plateformes présentent les caractéristiques suivantes :
- Autoscaling : vous pouvez mettre à l’échelle vos instances d’application au nombre maximal d’instances que vous avez configuré ou même mettre à l’échelle l’application à zéro au cas où il n’y aurait aucune demande à servir.
- Connexions à divers autres PaaS, SaaS (Software-as-a-Service) et DBaaS (Database-as-a-Service).
- Intégration avec les services DevOps.
Cas d’utilisation principal:
Applications Web, Microservices
Exemples
Azure App Service, Google App Engine, Elastic Beanstalk
Structure de paiement
La plupart des fournisseurs de PaaS ont des types d’instances spécifiques et chacun de ces types d’instance est facturé à l’heure. En outre, il existe également la possibilité d’un quota gratuit.
FaaS : Fonction en tant que service
FaaS (Function as a Service), tout comme le PaaS, vous permet de vous concentrer principalement sur la logique métier, mais a un cas d’utilisation assez différent.
FaaS vous permet d’écrire une fonction dans l’un des langages / frameworks de programmation pris en charge et ces fonctions sont ensuite invoquées lors d’un certain événement déclenché ou d’un appel HTTP. Les caractéristiques importantes des applications FaaS incluent :
- Le client implémente uniquement la logique métier dans les fonctions.
- Les applications implémentées avec FaaS sont sans état.
- Pas besoin de vous soucier de la planification de la capacité, de la parallélisation et de l’évolutivité ; le fournisseur FaaS s’en charge.
- Piloté par les événements et réactif : avec FaaS, aucun processus serveur n’est en cours d’exécution. A la place, il y a un appel de fonction dès qu’un événement déclencheur a été déclenché, par exemple un appel HTTP.
- Pour la persistance, un serveur de base de données externe ou un système de fichiers réseau doit être utilisé (en raison de la nature sans état de l’application !).
- FaaS permet une évolutivité simple, puisque les fonctions sans état peuvent être mises à l’échelle horizontalement de manière triviale.
- Étant donné que vous payez par appel de fonction (mémoire et processeur virtuel alloués pour la fonction), si la fonction n’est jamais appelée, rien ne vous est facturé.
- Les produits FaaS peuvent être utilisés pour intégrer différents services.
Cas d’utilisation principal:
Architecture événementielle, programmation réactive, sans serveur, travaux ETL, applications sans état
Exemples
Azure Functions, Cloud Functions, AWS Lambda
Structure de paiement
Les produits FaaS sont principalement facturés en fonction de la quantité de mémoire (principalement calculée en Go) et du processeur virtuel utilisé.
La granularité facturée par les clouds est cependant différente : AWS facture par 1 ms, Google Cloud charge par 100 ms tandis qu’Azure facture par seconde. AWS propose également une simultanéité provisionnée pour un meilleur contrôle des performances.
Certains clouds facturent également l’appel de fonction après avoir franchi une limite d’appels gratuits. Par exemple, Google Cloud facture 0,40 USD par million d’appels après une limite d’appels gratuits de deux millions, tandis qu’Azure facture 0,20 USD par million d’exécutions après une limite d’appels gratuits d’un million.
SaaS : Logiciel en tant que service
Le SaaS ou Software as a Service est un modèle d’entreprise consistant à ne plus vendre de logiciel à un utilisateur, mais simplement à le rendre disponible en tant que service.
Il s’agit d’un modèle de licence et de livraison de logiciels dans lequel le logiciel est concédé sous licence par abonnement et est hébergé de manière centralisée par le fournisseur SaaS.
La grande majorité des solutions SaaS reposent sur une architecture multi-locataires. Avec ce modèle, une seule version de l’application, avec une seule configuration (matériel, réseau, système d’exploitation), est utilisée pour tous les clients (« locataires »).
Le SaaS donne à une entreprise la possibilité de réduire les coûts opérationnels informatiques en externalisant la maintenance et le support du matériel et des logiciels au fournisseur SaaS.
Les applications SaaS sont souvent mises à jour plus fréquemment que les logiciels traditionnels, dans de nombreux cas sur une base hebdomadaire ou mensuelle. Ceci est rendu possible par plusieurs facteurs :
- L’application est hébergée de manière centralisée, une mise à jour est donc décidée et exécutée par le fournisseur, et non par les clients.
- L’application n’a qu’une seule configuration, ce qui accélère les tests de développement.
- Le fournisseur de l’application n’a pas à dépenser de ressources pour mettre à jour et maintenir les versions antidatées du logiciel, car il n’y a qu’une seule version.
- Le fournisseur de l’application a accès à toutes les données client, ce qui accélère la conception et les tests de régression.
- Le fournisseur de solution a accès au comportement des utilisateurs au sein de l’application (généralement via l’analyse Web), ce qui facilite l’identification des domaines méritant d’être améliorés.
Exemples
Google Workspaces, Office 365
Structure de paiement
Le modèle de tarification des applications SaaS est généralement un forfait mensuel ou annuel ou par utilisateur, de sorte que les prix deviennent évolutifs et ajustables si des utilisateurs sont ajoutés ou supprimés à tout moment. Cela peut aussi être gratuit.