Contact salesFree trial
Blog

Upsun en tant que plateforme de développement et de gestion SaaS

PaaSApplications SaaSmulti-applications
Partager

Le modèle SaaS (Software as a Service) considère chaque client comme un locataire de l'application. Pour utiliser l'application SaaS, chaque locataire doit généralement payer un abonnement.

Exploration de trois modèles de location de plateformes de gestion SaaS

  • Architecture multi-locataires: Tous les clients partagent la même instance d'application et la même base de données, mais leurs données sont logiquement séparées et isolées.
  • Architecture à locataire unique: Chaque client dispose de sa propre instance de l'application et de la base de données, fonctionnant dans son propre environnement.
  • Architecture à locataire mixte: Ce modèle combine les deux architectures ci-dessus.

Dans cet article, nous nous concentrerons sur les défis spécifiques posés par le modèle à locataire unique, notamment le développement, le déploiement et la mise à jour de plusieurs instances de l'application SaaS.

Une application web comme les autres

Tout d'abord, une application SaaS est, à la base, une application web ordinaire. En tant que telle, l'équipe d'ingénierie produit qui y travaille ne peut que bénéficier des fonctionnalités offertes par Upsun, à condition que nous puissions prendre en charge tous les composants de leur pile technologique - ce qui est très probablement le cas. Certains de nos clients sont des sociétés SaaS qui utilisent le modèle multi-tenant et qui bénéficient des excellentes fonctionnalités que notre PaaS offre à leurs équipes d'ingénieurs.

Mais comment pouvons-nous repousser les limites en utilisant Upsun pour la mise à l'échelle et la gestion d'applications SaaS à locataire unique ?

Locataire unique : une flotte d'applications web

Permettre aux entreprises d'exploiter facilement des milliers d'applications et de sites web fait déjà partie de notre mission. La particularité d'une application SaaS à locataire unique est que les nombreuses instances résultant du déploiement en série de la même application partageront toutes la même base de code.

Pourtant, par défaut, chaque projet Upsun est soutenu et piloté par son propre dépôt Git. À première vue, cela semble suggérer que la gestion d'un modèle SaaS à locataire unique sur Upsun pourrait être un cauchemar !

Heureusement, ce n'est pas le cas.

Si votre SaaS est à locataire unique, le principal problème est que vous devez construire des automatismes et des pipelines pour :

  • déployer de nouvelles instances de votre application SaaS à chaque fois qu'un nouvel abonnement est souscrit
  • Tester les nouvelles fonctionnalités et les pré-versions sur des environnements de type production
  • Déployer de nouvelles versions/modifications de code sur toutes les instances actives de votre application SaaS.

Nous savons déjà qu'Upsun vous aide à faire tout cela. Ce que je veux vous montrer aujourd'hui, c'est comment tirer parti de deux de nos fonctionnalités qui rendront tout cela encore plus facile.

Les intégrations à la source et les opérations à la source

Les intégrations de sources vous permettent de conserver votre code dans un dépôt tiers qui est ensuite lié à votre projet Upsun. Le résultat est que tout ce qui se passe sur ce dépôt est automatiquement reflété sur le dépôt Git du projet. La puissance cachée de cette fonctionnalité est que vous pouvez également lier le même dépôt tiers à autant de projets Upsun que vous le souhaitez.

Cependant, comme cette fonctionnalité peut avoir des limites (par exemple, GitHub a une limite de 20 webhooks par dépôt), notre propre fonctionnalité d'opérations à la source complète ce tableau. Les deux fonctionnalités peuvent être utilisées ensemble et de manière complémentaire.

Ainsi, par exemple, vous pouvez désormais avoir 10, 100, 1000 projets tous pilotés par le même dépôt Git. Cela ouvre d'innombrables possibilités.

Créer une nouvelle instance

Un nouveau client se présente et achète un abonnement à votre application SaaS.

En utilisant les intégrations de sources, tout ce que vous avez à faire est (a) de créer un nouveau projet vide, et (b) de créer une nouvelle intégration entre le dépôt qui contient la base de code de votre application SaaS et votre projet. Cette dernière action déploiera effectivement une nouvelle instance de votre application SaaS dans le projet nouvellement créé.

Ne vous inquiétez pas, vous pouvez automatiser cette opération en utilisant notre CLI ou notre API. Par exemple, vous pouvez exécuter quelque chose d'aussi simple que ce qui suit à partir d'un outil de CI :

upsun project:create --region='eu-2.platform.sh --title='A SaaS' --environments=1 --storage=5 --default-branch=main --yes upsun integration:add --type github --repository your-org/your-repo --token TOKEN -p project_id_from_previous_command

