7 Beneficios de la Arquitectura de Microservicios
Acerca del Autor: Jhon Robert Quintero H.
En el marco del OTN Tour 2017 que se llevó a cabo en Cali con la participación de los principales Oracle ACE Directors. Como asistente a este importante evento pude aprender de la experiencia y el conocimiento de los conferencistas Frank Munz y Mauricio Naranjo sobre los Beneficios de la Arquitectura De Microservicios.
¿Qué son los Microservicios?
También conocido como la Arquitectura de Microservicios – es un estilo que estructura una aplicación como una colección de servicios ligeramente acoplados, que implementan capacidades empresariales. La arquitectura de microservicios permite la entrega / despliegue continuo de aplicaciones grandes y complejas. Permitiendo descomponer aplicaciones en servicios más pequeños para escalamiento y manejo de ciclos de vida más eficientes.
Arquitectura Tradicional Monolítica
Es el típico desarrollo que se despliega como una sola aplicación monolítica. Por ejemplo, una aplicación web Java que consta de un solo archivo WAR que se ejecuta en un contenedor web como Tomcat. Se Pueden ejecutar varias instancias de la aplicación con un balanceador de carga para escalar y mejorar la disponibilidad.
Arquitectura de Microservicios
Imaginemos que está construyendo una aplicación de comercio electrónico que recibe pedidos de clientes, verifica el inventario y el crédito disponible y hace el despacho. La aplicación consta de varios componentes, incluyendo el StoreFrontUI, que implementa la interfaz de usuario, junto con algunos servicios de back-end para verificar el crédito, mantener el inventario y las ordenes de despacho. La aplicación consiste en un conjunto de servicios.
Beneficios de la Arquitectura De Microservicios
Esta solución tiene una serie de beneficios:
- Cada microservicio es relativamente pequeño. Más fácil de entender. La aplicación se inicia más rápido. Es uno de los principales Beneficios de la Arquitectura de Microservicios.
- Cada servicio se puede implementar independientemente de otros servicios – es más fácil implementar nuevas versiones de servicios y con mayor frecuencia.
- Más fácil de desarrollar a escala. Le permite organizar el esfuerzo de desarrollo en torno a varios equipos. Cada equipo puede desarrollar, desplegar y escalar sus servicios independientemente de todos los demás equipos.
- Mayor aislamiento de fallas. Por ejemplo, si hay una pérdida de memoria en un servicio, sólo ese servicio se verá afectado. Los otros servicios seguirán atendiendo a las solicitudes.
- Cada servicio puede ser desarrollado e implementado independientemente.
- Cada servicio puede construirse con las tecnologías y herramientas más adecuadas, las aplicaciones se pueden escribir en una mezcla de lenguajes para explotar sus mejores características.
- Implementar módulos redundantes, disponiendo que ante la caída de uno de los módulos el tráfico se derive al servicio redundante y así no provocar la caída del servicio.
Conclusiones
La arquitectura monolítica tradicional ya no cumple con las necesidades de escalabilidad y desarrollo rápido, por eso los Beneficios de la Arquitectura de Microservicios nos solucionan el como construir aplicaciones altamente escalables y de manera ágil.
El éxito de Netflix, Amazon , eBay, al evolucionar hacia los microservicios, es una gran motivación para que otras empresas consideren hacer el cambio.
Oracle Performance Tuning: Top 10 Errores Comunes en Clientes