Comment Jamespot fait face à la montée en charge grâce à l’adoption du multi-cloud
Jamespot est un éditeur SaaS offrant des solutions collaboratives et sociales. La société met à disposition un service de réseaux sociaux d’entreprise, intégrant plus de 100 applications.
Actuellement, Jamespot répond aux besoins de plus de 500 000 utilisateurs finaux, répartis chez 300 clients différents, allant de petits groupes d’utilisateurs (moins de 20 personnes) à des groupes de plus de 100 000 utilisateurs.
Repenser son architecture monolithique
Historiquement ,la plateforme Jamespot a été développée sur une architecture monolithique reposant sur des machines virtuelles (VM). L’infrastructure permettait de gérer des groupes d’utilisateurs allant jusqu’à 30 000 utilisateurs.
Toujours plus essentielles et de plus en plus utilisées, les plateformes Jamespot avaient besoin de pouvoir tenir de charges fortes, mais surtout de savoir s’adapter à de grandes variations de trafic. L’infrastructure reposant sur des VM n’était plus suffisante pour garantir un service de qualité. Les équipes techniques ont donc fait le choix de repenser l’architecture logicielle et l’infrastructure pour répondre aux nouveaux enjeux :
une meilleure gestion des montées en charge ;
une plus grande qualité de service grâce à une haute disponibilité des données ;
être cloud agnostique pour permettre une migration facile des données d’un fournisseur vers un autre ou une répartition de la charge entre plusieurs fournisseurs ;
choisir des fournisseurs cloud souverains.
Initier une stratégie multi-cloud
En 2018, l’équipe de Jamespot décide de découper son architecture monolithique historique en microservices pour faciliter la montée en charge et lui permettre notamment d’accueillir de très grands réseaux (80K+ utilisateurs).
Elle décide de s’appuyer sur l’orchestrateur Kubernetes.
Il est dans un premier temps déployé sur un « Private Cloud VMWARE».
D’autres produits et services sont venus s’ajouter au catalogue, produits pour lesquels Jamespot a choisi d’utiliser l’offre Kapsule de Scaleway.
Grâce à Kapsule, le déploiement de cluster Kubernetes pour de la visio ou de l’édition collaborative par exemple, s’est fait de manière fluide et transparente.
Le choix d’une offre « Kubernetes managé » permet aussi de s’affranchir de toute la partie technique de la gestion du cluster pour se consacrer sur le contenu.
Jamespot décide d’initier une stratégie multi-cloud pour l’infrastructure principale qui héberge les plateformes clients, afin de répondre aux besoins de résilience et d’être cloud agnostique.
Aujourd’hui, cette stratégie s’appuie sur :
les serveurs Bare Metal d’OVH, leur fournisseur historique ;
des instances 3DS OutScale, pour les besoins HDS (données de santé) ;
et plusieurs produits Scaleway :
Kosmos, le gestionnaire managé de clusters Kubernetes permettant de séparer les nodes au sein de plusieurs cloud providers, offrant ainsi un produit hautement disponible ;
et sa Console offrant une meilleure expérience développeur.
Jamespot souhaite s’appuyer sur un quatrième fournisseur afin d’assurer le monitoring, le PRA (plan de reprise d’activité) et d’externaliser un outil de déploiement pour piloter les autres plateformes. Ainsi, elle s’assure d’une architecture résiliente, multi-AZ et multi-fournisseur.
Construire sa nouvelle architecture multi-fournisseur avec Kosmos
L’architecture de Jamespot repose sur :
Kubernetes pour orchestrer le conteneur de ses différents services ;
Kapsule, la solution de Kubernetes managé, pour automatiser certains de ses services ;
des instances et des serveurs dédiés hébergés chez différents fournisseurs cloud pour assurer la forte disponibilité de ses services ;
Kosmos pour manager des nodes répartis sur les instances des différents fournisseurs cloud ;
Gitlab comme outils de CI/CD.
Jamespot est prêt à affronter de nouveaux pics de charge, en maîtrisant le coût et en garantissant à ses clients la haute disponibilité des données. Prochaine étape, tester Serverless Containers pour automatiser la gestion de certains de leurs microservices.
L’efficacité du support (forfait Silver) et de la communauté au sein du Slack Community de Scaleway, lui permettent d’échanger directement avec les développeurs du produit et, ainsi, d’avancer efficacement dans ses développements.
Construire ensemble grâce à des valeurs communes
Suite à l’adoption de Kubernetes et de sa stratégie multi-cloud, Jamespot tire un premier bilan très favorable de sa collaboration avec Scaleway, d’un point de vue technologique, mais pas seulement. Au fil des années, Jamespot et Scaleway ont évolué dans la même direction grâce à une vision commune sur l’avenir du cloud (le multi-cloud) et des valeurs partagées telles que l’innovation, le partage et la confiance.
Finalement, c’est ensemble que Jamespot et Scaleway vont créer et promouvoir le multi-cloud grâce au partage d’expérience et de connaissances.
Nous sommes ravis d'accueillir Frédéric Ameye, de l'association Infoclimat, pour nous présenter l'historique des choix techniques et les challenges associés à leur évolution.
Familink a récemment migré l’intégralité de son infrastructure d’AWS à Scaleway. Apprenez de leur retour d'expérience comment stocker vos données en Europe.
Dans cet article, nous allons distinguer les différentes méthodes d'autoscaling fournies par Kubernetes et comprendre les différences entre l'horizontal pod autoscaler et le vertical pod autoscaler.