Le PaaS, ou "Platform-as-a-Service" expliqué
Déployer du code sans se soucier de l'infrastructure, du système ou de la machine ? C'est possible avec un hébergement PaaS !
Article publié le 19/04/2022, dernière mise à jour le 19/09/2023
Dans cet article, j'ai introduit le concept de "Platform-as-a-service" comme étant : un hébergement cloud grâce auquel un développeur/développeuse va pouvoir déployer une application sans se soucier de l'infrastructure utilisée sous la plateforme fournie.
Ce qui est une définition simplifiée parfaitement valide, mais...
Mais si l'on se limite à cette définition, il est difficile de tirer les avantages et les contraintes de cette solution. C'est donc ce que nous allons faire aujourd'hui.
Fonctionnement du PaaS
Le "Platform-as-a-Service" est un hébergement qui déploie du code pour vous.
Vous ne vous occupez pas de la machine, ni du système d'exploitation, ni même de l'environnement d'exécution (Serveur web, proxy, machine virtuelle type JVM,...), mais simplement de votre application, de votre code.
Tout est géré pour vous. Ou presque.
C'est lors de la création de votre "application" sur le service d'hébergement, que vous allez pouvoir définir vos pré-requis :
- Le langage utilisé
- Le nombre de machines et leurs capacités
- La localisation des datacenters
- Les noms de domaines associés
- Les variables d'environnement
Et vous pourrez même y associer des modules (souvent des services tiers) pour la gestion des logs, l'envoie des e-mails, le stockage des données/fichiers, etc...
Avantages
Outre la simplification évidente en terme de déploiement car vous n'avez pas à vous soucier de votre environnement d'exécution, le principal avantage réside dans la scalabilité (le passage à l'échelle) de votre application.
À l'horizontal (plus de machines) ou à la verticale (de plus grosses machines)
Là où sur un hébergement plus "classique" (VPS ou dédié par exemple) vous auriez dû commander une nouvelle machine, réinstaller votre environnement, migrer le code de votre application, configurer un load-balancer gérer la charge, etc...
Changer l'échelle de votre application hébergée en PaaS revient à cliquer sur un bouton, attendre quelques secondes le redéploiement, et voilà !
Cerise sur le gâteau, le déploiement peut se faire directement avec Git ! On ajoute l'origine de l'application chez l'hébergeur, un git push et l'application se déploie.
Contraintes
Pour que votre application fonctionne correctement, il faut qu'elle soit "stateless" (ou "sans état" en français). Cela signifie qu'il ne faut pas stocker de données ou de fichiers à l'intérieur ou à côté de votre application.
Sinon, à la prochaine mise à jour de l'application, tout disparait !
C'est un pré-requis pour que l'hébergeur puisse migrer facilement votre application d'une machine à l'autre, ou la cloner pour la déployer sur plusieurs machines différentes.
La deuxième contrainte est que la plupart des hébergeurs ne vous communiquent pas les adresses IP de vos machines (logique car elles peuvent changer à tout moment). Il faudra donc vous contenter du nom de domaine fourni par l'hébergeur, ou de votre nom de domaine personnalisé.
Cela couvre 98% des usages classiques, mais si vos autres systèmes requièrent une IP fixe à autoriser (whitelist), ou pour des enregistrements DNS A, alors ça devient une contrainte à prendre en compte.
Contourner les contraintes
La solution pour contourner la contrainte "stateless" c'est de passer par une bases de données externe à votre application, un service souvent proposé par l'hébergeur PaaS, ce qui vous permet également de faire passer votre base de données à l'échelle car certains services le permettent.
Si votre application nécessite de stocker des fichiers au runtime, alors vous pourrez utiliser un service externe de stockage type S3 (Simple Storage Service) en créant un bucket et en utilisant les API disponibles, ou en montant directement ce bucket comme un système de fichier virtuel grâce à des solutions comme S3FS.
Ce sont bien sûr des exemples de solutions à ces contraintes, mais loin d'être les seules possibles
Quels hébergeurs
De plus en plus d'hébergeurs proposent la solution PaaS, notamment les géants du cloud américains :
Mais nous avons aussi notre hébergeur cloud PaaS français en le nom de Clever-Cloud ! Et ils n'ont rien à envier à leurs homologues américains, le service est incroyable, je vous invite à le tester : https://www.clever-cloud.com/
Aucun commentaire pour l'instant