TeaStore: Adaptándose con Microservicios para Tener Éxito
Descubre cómo TeaStore utiliza microservicios para adaptarse y prosperar en condiciones cambiantes.
Simon Bliudze, Giuseppe De Palma, Saverio Giallorenzo, Ivan Lanese, Gianluigi Zavattaro, Brice Arleon Zemtsop Ndadji
― 7 minilectura
Tabla de contenidos
- ¿Qué es TeaStore?
- Haciendo que TeaStore sea Adaptable
- Servicios Obligatorios y Opcionales
- Servicios Externos
- Servicios Locales
- Diferentes Niveles de Configuración
- La Magia de la Adaptación
- Escenario 1: Inaccesibilidad de la Base de Datos
- Escenario 2: Ciberataque a Servicios Externos
- Escenario 3: Corte de Proveedor de Nube
- Escenario 4: Aumento Repentino de Tráfico
- Escenario 5: Aumento de Tráfico Malicioso
- Escenario 6: Cambio en Requerimientos de DevOps
- Conclusión
- Fuente original
En el mundo tecnológico de hoy, tenemos todo tipo de herramientas geniales que ayudan a las empresas a manejar sus servicios en la nube. Un gran ejemplo de esto es el TeaStore, un sistema que usa microservicios para hacer las cosas. Pero, ¿qué es un microservicio? Piensa en ello como un montón de partes pequeñas e independientes que trabajan juntas, muy parecido a un equipo de superhéroes. Cada superhéroe tiene un poder específico que les ayuda a enfrentar diferentes desafíos.
Así que, vamos a sumergirnos en el mundo de TeaStore y ver cómo se adapta a diferentes situaciones mientras mantiene todo funcionando de manera fluida.
¿Qué es TeaStore?
TeaStore es un modelo práctico que muestra cómo los pequeños servicios pueden unirse para crear una aplicación más grande. Tiene cinco servicios principales:
- WebUI: Esta es la cara amigable con la que interactúan los usuarios.
- Auth: Este servicio verifica si los usuarios son quienes dicen ser.
- Persistence: Aquí es donde se almacena toda la información importante, como una bóveda súper segura.
- Image Provider: Este servicio se encarga de mostrar imágenes de los productos.
- Recommender: Este sugiere productos basándose en lo que otras personas han comprado o en lo que los usuarios están mirando actualmente.
TeaStore ha sido un gran ejemplo en el mundo de los microservicios. Sin embargo, su diseño original no ofrecía suficiente flexibilidad para manejar varias situaciones y eventos inesperados que podrían surgir en la vida real.
Haciendo que TeaStore sea Adaptable
Para abordar estas limitaciones, a TeaStore se le ha dado un cambio de imagen para convertirse en algo más adaptable. Esta nueva versión introduce la idea de servicios obligatorios y opcionales. Piensa en ello como un buffet donde debes tener algunos platillos (servicios obligatorios) en tu plato, mientras que otros (servicios opcionales) se pueden agregar según tus gustos personales.
Servicios Obligatorios y Opcionales
Los servicios obligatorios, que son los servicios WebUI, Image Provider y Persistence, son la línea de vida del sistema. Sin ellos, todo simplemente no funcionará. Sin embargo, servicios opcionales como el Recommender se pueden agregar cuando sea necesario. Si no está presente, ¡no te preocupes! Los usuarios aún pueden navegar por los productos como invitados anónimos.
Servicios Externos
Además, ciertos servicios pueden ser gestionados por proveedores externos. Imagina pedir pizza de tu restaurante favorito en lugar de hacerla tú mismo. Así es como funcionan los servicios externos. Por ejemplo, un proveedor externo podría manejar los inicios de sesión de los usuarios a través de Single Sign-On (SSO), facilitando la vida a los usuarios que pueden simplemente iniciar sesión con sus cuentas existentes de lugares como Google.
Servicios Locales
Ahora, a veces puedes encontrarte en una situación donde los servicios externos no están disponibles temporalmente. ¡No temas! Con el adaptable TeaStore, hay servicios locales listos para intervenir. Estos servicios locales pueden proporcionar funcionalidad básica hasta que los servicios externos vuelvan a estar en línea. Es como tener un plan de respaldo para tu pizzería favorita: si cierran, ¡siempre puedes preparar algo en casa!
Diferentes Niveles de Configuración
Para mantener todo funcionando sin problemas, el adaptable TeaStore tiene tres niveles diferentes de configuración:
-
Configuración Básica: Esta es la configuración básica donde solo operan los servicios obligatorios. Es como alimentar a un bebé solo con una cuchara: mínimo pero necesario.
-
Configuración Básica + Recommender en Modo de Bajo Consumo: Aquí, agregas el servicio Recommender, pero lo ejecutas en un modo de bajo consumo, lo que significa que reducirá energía y recursos mientras aún proporciona algunas sugerencias.
-
Configuración Completa: Esta es la configuración de primer nivel con todos los servicios funcionando a toda potencia. Los proveedores externos están en acción, y todo funciona como se espera. Piensa en ello como un buffet ilimitado, donde todo está disponible y listo para devorarse.
La Magia de la Adaptación
Lo impresionante del adaptable TeaStore es su capacidad de cambiar en respuesta a diferentes escenarios. Veamos algunas situaciones donde las cosas pueden no salir como se planeó.
Escenario 1: Inaccesibilidad de la Base de Datos
Imagina que la base de datos decide tomar una siesta y todas las consultas empiezan a agotar el tiempo. La WebUI hace un pequeño baile para adaptarse y muestra un mensaje amistoso de mantenimiento en lugar de simplemente estrellarse. Una vez que la base de datos vuelve, la WebUI retoma las operaciones normales. ¡Qué educado!
Escenario 2: Ciberataque a Servicios Externos
Si ocurre un ciberataque, los servicios externos podrían tener que apagarse por razones de seguridad. Aquí, el sistema cambia rápidamente a sus servicios locales para mantener las cosas funcionando a un nivel básico. La WebUI desactiva con gracia nuevos inicios de sesión y registros hasta que todo vuelva a la normalidad. ¡Hablando de mantener la calma bajo presión!
Escenario 3: Corte de Proveedor de Nube
Si el proveedor de nube sufre una falla de energía, los servicios pueden irse offline. En este caso, el sistema cambia a su configuración básica para mantener las características esenciales operativas. Una vez que los servicios externos están en línea de nuevo, vuelve a la configuración completa más rápido de lo que puedes decir "computación en la nube."
Escenario 4: Aumento Repentino de Tráfico
¿Qué pasa si un montón de usuarios invaden la WebUI el mismo día, como en una venta del Black Friday? El sistema debe adaptarse rápidamente para manejar la carga adicional. Con un poco de escalado inteligente, puede hacer frente a la demanda.
Si el servicio Recommender comienza a tener problemas bajo el peso, puede cambiar a un modo de bajo consumo que proporciona recomendaciones basadas en la popularidad básica. Es como un humano quedándose sin aliento; a veces, ¡necesitas tomar un respiro!
Escenario 5: Aumento de Tráfico Malicioso
Si un aumento repentino de tráfico se debe a un ataque DDoS, el sistema se pone su armadura. Puede limitar el acceso al servicio Auth, cambiar el Recommender a modo de bajo consumo y activar sus servicios de caché locales para reducir su dependencia de los servicios externos.
Escenario 6: Cambio en Requerimientos de DevOps
El adaptable TeaStore también puede responder a solicitudes de desarrolladores. Si quieren cambiar funciones, como agregar un nuevo método de pago o actualizar el algoritmo de Recommender, el sistema puede cambiar configuraciones rápidamente. Es como un camaleón cambiando de color, ¡listo para cualquier cosa!
Conclusión
El adaptable TeaStore es un ejemplo fascinante de cómo la tecnología puede ser flexible para satisfacer demandas variadas. Al tener servicios obligatorios y opcionales y estar listo para ajustarse a diferentes escenarios, mantiene todo funcionando sin problemas.
Así como tu buffet favorito con un montón de opciones, puedes personalizar la configuración para que se ajuste a tus necesidades mientras mantienes la experiencia agradable para todos los involucrados. Así que, ya seas un usuario casual o un dueño de negocio, el adaptable TeaStore te respalda en el mundo tecnológico en constante cambio.
Título: Adaptable TeaStore
Resumen: 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.
Autores: Simon Bliudze, Giuseppe De Palma, Saverio Giallorenzo, Ivan Lanese, Gianluigi Zavattaro, Brice Arleon Zemtsop Ndadji
Última actualización: 2024-12-20 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2412.16060
Fuente PDF: https://arxiv.org/pdf/2412.16060
Licencia: https://creativecommons.org/licenses/by/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.