À première vue, ces deux solutions (Serverless et PaaS) peuvent sembler très similaires. Notamment en termes de fiabilité, de disponibilité, de fourniture d’un cadre pour le développement… Mais elles présentent des différences uniques qu’il faut prendre en considération.
Pour faire simple, le terme « Platform-as-a-Service » permet d’externaliser non seulement l’infrastructure matérielle, mais également l’environnement logiciel. Il désigne surtout un cadre permettant aux développeurs de créer des applications entièrement personnalisées avec des responsabilités de gestion limitées dans le cloud.
C’est important pour les entreprises qui recherchent de l’agilité lorsqu’elles mettent en œuvre une approche DevOps pour le développement de logiciels. Le PaaS facilite la gestion des infrastructures, afin que les développeurs puissent se concentrer sur le travail dans les cadres du web plutôt que de perdre du temps à s’occuper de l’infrastructure sous-jacente.
Avantages Paas vs Serverless
Les principaux avantages du PaaS vs le Serverless sont les suivants :
- Développement et déploiement simples et rentables
- Facilement modulable
- Très disponible
- De nombreuses fonctionnalités pour un petit nombre de ressources de gestion et de contrôle
- Plus d’automatisation
- Une migration facile
Dans un usage « conventionnel », la logique métier est implémentée sous forme de code. Celui-ci va s’exécuter sur un serveur. Concernant le Serverless, l’implémentation se fait sans serveur. Tout est développé dans le cloud, notamment sous forme de fonctions (c’est l’une des variantes du Serverless évoquées plus bas), d’ou l’acronyme FaaS.
Comme le PaaS, l’architecture sans serveur représente un cadre de travail qui devient de plus en plus attractif. L’idée de faire appel à un fournisseur de cloud pour gérer dynamiquement l’allocation des ressources des machines et facturer aux utilisateurs uniquement la quantité réelle de ressources consommées par les applications est de plus en plus acceptée.
Le serverless
Le Serverless n’est pas seulement une technologie. C’est une façon entièrement nouvelle de voir les opérations informatiques. L’un de ses principaux avantages est qu’il vous oblige à penser et à concevoir vos systèmes de manière à ce qu’ils soient dans le cloud.
Le Serverless peut être déployé de manière quasi illimitée. Les applications sans serveur évoluent instantanément, automatiquement et à la demande, sans aucune configuration supplémentaire de la part du développeur.
De nombreux cas d’utilisation se concentrent sur des besoins relativement simples, comme les applications web, qui sont maintenant couramment codées en «Serverless ».
Le Serverless est également idéal pour détecter un événement et informer une autre application ou un autre système, par exemple lorsque des changements dans une base de données déclenchent une modification de code.
Les variantes du serverless
Il existe différentes « variantes » du Serverless :
- FaaS (Fonction ou framework-as-a-Service) : c’est un cadre prêt à être mis en œuvre et qui peut être facilement adapté aux besoins d’une entreprise
- BaaS (Backend-as-a-service) : c’est une offre dite NoOps. Il se différencie du PaaS dans le sens où il ne gère pas la partie runtimes et exécution des applications qui restent à votre charge
- Base de données : Les cadres de base de données sans serveur permettent d’accéder à vos fonctions de base de données et de les automatiser. Ce sont des fonctions qui permettent à la fois d’écrire et de lire dans une base de données, ainsi que de fournir une réponse
L’architecture sans serveur qui concurrence le plus facilement le PaaS, dans sa forme native, est le FaaS. Il offre des fonctionnalités de développement que l’on ne trouve pas dans les offres SaaS simples. Mais il le fait tout en nécessitant moins de ressources que le PaaS.
Les avantages du Serverless Vs PaaS
Le Serverless présente plus d’avantages que le PaaS :
- La structure de coûts est basée sur les événements. Cela évite de payer des frais mensuels fixes pour les services inutilisés…
- Le système Serverless est microgéré afin que les ressources administratives internes puissent être utilisées pour d’autres activités
- Le Serverless présente de véritables capacités de mise à l’échelle automatique.
Le Serverless a néanmoins deux limites majeures. La multiplication des fournisseurs est certes intéressante, mais ils ont des implémentations différentes de leurs architectures sans serveur. Porter son code d’un fournisseur à l’autre peut parfois s’avérer coûteux.
Vous ne pourrez donc utiliser que les technologies proposées par le fournisseur de cloud que vous avez sélectionné. Autant dire que sa sélection revêt une importance capitale…
Le second écueil concerne la confidentialité d’informations sensibles. La gestion des flux transfrontières de données –on parle ici de leur localisation- est cruciale, car exclusivement sous la responsabilité du prestataire.
« Dans la mesure où le prestataire Serverless est seul décisionnaire des moyens alloués au traitement, il y aurait légitimement une réflexion à mener sur la qualification de responsable conjoint du traitement », explique Éric Le Quellenec, de Lexing Alain Bensoussan Avocats.
En résumé, le Serverless offre par nature les avantages d’un faible coût d’exploitation, d’une mise à l’échelle et d’un délai de commercialisation réduit. Cette solution a donc le potentiel pour devenir rapidement l’un des éléments fondamentaux des systèmes distribués modernes.
Mais les organisations qui souhaitent l’adopter devront, au préalable, tenir compte de la dépendance excessive à l’égard des API tierces et de la complexité de l’architecture…