9 minutes de lecture

Remarque : cette étude de cas a d’abord été publiée sous la marque Platform.sh. Elle a été republiée (mise à jour) pour refléter notre nouveau nom, Upsun Cloud. Tous les résultats et analyses restent inchangés
En 2016, Open Social a annoncé son partenariat avec Upsun Cloud. Ce partenariat nous a permis de créer un moyen simple et sécurisé de déployer de nouvelles plateformes de communautés en ligne pour nos clients (et de faire en sorte que ces communautés fonctionnent sans accroc !).
Il se peut que, même si tu es client d’Open Social, tu ne saches pas que ta communauté fonctionne en réalité sur Upsun Cloud. À l’inverse, tu es peut-être déjà utilisateur d’Upsun Cloud, mais tu ne savais pas qu’il existait des entreprises qui s’appuient en grande partie sur leur API.
Quoi qu’il en soit, notre collaboration avec Upsun nous a permis de gérer des milliers de sites communautaires, et on s’est dit que ça pourrait t’intéresser de savoir comment tout ça fonctionne.
Pour ceux qui ne connaissent pas, Open Social est une solution de communauté en ligne de type Software-as-a-Service (SaaS). Ça veut dire qu’on met en place des plateformes communautaires pour nos clients, notamment des intranets d’entreprise et des bases de connaissances pour des organismes publics, ainsi que des plateformes d’apprentissage en ligne pour des ONG et d’autres organisations. Tu peux très rapidement disposer d’une communauté en ligne prête à l’emploi, et dès qu’elle est déployée, tu peux personnaliser le site de différentes façons pour l’adapter à ton organisation : de l’ajout de ton identité visuelle et du choix d’une palette de couleurs au téléchargement de contenu personnalisé et à la modification de sa mise en page.
Les produits SaaS comme Open Social peuvent s’avérer complexes : la manière dont tu choisis de fournir un logiciel à tes clients peut souvent imposer des limites sur ce que le logiciel peut (et ne peut pas) faire une fois qu’ils l’ont enfin entre les mains.
Tu peux choisir de fournir à tes clients leur propre instance isolée, ce qui présente de nombreux avantages. Leurs sites peuvent être entièrement personnalisés, de leur apparence et de leurs fonctionnalités à leur évolutivité pour répondre aux besoins de trafic, mais cette approche a aussi ses inconvénients. Si ton entreprise connaît suffisamment de succès pour mettre en place des centaines d'instances individuelles pour tes clients, quel est le meilleur moyen de garantir des mises à jour régulières et une sécurité homogène sur toutes ces instances ? Tu devrais développer des outils pour gérer tout ça, et cet investissement risquerait de faire grimper les coûts d’exploitation déjà considérables des instances elles-mêmes.
Sinon, tu pourrais très bien opter pour une approche plus collaborative. Dans ce cas, chaque client ne dispose en réalité que d’une partie du produit global dans le cloud, plutôt que de sa propre instance. Ça peut être utile pour configurer ce qu’ils voient et pour maintenir très facilement chaque client à jour, puisque tout le monde partage les mêmes données. Mais sans véritable isolation, le logiciel dont ils disposent dépend, au moins d’une certaine manière, de ces données partagées, ainsi que de la santé et de la sécurité de l’écosystème dans son ensemble. Et le site d’un client individuel devient d’autant plus difficile à faire évoluer et à personnaliser.
C’est en cherchant à tirer le meilleur parti de ces options sans leurs inconvénients respectifs qu’on a abouti à notre modèle actuel, qui utilise Upsun Cloud. À la base, chaque communauté sur Open Social est un site Drupal, et le code de chaque site se trouve dans son propre projet Upsun Cloud. Pour gérer ce modèle sur l’ensemble des communautés de nos clients, on a développé un outil appelé Multiverse. Multiverse s’appuie sur l’API publique de Upsun Cloud pour gérer aussi bien des projets individuels que des groupes plus importants de projets, tout en assurant la mise à jour régulière de toutes nos communautés en arrière-plan.
Grâce à ce modèle d’un projet par communauté, et avec une API plus complète à notre disposition, on bénéficie du meilleur de ces deux options pour proposer un produit SaaS. Si tu t’inscris à Open Social, tu auras un projet Upsun cloud complètement isolé de tout le reste. Aucun autre site communautaire n’affecte le tien, et ton site peut être agrandi, réduit et personnalisé comme tu le souhaites, à tout moment. Conserver cette capacité de personnalisation est essentiel à l’idée même d’une communauté. On peut alors initialiser et créer rapidement de nouvelles communautés à partir d’un modèle commun en utilisant l’API de Upsun Cloud, puis continuer à mettre à jour l’ensemble du parc — c’est-à-dire toutes les communautés qu’on gère — en arrière-plan à partir de là.
Avec le développement de Multiverse, on a automatisé tout le processus de création et de déploiement des sites pour chaque communauté. « Multiverse contrôle à peu près tout », explique Ronald te Brake, développeur senior chez Open Social. « Multiverse reçoit le site et le nom de domaine du responsable de la réussite client, puis communique avec Upsun via l’API. Il peut dire : “OK, j’ai besoin d’un nouvel environnement dans la région allemande, la région européenne ou la région américaine.” » Upsun Cloud se met alors au travail pour créer cet environnement. Une fois que c’est fait, Upsun envoie un signal à Multiverse pour nous signaler que le site a bien été créé. Multiverse peut aussi demander, par exemple : « Je veux changer le nom du site », ce qui lui permet de mettre à jour la communauté via l’API. »
Tout ça peut se faire via l’API de Upsun Cloud, qui permet à notre équipe de gérer presque tous les aspects d’un compte et des communautés hébergées chez nous. te Brake ajoute : « C’est vraiment pratique pour nous donner accès à toutes les configurations nécessaires pour créer, gérer et maintenir des sites web. L’API te permet de prendre un peu de recul, ce qui te permet d’apporter des modifications à plusieurs projets en même temps. »
Au lieu de compter uniquement sur la console de gestion d’Upsun Cloud pour gérer chaque projet individuellement, Multiverse nous offre une interface unique pour toutes les communautés, ce qui nous ouvre des possibilités considérables en matière de gestion de parc.
Plusieurs communautés en ligne sont hébergées sur Upsun Cloud et gérées par Open Social via Multiverse.
Multiverse fonctionne grâce à notre modèle cohérent, partagé par toutes les communautés sur Open Social. Comme chaque communauté est un site Drupal au sein d’un projet Upsun cloud, on peut très facilement initialiser de nouvelles communautés avec un modèle et des extensions qui ont fait leurs preuves, via Multiverse. Chaque communauté aura besoin d’un domaine spécifique, qui devient simplement un autre point de terminaison appelé via Multiverse. « Tu peux aussi faire tout ce dont tu as besoin via le tableau de bord », explique te Brake. « Mais c’est surtout du travail manuel. L’objectif final de Multiverse, c’est de s’assurer qu’on puisse pratiquement tout automatiser. »
Alors, qu’est-ce que le client gagne à ce qu’Open Social fonctionne avec un outil comme Multiverse reposant sur Upsun Cloud — en dehors du compromis entre l’isolement et l’appartenance à nos pratiques de surveillance et de sécurité à grande échelle pour la communauté ?
Tout d’abord, Multiverse permet à Open Social d’anticiper les intégrations externes dont les communautés ont couramment besoin, en les intégrant au processus d’initialisation et de maintenance lié à leurs comptes. Les identifiants Stripe sont ajoutés aux comptes et au tableau de bord Multiverse, de sorte que tout ce que nos développeurs et gestionnaires de comptes doivent savoir sur une communauté est entièrement disponible.
Du coup, les clients d’Open Social n’ont plus jamais à se soucier de l’hébergement. Les responsables des sites clients n’ont pas besoin de se connecter eux-mêmes à la plateforme d’hébergement. « Seuls les développeurs se connectent », explique te Brake, « et c’est pour ça qu’on préfère avoir de meilleures API et une meilleure expérience développeur. » C’est exactement ce qu’Open Social trouve chez Upsun : un partenaire de confiance qui comprend les besoins des développeurs. « Le fait qu’Upsun Cloud ouvre son API nous offre plein d’opportunités qui ne sont pas directement visibles pour les clients. Les utilisateurs ne remarquent rien de tout ça, car il y a un partenaire qui s’en charge pour nous et qui élimine tous les problèmes potentiels », explique te Brake.
Un autre effet secondaire intéressant de cette collaboration, c’est le type de communautés qu’on peut créer, dont certaines ouvrent de nouvelles perspectives tant pour Open Social que pour nos clients. Comme chaque communauté est un site Drupal, Multiverse permet de proposer aux clients une solution multisite : le projet d’un client correspond en fait à plusieurs installations Drupal partageant la même base de code.
Cette solution est très utile pour les grandes ONG qui mènent régulièrement différents projets ou campagnes, tant en interne qu’en externe, et qui ont besoin d’un moyen standardisé de rassembler les parties prenantes en ligne. Si un client a besoin de plusieurs communautés distinctes (mais interopérables), Open Social peut créer un modèle de communauté personnalisé qui nous permet de déployer presque instantanément une nouvelle communauté et de la mettre en ligne. Ronald te Brake explique : « On a un modèle — un ensemble partagé de fonctionnalités qui ont été combinées — et tu peux l’utiliser pour installer facilement un nouvel environnement avec les mêmes configurations. »
Au final, l’API Upsun Cloud a éliminé bon nombre des contraintes auxquelles on aurait été confrontés au début lors de la conception d’Open Social. On n’a pas eu à peser autant le pour et le contre entre le développement d’un modèle mono-locataire (une installation par client) ou multi-locataire (ressources partagées entre tous les clients) pour notre produit. Au lieu de ça, on a pu tirer le meilleur des deux modèles en proposant à chacun de nos clients des instances isolées, initialisées et gérées au sein d’un écosystème plus vaste de communautés grâce à Multiverse. Cette approche nous permet d’offrir à nos clients des sites sécurisés et fiables, tout en leur donnant la possibilité de personnaliser ces communautés à mesure qu’elles grandissent et évoluent.
L’expérience d’Adriaan Odendaal couvre un large éventail de disciplines créatives, allant du design et de la rédaction à la conception et au développement web, en passant par le marketing, le multimédia, l’animation et l’écriture de scénarios.