Vous pouvez également utiliser notre API pour intégrer la fonctionnalité ci-dessus directement dans le logiciel qui traite vos achats.

De même, avec les opérations sur les sources, il faut essentiellement créer un projet vide, puis initialiser l'environnement principal avec un modèle déjà configuré pour utiliser les opérations sur les sources afin d'extraire le code du référentiel dans lequel le développement a lieu.

Développer et tester

L'une de nos fonctionnalités phares est la possibilité de cloner instantanément la production dans un environnement de non-production avec toutes vos données incluses, chaque fois que nous nous séparons de la branche principale (celle qui alimente l'environnement de production). Cela permet aux développeurs de disposer d'un environnement de type réel dans lequel ils peuvent déployer et tester leurs modifications.

Lorsqu'une intégration de source (par exemple, GitHub) est active sur un projet Upsun, le comportement par défaut est qu'un environnement de fonctionnalité est créé à chaque fois qu'une nouvelle demande d'extraction est émise. Si plus d'un projet est lié au même dépôt externe, cela se produit pour chacun de ces projets, à condition que l'intégration soit configurée pour le faire sur chacun d'entre eux.

En effet, si vous créez toutes vos intégrations de sources selon les paramètres par défaut, le résultat sera que chaque fois que vous émettez une nouvelle demande d'extraction sur le référentiel qui contient le code de votre application SaaS, toutes les instances sur Upsun connectées à ce référentiel créeront un nouvel environnement.

Vous pouvez ou non vouloir que de nouveaux environnements soient créés, mais vous êtes libre de configurer chaque intégration comme vous le souhaitez. Cela dit, vous voudrez probablement réserver un pool spécifique de vos instances pour les tests afin de ne pas créer trop d'environnements à chaque fois que vous émettez une nouvelle demande d'extraction.

Vous pouvez également utiliser les intégrations de source pour lier votre référentiel de développement aux instances que vous souhaitez utiliser pour les tests automatisés et utiliser les opérations de source pour toutes vos autres instances, où les nouvelles versions peuvent facilement être extraites lorsqu'elles sont prêtes et testées.

Déployer de nouvelles fonctionnalités en production

Quel que soit le nombre d'instances que vous avez choisies pour tester vos changements, ceux-ci seront prêts à un moment ou à un autre. Par souci de simplicité, supposons que vous ayez choisi d'utiliser un modèle de micro-versions. Par exemple, chaque demande d'extraction que vous avez est une nouvelle version candidate en soi, et la fusion entraînera les changements directement vers la production, qu'il s'agisse d'instances liées à des intégrations de source ou à des opérations de source.

Cela peut sembler effrayant, mais si vous gardez vos petits changements et que vous avez beaucoup de tests automatisés, c'est en fait une façon très productive et légère de déployer de nouveaux changements.

Comme je le disais, à un moment donné, ces changements seront prêts à être fusionnés. Et lorsque vous les fusionnerez, les nouveaux commits seront poussés vers les instances liées via les intégrations de sources, et finalement vers les instances qui tirent les mises à jour via les opérations de sources.

Le résultat est le même dans les deux cas : la nouvelle version de votre application SaaS est instantanément déployée dans toutes les instances actives de votre application sur Upsun. Un travail bien fait !

Tirer parti de la puissance du retour sur investissement

Upsun est particulièrement bien placé pour offrir deux autres avantages dont vous pouvez profiter ici chez Upsun.

  1. Vous pouvez tirer parti de la puissance du retour sur investissement massif qu'il vous offrira tout en construisant votre offre SaaS.
  2. Vous pouvez choisir d'entrer vous-même sur le marché du PaaS, via le programme OEM de Platform.sh, puisque Platform.sh alimente Upsun.

Et... ils ne s'excluent pas l'un l'autre. Vous pouvez faire les deux en même temps ! Et lorsque vous le faites, vous vous retrouvez dans une position vraiment unique : vous pouvez offrir un chemin de mise à niveau transparent de la version SaaS de votre produit vers la version PaaS. Dans un modèle à locataire unique, cela signifie essentiellement donner à votre client l'accès au même projet Upsun qui a été derrière l'instance de leur application depuis le début !

N'est-ce pas génial ?

Pourquoi ne pas prendre contact avec nous et faire en sorte que cela devienne réalité ?

Si vous êtes sur le marché du SaaS, Upsun est une solution incroyable qui répondra à une pléthore de besoins en matière de plateforme de gestion. Et si vous envisagez d'offrir à la fois une version SaaS et une version PaaS de votre produit, Upsun est la solution idéale.

Votre meilleur travail
est à l'horizon

Essai gratuit
Discord
© 2025 Platform.sh. All rights reserved.