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

Contenu associé


Vous souhaitez continuer à enrichir vos connaissances ?

Abonnez-vous à theNET, le récapitulatif mensuel par Cloudflare des informations les plus populaires sur Internet !

Consultez la politique de confidentialité de Cloudflare pour en savoir plus sur la manière dont nous collectons et traitons vos données personnelles.

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.

FAQ

Qu’est-ce que le Backend-as-a-Service (BaaS) ?

Backend-as-a-Service (BaaS) est un modèle de cloud dans lequel les développeurs externalisent toutes les responsabilités côté serveur auprès d'un fournisseur tiers. Cette démarche permet aux développeurs de se concentrer sur l’écriture et la maintenance du frontend de leurs applications, tandis que le fournisseur s’occupe des tâches en arrière-plan telles que l’hébergement et la gestion des bases de données.

Quelles fonctionnalités spécifiques sont généralement incluses dans une offre BaaS ?

Les fournisseurs de BaaS proposent une variété de fonctionnalités côté serveur prêtes à l’emploi et pouvant être intégrées via des API et des SDK. Les services les plus courants concernent l’authentification des utilisateurs, les notifications « push » pour les applications mobiles, le stockage dans le cloud pour le contenu des utilisateurs, la gestion de bases de données et les mises à jour à distance.

En quoi le BaaS est-il différent de l’informatique serverless ?

Les deux modèles éliminent la nécessité de gérer l’infrastructure backend pour les développeurs frontend, cependant ils fonctionnent différemment sur le backend. Les architectures serverless sont orientées événements (event-driven) ; elles décomposent les applications en fonctions individuelles qui ne s’exécutent que lorsqu’elles sont déclenchées. Les applications BaaS ne sont généralement pas commandées par des événements et ne s’adaptent pas automatiquement en activant des instances de code, sauf si le fournisseur propose spécifiquement l’intégration serverless.

Quelle est la différence entre BaaS et Mobile-Backend-as-a-Service (MBaaS) ?

Le MBaaS est essentiellement un BaaS (Backend as a Service) spécifiquement optimisé pour la création d’applications mobiles. BaaS forme une catégorie plus vaste qui peut être utilisée pour tout type d’application, y compris les applications monopages basées sur le web, tandis que MBaaS se concentre sur les besoins spécifiques des mobiles.

Comment comparer BaaS et Paas (plateforme en tant que service) ?

Les deux modèles permettent d’éliminer la nécessité, pour les développeurs, de gérer le matériel du backend et les systèmes d’exploitation. Cependant, le PaaS fournit une plateforme permettant aux développeurs de créer leur propre logique backend à partir de zéro. BaaS offre moins de flexibilité mais plus de fonctionnalités prêtes à l’emploi en ajoutant une logique d’application préécrite comme l’intégration sociale ou les services de notification.

Pourquoi les développeurs utilisent-ils le BaaS ?

L’utilisation de logiciels préécrits et d’une infrastructure gérée permet aux développeurs de concevoir et de lancer rapidement des applications car ils n’ont pas besoin de passer de temps à développer le backend ni à gérer des machines virtuelles et des conteneurs. Cependant, les architectures serverless peuvent offrir plus d’évolutivité et de flexibilité aux développeurs.