Video

Learn more
Crea microservicios resistentes y de alta disponibilidad con Redis Enterprise
Las arquitecturas de microservicios permiten lanzar nuevos productos más rápido, ayudarlos a escalar más fácilmente y responder mejor a las demandas de los clientes. Con sus múltiples modelos de datos modernos, tolerancia a fallos en cualquier escenario, multi-arrendamiento para aislamiento y la flexibilidad para implementarse en múltiples entornos, Redis Enterprise permite a los desarrolladores y operadores optimizar su capa de datos para una arquitectura de microservicios.
As defined by Chris Richardson, noted microservices expert, microservices architecture is an architectural style for structuring applications as a collection of loosely coupled services that are highly maintainable and testable, independently deployable, bounded by specific business domains, and owned by small teams. A microservice architecture enables the rapid, frequent, and reliable delivery of large, complex applications.
Según la definición de Chris Richardson, conocido experto en microservicios, la arquitectura de microservicios es un estilo arquitectónico para estructurar aplicaciones como una colección de servicios poco acoplados que son altamente mantenibles y comprobables, desplegables de forma independiente, limitados por dominios empresariales específicos y propiedad de equipos pequeños. Una arquitectura de microservicios permite la entrega rápida, frecuente y fiable de aplicaciones grandes y complejas.
Las aplicaciones basadas en microservicios permiten iniciativas estratégicas de transformación digital y migración a la nube
Los microservicios son un estilo de arquitectura que ha ayudado a los equipos de desarrollo a crear un software mejor, más rápido y a minimizar los costes y la complejidad de la modernización de las aplicaciones. Como resultado, las arquitecturas de microservicios se han adoptado en todas las industrias, para proyectos que justificadamente se pueden etiquetar como “iniciativas de transformación digital”, así como para tareas más mundanas pero importantes, como el arranque de implementaciones en la nube.
Este estilo de arquitectura y su cultura de desarrollo de software relacionada permiten que los equipos de desarrollo de microservicios operen en sus propios ciclos de lanzamiento, adopten la propiedad del producto de extremo a extremo y adopten un marco DevOps basado en integración continua/entrega continua. El resultado es que las empresas pueden reducir el tiempo de comercialización para el desarrollo de nuevos servicios, a menudo a partir de proyectos medidos en meses o días.Los microservicios aceleran las migraciones a la nube de nivel de datos. Esto se debe a que se basan principalmente en bases de datos NoSQL nativas de la nube. Las bases de datos NoSQL están reemplazando las bases de datos relacionales locales que no se crearon para la nube ni para ciclos de lanzamiento independientes, según una encuesta de 2021 IDC InfoBrief survey.
Además, algunas organizaciones no pueden migrar sus aplicaciones monolíticas heredadas a nativas de la nube todas a la vez. Los microservicios permiten la migración incremental de subdominios de una arquitectura monolítica a pilas de tecnología moderna.
En un entorno de microservicios, los servicios que necesitan ejecutarse en tiempo real deben compensar la sobrecarga de la red. Redis Enterprise ofrece una latencia inferior al milisegundo para todos los tipos y modelos de datos de Redis. Además, se escala instantánea y linealmente a casi cualquier rendimiento necesario.
Para garantizar que sus aplicaciones sean resistentes a fallos, Redis Enterprise utiliza una arquitectura de clúster compartida. Es tolerante a fallos en todos los niveles: con conmutación por error automatizada a nivel de proceso, para nodos individuales e incluso a través de zonas de disponibilidad de infraestructura. También incluye persistencia ajustable y recuperación ante desastres.
Redis Enterprise permite a los desarrolladores elegir el modelo de datos que mejor se adapte a sus requisitos de rendimiento y acceso a datos para su arquitectura de microservicios y diseño basado en dominios, al mismo tiempo que mantiene el aislamiento con la implementación de múltiples usuarios en una única plataforma de datos.
Redis Enterprise proporciona una interfaz operativa unificada que reduce la expansión tecnológica, simplifica las operaciones y reduce la latencia del servicio. Redis Enterprise Operator para Kubernetes le brinda implementaciones automatizadas y consistentes para reducir el riesgo. Eso permite que los equipos de desarrollo se centren en la innovación y el valor empresarial.
Elija dónde debe ejecutarse su base de datos. Redis Enterprise puede desplegarse en cualquier lugar: en cualquier plataforma de nube, en las instalaciones o en una arquitectura de nube híbrida o multicloud.
El aislamiento o contexto acotado es una característica importante de una arquitectura de microservicio. Como parte del diseño basado en dominios, cada servicio puede tener una base de datos dedicada con su propio modelo de datos único y objetivos de rendimiento del acuerdo de nivel de servicio. El almacenamiento en caché de consultas, un patrón de caché comúnmente utilizado para reducir los tiempos de respuesta de los microservicios, funciona mediante la implementación de una caché de Redis Enterprise junto con cada microservicio para entregar los datos que se necesitan dentro de un solo contexto comercial. (Es decir, sirve solo un microservicio).
Redis Enterprise Smart Cache es compatible con varios modelos de datos que se pueden implementar fácilmente en varios usuarios y permanecer aislados, todo ello sin sacrificar el rendimiento.
Los microservicios necesitan un acceso rápido a los datos, pero eso puede ser un reto cuando docenas o cientos de microservicios intentan leer de la misma base de datos lenta basada en disco. Los datos entre dominios tienen que estar disponibles para cada microservicio en tiempo real, y hacerlo sin romper el alcance de su contexto y objetivo empresarial.
La segregación de responsabilidades de comandos y consultas (CQRS) es un patrón de caché de precarga crítico dentro de las arquitecturas de microservicios que desacoplan las lecturas (consultas) y las escrituras (comandos). Esto permite que una aplicación escriba datos en una base de datos SQL basada en disco más lenta, mientras que obtiene y almacena en caché previamente esos datos utilizando la capacidad de captura de datos de cambio (CDC) integrada en Redis Enterprise para lecturas ultrarrápidas. De este modo, los datos están disponibles de inmediato para otros microservicios que los necesiten.
Las aplicaciones de microservicios pueden almacenar en caché los datos a los que se accede globalmente en el nivel de la pasarela API para distribuir y acelerar los datos a los que acceden todos los servicios. Por lo general, se trata de datos de sesión (como el ID de usuario y las preferencias) y datos de autenticación (tokens, estado de autorización, permisos). Esto permite que los datos que se necesitan con frecuencia estén disponibles en tiempo real para todos los servicios. ¿Cuál es el resultado? Reducir la latencia de la aplicación sin romper los límites de cada contexto empresarial de microservicio.
La limitación de velocidad, en la que se mide el número de solicitudes de API en un determinado periodo de tiempo, también puede implementarse en la pasarela de API utilizando Redis Enterprise. Esto puede evitar la sobrecarga del sistema y previene los ataques DDoS.
Los microservicios deben comunicarse entre sí el estado, los eventos y los datos sin romper el aislamiento, y tienen que permanecer desacoplados. Una solución habitual es incorporar a la arquitectura un agente de mensajería de publicación y suscripción, es decir, hacer que la comunicación entre servicios se rija por eventos y sea coherente, y tratar cada mensaje entre microservicios como un evento.
Redis Streams es una estructura de datos de registro inmutable y ordenada en el tiempo que permite a un servicio (productor) publicar mensajes asíncronos a los que pueden suscribirse varios consumidores. Puede configurarse para gestionar diferentes garantías de entrega, admitir grupos de consumidores y aplicar otras funciones comparables a las particiones de temas de Apache Kafka. Aún mejor, Redis Streams ayuda a crear informes, análisis, auditorías y análisis forenses en el backend.
Una arquitectura de microservicios tiene muchos servicios conectados, pero se enfrenta a las mismas exigencias de rendimiento que otros enfoques. Para minimizar la latencia, los datos deben residir lo más cerca posible de los servicios. Garantizar que las bases de datos sean coherentes entre sí en caso de fallos o actualizaciones conflictivas también puede ser un gran reto. Redis Enterprise puede desplegarse como una base de datos de activo a activo, replicada y libre de conflictos, para gestionar las actualizaciones de múltiples instalaciones locales de tus servicios pero sin comprometer la latencia o la consistencia de los datos, y proporcionando continuidad en caso de fallos.
Redis Enterprise proporciona múltiples estructuras de datos (hashes, cadenas, Streams, listas, etc.) y modelos que incluyen JSON, búsqueda, series temporales y gráficos que le permiten elegir el modelo de datos que mejor se adapte a su dominio de microservicio, rendimiento y requisitos de acceso a datos. Y todo está en una única plataforma de datos.
Dentro de un diseño de base de datos de arquitectura de microservicios, con tan solo un único clúster de Redis Enterprise puede proporcionar bases de datos a muchos servicios diferentes, cada uno con su propia instancia aislada, ajustada para la carga de trabajo en cuestión. Cada instancia de la base de datos se despliega, escala y modela independientemente de las demás, al tiempo que aprovecha el mismo entorno de clúster, aislando los datos entre los servicios sin aumentar la complejidad operativa.
Los microservicios proporcionan una gran flexibilidad tecnológica, y elegir dónde desea ejecutar su base de datos no debería ser una excepción. Redis Enterprise se puede implementar en cualquier lugar: en cualquier plataforma de nube, en las instalaciones o en una arquitectura de nube múltiple o híbrida. También está disponible en Kubernetes, Pivotal Kubernetes Service (PKS) y Red Hat OpenShift.
Los contenedores están estrechamente alineados con las aplicaciones de microservicios y ayudan a las empresas a implantarlas. Kubernetes es la plataforma estándar de facto para el despliegue, la programación y la orquestación de contenedores. Redis es la principal tecnología de base de datos que se ejecuta en contenedores, con más de dos mil millones de lanzamientos de concentradores Docker. Redis Enterprise Operator para Kubernetes ofrece: escalabilidad automática, volúmenes de almacenamiento persistentes, gestión simplificada de puntos finales de bases de datos y actualizaciones continuas sin tiempo de inactividad. Está disponible en múltiples plataformas Kubernetes y servicios gestionados en la nube, incluyendo RedHat OpenShift, VMware Tanzu Kubernetes Grid (anteriormente Enterprise PKS), Kubernetes aguas arriba, y Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), o Amazon Elastic Kubernetes Service (EKS).