Qu'est-ce que le BaaS ? | Backend-as-a-Service comparé à sans serveur

Backend-as-a-Service (BaaS) permet aux développeurs de se concentrer sur le frontend de leurs applications et d'exploiter les services backend sans avoir à les créer ou à les maintenir. Le BaaS et l'informatique sans serveur ont des points communs, et de nombreux fournisseurs proposent les deux, mais les deux modèles présentent plusieurs différences.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définition de MBaaS
  • Définition de MBaaS
  • Comprendre les différences entre l'informatique sans serveur et le BaaS
  • Comprendre en quoi BaaS et PaaS sont différents

Copier le lien de l'article

Qu'est-ce que le BaaS ?

Backend-as-a-Service (BaaS) est un modèle de service cloud dans lequel les développeurs externalisent tous les aspects de l'arrière-plan d'une application web ou mobile afin de n'avoir à écrire et à maintenir que le frontend. Les fournisseurs de BaaS fournissent des logiciels pré-écrits pour les activités qui ont lieu sur les serveurs, telles que l'authentification des utilisateurs, la gestion des bases de données, la mise à jour à distance et les notifications « push » (pour les applications mobiles), ainsi que le stockage et l'hébergement sur le cloud.

Backend as a Service (BaaS)

Imaginez le développement d'une application sans faire appel à un fournisseur BaaS comme la réalisation d'un film. Un réalisateur de film est responsable de la supervision ou de la gestion des équipes de tournage, de l'éclairage, de la construction des décors, de la garde-robe, du casting des acteurs et du calendrier de production, en plus de filmer et de diriger les scènes qui apparaîtront dans le film. Imaginez maintenant qu'il existe un service qui s'occupe de toutes les activités en arrière-plan, de sorte que le réalisateur n'ait qu'à diriger et à tourner la scène. C'est l'idée du BaaS : Le fournisseur s'occupe des « lumières » et de la « caméra (ou des *fonctionnalités côté serveur) afin que le réalisateur (le développeur) puisse se concentrer sur l'« action », c'est-à-dire sur ce que l'utilisateur final voit et vit.

BaaS permet aux développeurs de se concentrer sur l'écriture du code de l'application en frontend. Grâce aux API (qui sont un moyen pour un programme de faire une requête à un autre programme) et aux SDK (qui sont des kits pour la construction de logiciels) proposés par le fournisseur de BaaS, ils sont en mesure d'intégrer toutes les fonctionnalités du backend dont ils ont besoin, sans avoir à construire eux-mêmes le backend. Ils n'ont pas non plus à gérer de serveurs, de machines virtuelles ou de conteneurs pour faire tourner l'application. Par conséquent, ils peuvent créer et lancer des applications mobiles et des applications web (y compris des applications d'une seule page) plus rapidement.

*Le terme « côté serveur » désigne tout ce qui est hébergé ou a lieu sur un serveur plutôt que sur un client dans le modèle client-serveur d'Internet.

Qu'est-ce que le Mobile-Backend-as-a-Service (MBaaS) ?

Mobile-Backend-as-a-Service (MBaaS) est un BaaS destiné spécifiquement à la création d'applications mobiles. Bien que certaines sources considèrent que BaaS et MBaaS sont des termes fondamentalement interchangeables, les services BaaS ne doivent pas nécessairement servir à créer des applications mobiles.

Que comprend le BaaS ?

Les fournisseurs de BaaS offrent un certain nombre de fonctionnalités côté serveur. Par exemple :

  • Gestion des bases de données
  • Sauvegarde dans le cloud (pour le contenu généré par l'utilisateur)
  • Authentification des utilisateurs
  • Les notifications push
  • Mise à jour à distance
  • Hébergement
  • Autres fonctionnalités spécifiques à la plate-forme ou au fournisseur ; par exemple, Firebase offre l'indexation des recherches Google

Les fournisseurs de BaaS et MBaaS incluent Google Firebase et Microsoft Azure.

Quelles sont les différences entre le BaaS et l'informatique sans serveur ?

Il y a un certain chevauchement entre le BaaS et l'informatique sans serveur, car dans les deux cas, le développeur n'a qu'à écrire le code de son application et ne pense pas au backend. En outre, de nombreux fournisseurs de BaaS proposent également des services d'informatique sans serveur. Cependant, il existe des différences opérationnelles importantes entre les applications construites à l'aide de BaaS et une véritable architecture sans serveur.

Comment se crée une application ?

Les backends des applications sans serveur sont décomposés en fonctions, chacune répondant à des événements et n'effectuant qu'une seule action (voir Qu'est-ce que FaaS ?). Les fonctionnalités BaaS côté serveur, quant à elles, sont construites comme le fournisseur le souhaite, et les développeurs n'ont pas à se soucier de coder autre chose que le frontend de l'application.

Moment où le code s'exécute

Les architectures sans serveur sont commandées par des événements, c'est-à-dire qu'elles fonctionnent en réponse à des événements. Chaque fonction ne s'exécute que lorsqu'elle est déclenchée par un certain événement, et non autrement. Les applications créées avec BaaS ne sont généralement pas commandées par des événements, ce qui signifie qu'elles nécessitent davantage de ressources serveur.

Lieu d'exécution du code

Les fonctions sans serveur peuvent être exécutées de n'importe où sur n'importe quelle machine, tant qu'elles sont encore en communication avec le reste de l'application, ce qui permet d'intégrer l'informatique de périphérie dans l'architecture de l'application en exécutant du code à la périphérie du réseau. BaaS n'est pas nécessairement configuré pour exécuter du code depuis n'importe où et à n'importe quel moment (bien qu'il puisse l'être, selon le fournisseur).

Le degré d'évolutivité des applications

L'évolutivité est l'un des principaux facteurs de différenciation entre les architectures sans serveur et les autres types d'architecture. Dans l'informatique sans serveur, l'application évolue automatiquement en fonction de l'utilisation. L'infrastructure du fournisseur de cloud démarre des instances éphémères de chaque fonction selon les besoins. Les applications BaaS ne sont pas configurées pour évoluer de cette manière, à moins que le fournisseur BaaS ne propose également une architecture sans serveur et que le développeur ne l'intègre dans son application.

Quelle est la différence entre BaaS et Platform-as-a-Service (PaaS) ?

Le PaaS fournit une plateforme via le cloud pour que les développeurs puissent créer leurs applications. Comme l'informatique sans serveur et le BaaS, Platform-as-a-Service (PaaS) élimine la nécessité pour le développeur de créer et de gérer le backend de l'application. Cependant, PaaS ne comprend pas de logique applicative pré-construite côté serveur, comme les notifications « push » et l'authentification des utilisateurs. PaaS offre aux développeurs une plus grande flexibilité, tandis que BaaS offre plus de fonctionnalités.