20 points par xguru 2022-03-28 | Aucun commentaire pour le moment. | Partager sur WhatsApp

« Le multitenant est la base cachée qui rend la scalabilité du SaaS remarquable »

  • Les marges élevées du modèle SaaS et sa scalabilité apparemment infinie sont ce qui pousse le marché boursier, les investisseurs et les fondateurs à se ruer dans ce secteur
  • Ce qui rend cela possible, c’est l’infrastructure, et en particulier le concept de « multitenant »
  • Aujourd’hui, presque toutes les entreprises utilisent le cloud et le SaaS, et la clé de la mise en œuvre des solutions cloud est précisément le multitenant
  • Marc Benioff, fondateur de Salesforce, a déclaré que « le multitenant est indispensable au succès d’un fournisseur SaaS »
  • Mais qu’est-ce que le multitenant exactement, et pourquoi est-ce important ?

Multitenant : construire un système de métro

  • Commençons par comprendre le single-tenant
    • Chaque client utilise une application et une base de données qui lui sont propres
    • Autrement dit, s’il y a 100 clients, cela signifie 100 serveurs, 100 applications et 100 bases de données
    • Le single-tenant demande beaucoup de temps, d’argent et d’efforts pour être maintenu à grande échelle
  • Vu sous l’angle des transports, pour aller au travail on peut conduire sa voiture ou prendre le métro
    • Conduire est confortable, mais il faut payer le coût de la voiture, le carburant, le stationnement, ainsi que le prix des embouteillages et de la pollution
    • Prendre le métro coûte relativement moins cher, aide à garder les routes plus propres et endommage moins la couche d’ozone
  • Si les 50 000 travailleurs du World Trade Center (WTC) allaient tous au travail en voiture, cela créerait un système extrêmement complexe
  • C’est pour cela qu’un modèle de multitenant comparable au métro a émergé, afin de réduire les coûts et les frais indirects, tout en diminuant fortement le « chaos » de l’environnement

Pourquoi maintenant ?

  • Pourquoi passer au métro ? Si c’est vraiment si bien, pourquoi ce choix n’a-t-il pas été fait plus tôt ?
  • La réponse se trouve dans le « cloud ». La popularité du cloud computing et du business SaaS explose
  • Sur les marchés publics, on voit des entreprises qui proposaient auparavant des produits self-hosted se tourner rapidement vers le cloud
  • Des entreprises comme Atlassian, Autodesk, Elastic et Microsoft enregistrent une forte croissance de leur chiffre d’affaires grâce à leurs solutions hébergées dans le cloud
  • Atlassian a ajouté plus de 10 000 clients rien qu’au dernier trimestre. Si ces 10 000 clients devaient être maintenus en single-tenant, l’entreprise serait mise en difficulté par le travail d’ingénierie individuel, la gestion des ressources, la complexité et l’épuisement des talents nécessaires pour résoudre des problèmes qui ne relèvent pas du cœur de métier
  • Ainsi, une startup en phase initiale peut choisir de démarrer dans un environnement single-tenant « quick-and-dirty », mais à mesure qu’elle grandit et change d’échelle, elle se retrouve inévitablement confrontée à une dette technique qui ne peut être résolue que dans un environnement multitenant
  • Avec la croissance du cloud computing et du business SaaS, l’overhead des solutions single-tenant augmente lui aussi, tout comme la demande pour le multitenant

Les avantages du multitenant

  • Le multitenant apporte une forme de magie aux fournisseurs SaaS
  • La capacité à partager l’infrastructure sur l’ensemble de la base clients change complètement la donne
  • Au-delà de la seule échelle, le multitenant apporte plusieurs autres avantages cachés

Marges (Margins)

  • Le fait d’exploiter une infrastructure partagée a un impact direct sur la rentabilité du fournisseur à mesure que cette infrastructure est davantage utilisée
  • Le multitenant demande moins de ressources, à la fois de façon directe (en coûts des produits vendus, côté personnel et coûts logiciels/matériels) et indirecte (dans la mesure où les talents clés peuvent concentrer leur énergie ailleurs)
  • Il en résulte une hausse de la marge brute et, au final, des flux de trésorerie disponibles (Free Cash Flow) qui peuvent permettre d’obtenir une valorisation plus élevée sur le marché

Visibilité (Visibility)

  • L’usage du multitenant est très avantageux pour comprendre les performances de l’infrastructure ou savoir si les coûts sont correctement imputés à certains groupes de clients
    • Les données doivent pouvoir être interrogées de manière agrégée ou par client
  • Dans une infrastructure single-tenant, les données clients étant dispersées, il est très difficile d’analyser des métriques cross-customer
  • En revanche, dans une infrastructure multitenant, on peut observer l’ensemble de la base clients et identifier des tendances macroscopiques
    • Cela peut se voir au niveau du logging, des bases de données ou de l’application performance monitoring, ce qui constitue un grand avantage pour les équipes cross-functional

La complexité du multitenant

  • Toute « magie » a son revers, et le multitenant ne fait pas exception

Problème 1 : disponibilité et voisins bruyants

  • Imaginons qu’un site e-commerce stocke toutes les données clients dans une seule base de données : si la plupart des utilisateurs n’achètent qu’un ou deux articles par mois, mais qu’un utilisateur en achète 5 000 par jour
    • Si la base de données n’est pas assez robuste pour absorber la montée en charge causée par ce client, toute la base peut tomber, empêchant les autres clients d’acheter
  • C’est un défi majeur, qui conduit à des choix de partitionnement des données
    • Partitionnement Silo (une base de données séparée par tenant) vs. partitionnement Pooled (une base de données partagée entre tenants)
    • Le partitionnement Silo peut résoudre les problèmes de certains clients, mais on revient alors au problème initial : devoir gérer une multitude d’instances
    • Le partitionnement Pooled fonctionne bien, mais si un seul client provoque une surcharge, cela peut ralentir le système, voire provoquer une panne

Problème 2 : ressources partagées et sécurité des données

  • Tous les clients utilisent les mêmes ressources, et comme il n’existe pas d’implémentation standard du multitenant, des bugs techniques peuvent faire fuiter des données d’un tenant à un autre
  • Si l’on sert simultanément des clients en concurrence directe, cela peut devenir extrêmement risqué
  • Les équipes techniques doivent évaluer les Data Sovereignty Laws ainsi que les réglementations qui affectent l’isolation entre tenants

Résoudre la complexité

  • Le multitenant est devenu l’un des principaux piliers d’une application SaaS, mais sa mise en œuvre comporte encore de nombreuses complexités à prendre en compte
  • Le CEO de Cloudinary souligne que « le multitenant est la clé de l’Operational Excellence, mais bien le faire demande beaucoup de connaissances et d’investissements »
  • Boldstart et F2, les auteurs de cet article, ont investi dans une startup (actuellement en mode stealth) qui s’attaque à ces problèmes du multitenant
  • Les systèmes multitenant comportent de nombreuses complexités, mais face à la dette technique qui apparaît lorsqu’un système single-tenant passe à l’échelle, il n’y a plus vraiment lieu d’hésiter
    • Car pour résoudre cette dette technique, il faut mobiliser les meilleures équipes d’ingénierie et consommer des ressources sur des sujets qui ne relèvent pas du cœur de métier
    • Les startups les plus avisées choisissent donc de planifier, construire et maintenir un environnement multitenant dès le départ

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.