TeaStore : S'adapter avec des microservices pour réussir
Découvrez comment TeaStore utilise des microservices pour s'adapter et prospérer dans des conditions changeantes.
Simon Bliudze, Giuseppe De Palma, Saverio Giallorenzo, Ivan Lanese, Gianluigi Zavattaro, Brice Arleon Zemtsop Ndadji
― 7 min lire
Table des matières
- C'est quoi TeaStore ?
- Rendre TeaStore Adaptable
- Services Obligatoires et Optionnels
- Services Externes
- Services Locaux
- Différents Niveaux de Configuration
- La Magie de l'Adaptation
- Scénario 1 : Base de Données Indisponible
- Scénario 2 : Cyberattaque sur les Services Externes
- Scénario 3 : Panne de Fournisseur Cloud
- Scénario 4 : Augmentation Soudaine du Trafic
- Scénario 5 : Augmentation de Trafic Malveillant
- Scénario 6 : Changement de Besoins DevOps
- Conclusion
- Source originale
Dans le monde technologique d'aujourd'hui, on a plein d'outils cool qui aident les entreprises à gérer leurs services dans le cloud. Un super exemple de ça, c'est le TeaStore, un système qui utilise des microservices pour faire les choses. Mais c'est quoi un microservice ? Imagine ça comme un tas de petites pièces indépendantes qui travaillent ensemble, un peu comme une équipe de super-héros. Chaque super-héros a un pouvoir spécifique qui l'aide à relever différents défis.
Alors, plongeons dans le monde de TeaStore et voyons comment ça s'adapte à différentes situations tout en gardant tout en marche.
C'est quoi TeaStore ?
TeaStore est un modèle pratique qui montre comment des petits services peuvent se rassembler pour créer une application plus grande. Il a cinq services principaux :
- WebUI : C'est la face amicale avec laquelle les utilisateurs interagissent.
- Auth : Ce service vérifie si les utilisateurs sont vraiment qui ils disent être.
- Persistence : C'est là où toutes les données importantes sont stockées en toute sécurité, un peu comme un coffre-fort super sécurisé.
- Image Provider : Ce service est chargé d'afficher les images des produits.
- Recommender : Celui-là suggère des produits en fonction de ce que les autres ont acheté ou de ce que les utilisateurs regardent actuellement.
TeaStore est un super exemple dans le monde des microservices. Mais son design d'origine n'offrait pas assez de flexibilité pour gérer diverses situations et événements inattendus qui pourraient surgir dans la vraie vie.
Rendre TeaStore Adaptable
Pour régler ces limitations, TeaStore a subi une transformation pour devenir plus adaptable. Cette nouvelle version introduit l'idée de services obligatoires et optionnels. Pense à ça comme à un buffet où tu dois avoir certains plats (services obligatoires) pour remplir ton assiette, tandis que d'autres (services optionnels) peuvent être ajoutés selon tes goûts personnels.
Services Obligatoires et Optionnels
Les services obligatoires, qui sont les services WebUI, Image Provider et Persistence, sont la bouée de sauvetage du système. Sans eux, tout ne fonctionne pas. Cependant, des services optionnels comme le Recommender peuvent être ajoutés si besoin. S'il n'est pas là, pas de souci ! Les utilisateurs peuvent toujours naviguer parmi les produits en tant qu'invités anonymes.
Services Externes
En plus, certains services peuvent être gérés par des fournisseurs externes. Imagine commander une pizza à ton restaurant préféré plutôt que de la faire toi-même. C'est comme ça que fonctionne le service externe. Par exemple, un fournisseur externe pourrait gérer les connexions utilisateurs via Single Sign-On (SSO), rendant la vie plus facile pour les utilisateurs qui peuvent simplement se connecter avec leurs comptes existants comme ceux de Google.
Services Locaux
Maintenant, parfois tu peux te retrouver dans une situation où les services externes ne sont temporairement pas disponibles. Pas de panique ! Avec le TeaStore adaptable, des services locaux sont prêts à intervenir. Ces services locaux peuvent fournir des fonctionnalités de base jusqu'à ce que les services externes soient de retour en ligne. C’est comme avoir un plan de secours pour ta pizzeria préférée : si elle ferme, tu peux toujours préparer quelque chose chez toi !
Différents Niveaux de Configuration
Pour garder tout en marche, le TeaStore adaptable a trois niveaux de configuration différents :
-
Configuration de Base : C'est la configuration de base où seuls les services obligatoires fonctionnent. C’est comme nourrir un bébé avec juste une cuillère : minimum mais nécessaire.
-
Base + Recommender en Mode Économie d’Énergie : Là, tu ajoutes le service Recommender, mais tu le fais fonctionner en mode économie d'énergie, ce qui veut dire qu'il va réduire l'énergie et les ressources tout en fournissant quelques suggestions.
-
Configuration Complète : C'est la configuration haut de gamme avec tous les services fonctionnant à pleine puissance. Les fournisseurs externes sont en action, et tout fonctionne comme prévu. Pense à ça comme à un buffet à volonté, où tout est disponible et prêt à être dévoré.
La Magie de l'Adaptation
La beauté du TeaStore adaptable, c’est sa capacité à changer en réponse à différents scénarios. Voyons quelques situations où les choses pourraient ne pas se passer comme prévu.
Scénario 1 : Base de Données Indisponible
Imagine que la base de données décide de faire une petite sieste, et toutes les requêtes commencent à expirer. Le WebUI fait une petite danse pour s'adapter et montre un message de maintenance amical au lieu de simplement planter. Une fois la base de données de retour, le WebUI reprend ses opérations normales. Quelle politesse !
Scénario 2 : Cyberattaque sur les Services Externes
Si une cyberattaque survient, les services externes pourraient devoir s'arrêter pour des raisons de sécurité. Là, le système passe rapidement à ses services locaux pour garder les choses fonctionnelles à un niveau de base. Le WebUI désactive gentiment les nouvelles connexions et inscriptions jusqu'à ce que tout soit de nouveau opérationnel. Parler de garder son calme sous pression !
Scénario 3 : Panne de Fournisseur Cloud
Si le fournisseur cloud subit une panne de courant, les services peuvent être hors ligne. Dans ce cas, le système passe à sa configuration de base pour garder les fonctionnalités essentielles opérationnelles. Une fois que les services externes sont de nouveau en ligne, il revient à la configuration complète plus vite que tu ne peux dire "cloud computing".
Scénario 4 : Augmentation Soudaine du Trafic
Que se passe-t-il si des tonnes d'utilisateurs inondent le WebUI le même jour, comme lors d'une vente Black Friday ? Le système doit s'adapter rapidement pour gérer la charge supplémentaire. Avec un peu d'échelle astucieuse, il peut suivre la demande.
Si le service Recommender commence à avoir du mal sous le poids, il peut passer en mode économie d'énergie, qui fournit des recommandations basées sur la popularité de base. C’est comme un humain qui manque de souffle : parfois, il faut prendre un moment pour respirer !
Scénario 5 : Augmentation de Trafic Malveillant
Si une augmentation soudaine du trafic est due à une attaque DDoS, le système met son armure. Il peut limiter l'accès au service Auth, passer le Recommender en mode économie d'énergie, et activer ses services de cache locaux pour réduire sa dépendance aux services externes.
Scénario 6 : Changement de Besoins DevOps
Le TeaStore adaptable peut aussi répondre aux demandes des développeurs. S'ils veulent changer des fonctionnalités, comme ajouter un nouveau moyen de paiement ou mettre à jour l'algorithme du Recommender, le système peut changer de configuration rapidement. C'est comme un caméléon qui change de couleur : prêt à tout !
Conclusion
Le TeaStore adaptable est un exemple fascinant de comment la technologie peut être flexible pour répondre à des demandes variées. En ayant des services obligatoires et optionnels et en étant prêt à s'ajuster à différents scénarios, il maintient tout en marche.
Tout comme ton buffet préféré avec plein d'options, tu peux personnaliser la configuration pour répondre à tes besoins tout en gardant l'expérience agréable pour tout le monde. Donc, que tu sois un utilisateur occasionnel ou un propriétaire d'entreprise, le TeaStore adaptable est là pour toi dans le monde technologique en constante évolution.
Titre: Adaptable TeaStore
Résumé: Adaptability is a fundamental requirement for modern Cloud software architectures to ensure robust performance in the face of diverse known and unforeseen events inherent to distributed systems. State-of-the-art Cloud systems frequently adopt microservices or serverless architectures. Among these, TeaStore is a recognised microservice reference architecture that offers a benchmarking framework for modelling and resource management techniques. However, TeaStore's original configuration lacks the flexibility necessary to address the varied scenarios encountered in real-world applications. To overcome this limitation, we propose an enhanced variant of TeaStore that distinguishes between mandatory and optional services while incorporating third-party service integration. Core services such as WebUI, Image Provider, and Persistence are designated as mandatory to maintain essential functionality, whereas optional services, such as Recommender and Auth, extend the architecture's feature set. We outline the design and configuration possibilities of this adaptable TeaStore variant, aimed at enabling a broader spectrum of configurability and operational resilience.
Auteurs: Simon Bliudze, Giuseppe De Palma, Saverio Giallorenzo, Ivan Lanese, Gianluigi Zavattaro, Brice Arleon Zemtsop Ndadji
Dernière mise à jour: 2024-12-20 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2412.16060
Source PDF: https://arxiv.org/pdf/2412.16060
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.