Le cloud (Cloud Computing) a évolué. Nous avons d’abord eu l’IaaS (Infrastructure : louer un ordinateur vide). Puis PaaS (Plateforme : louez un environnement pour exécuter votre code). Nous vivons désormais à l'ère du BaaS : Backend as a Service.
Mais qu’est-ce que c’est, d’ailleurs ? Est-ce juste un mot à la mode ou une véritable révolution dans le développement logiciel ?
Définition du BaaS
Backend as a Service est un modèle dans lequel vous externalisez les coulisses de votre application. Au lieu d'écrire du code pour créer un système de connexion, une base de données ou un serveur de fichiers, vous utilisez des API prêtes à l'emploi fournies par une entreprise.
Imaginez que vous allez construire une maison.
- Pas de BaaS : Vous fabriquez les briques, coupez le bois, faites le câblage électrique.
- Avec BaaS : vous achetez des briques prêtes à l'emploi, des fenêtres prêtes à l'emploi et vous ne vous souciez que du montage et de la décoration de la maison.
Qu'est-ce qui est inclus dans le forfait ?
Un service BaaS typique propose le « Basic Kit » dont 99 % des applications ont besoin :
- Authentification : Connectez-vous avec Email, Google, Apple, Facebook. Gestion de session et récupération de mot de passe.
- Base de données : Généralement en temps réel (Realtime Database). Vous modifiez une donnée ici, elle apparaît là sur l'écran d'un autre utilisateur.
- Stockage : Hébergement de fichiers (photos de profil, PDF).
- Fonctions Cloud : espace pour exécuter des codes logiques de petite entreprise (backend sans serveur).
- Notifications push : Envoi de messages sur votre téléphone portable.
Les principaux acteurs
- Firebase (Google) : Le géant. Extrêmement complet, simple à utiliser, mais avec des prix évolutifs rapidement et une base de données NoSQL propriétaire.
- Supabase : Le challenger Open Source. Il propose une base de données SQL (Postgres), qui facilite la vie de ceux qui viennent du monde relationnel. Pas de dépendance vis-à-vis d'un fournisseur (vous pouvez héberger ailleurs si vous le souhaitez).
- AWS Amplify : la réponse d'Amazon. Puissant, s'intègre à l'ensemble de l'écosystème AWS, mais avec une courbe d'apprentissage plus élevée.
- Appwrite : Une autre option Open Source axée sur la simplicité et Docker.
Avantages
- Vitesse de mise sur le marché : vous lancez votre MVP (Minimum Viable Product) en quelques jours.
- Équipe plus petite : un développeur Frontend peut fournir l'application complète (Fullstack) sans avoir besoin d'un spécialiste Backend.
- Mise à l'échelle automatique : si votre application devient virale, BaaS peut la gérer (vous payez simplement la facture).
Inconvénients
- Vendor Lock-in : Vous êtes "piégé" sur la plateforme. La migration ultérieure de Firebase vers SQL est difficile.
- Contrôle limité : vous n'avez pas accès au système d'exploitation du serveur pour des optimisations précises.
- Coût à l'échelle : pour les applications gigantesques, cela peut s'avérer plus coûteux que de disposer de votre propre infrastructure.
Conclusion
BaaS n'est pas un « jouet ». C'est une architecture légitime et puissante. Il a démocratisé le développement de logiciels, permettant aux créateurs de se concentrer sur le produit et l'expérience utilisateur, laissant l'infrastructure ennuyeuse à ceux qui comprennent le sujet.
A lire aussi
-Backend As A Service - Bonnes pratiques pour les entreprises -Backend As A Service - Bonnes pratiques pour les débutants -Backend pour les applications : bonnes pratiques pour les petites équipes qui ne peuvent pas se tromper
