Está en la página 1de 30

Introducción a los Servicios y

Microservicios
Ms. Camilo E. Suárez Rebaza
Índice

• Arquitectura Tradicional de aplicaciones empresariales.


• Arquitectura SOA
• Arquitectura Monolítica
• Arquitectura de Microservicios.
• Arquitectura Serverless.
• Arquitectura de Nanoservicios.
• Herramientas de implementación de microservicios.
Arquitectura Tradicional de aplicaciones
empresariales JAVA
Arquitectura SOA
• La arquitectura orientada a servicios (SOA) es un estándar del sector de definición
abierta que presenta todos los procesos de negocio de un modo orientado a
servicios. Las dependencias entre servicios, tales como servicios web, activos de
servicio EIS (Enterprise Information System), flujos de trabajo y bases de datos se
minimizan y se oculta la implementación de cualquier servicio.

• El objetivo de la arquitectura orientada a servicios es separar la lógica de


integración de negocio de la implementación, para que el desarrollador de
integración pueda centrarse en ensamblar una aplicación integrada en lugar de
hacerlo en los detalles de la implementación. Para lograrlo, se crean
componentes de servicio que contienen la implementación de servicios
individuales necesarios para los procesos de negocio. El resultado es una
arquitectura de tres capas: lógica de integración de negocio, componentes de
servicio e implementación.
Arquitectura SOA
Arquitectura Monolítica
• Un Monolito es una aplicación que tiene todos sus components contenidos en
un único desplegable, y que tipicamente tiene una cadencia de Liberaciones de 3
a 18 meses. Algunas aplicaciones pueden incluso tener una cadencia de 2 años, lo
cual no esta diseñado para una Empresa Ágil.
• Los Monolitos tipicamente evolucionan sobre el tiempo intentando hacer rápidas
mejoras iterativas a una aplicación, sin preocuparse de límites apropiados entre
diferentes partes o components dentro de ellos. Indicadores de una aplicación se
convierte en monolito pueden incluir lo siguiente:
• Multiples WARs que son parte de un único despliegue, debido a su comportamiento
interdependiente
• EARs que potencialmente contienen docenas de otros WARs y JARs que proven la
funcionalidad necesaria.
Arquitectura Monolítica - beneficios
Arquitectura
Monolítica –
problemas
Arquitectura de Microservicios
• En resumen, el estilo arquitectónico de microservicios es un enfoque para
desarrollar una sola aplicación como un conjunto de pequeños servicios, cada
uno ejecutándose en su propio proceso y comunicándose con mecanismos
ligeros, a menudo una API de recursos HTTP.
• Estos servicios se basan en capacidades comerciales y se pueden implementar de
forma independiente mediante maquinaria de implementación totalmente
automatizada. Existe un mínimo de administración centralizada de estos
servicios, que pueden estar escritos en diferentes lenguajes de programación y
utilizar diferentes tecnologías de almacenamiento de datos.
Arquitectura de Microservicios
Arquitectura de Microservicios
• Una aplicación de microservicios es una colección de servicios autónomos, cada
uno de los cuales hace bien una cosa, que trabajan juntos para realizar
operaciones más complejas. En lugar de un único sistema complejo, crea y
administra un conjunto de servicios relativamente simples que pueden
interactuar de formas complejas. Estos servicios colaboran entre sí a través de
protocolos de mensajería independientes de la tecnología, ya sea punto a punto
o asincrónicamente.
Arquitectura de Microservicios
Arquitectura de Microservicios
Arquitectura de Microservicios
• Otros afirman que un servicio solo debería tardar dos semanas en desarrollarse.
Adrian Cockcroft, anteriormente de Netflix, define una arquitectura de
microservicio como una arquitectura orientada a servicios compuesta de
elementos débilmente acoplados que tienen contextos delimitados.
Arquitectura de Microservicios
Arquitectura de Microservicios
Arquitectura de Microservicios
Arquitectura de Microservicios
Arquitectura de Microservicios
• Un servicio es una mini aplicación que implementa una funcionalidad
estrechamente enfocada y limitada, como la gestión de pedidos, la gestión de
clientes, etc. Un servicio se escala mediante la escala del eje X, aunque algunos
servicios también pueden usar la escala del eje Z. Por ejemplo, el servicio de
pedidos consta de un conjunto de instancias de servicio con equilibrio de carga.
• La definición de alto nivel de arquitectura de microservicios (microservicios) es un
estilo arquitectónico que descompone funcionalmente una aplicación en un
conjunto de servicios. Tenga en cuenta que esta definición no dice nada sobre el
tamaño. En cambio, lo que importa es que cada servicio tiene un conjunto de
responsabilidades centrado y coherente.
Arquitectura SOA vs Microservicios
Arquitectura SOA vs Microservicios
Arquitectura Monolítica vs Microservicios
Arquitectura Monolítica vs Microservicios
Arquitectura
Monolítica vs
Microservicios
Arquitectura Monolítica vs Microservicios
Evolución de Arquitectura
Arquitectura Microfrontend
• Investigar
Arquitectura Serverless
• Investigar
Arquitectura de Nanoservicios
• Investigar
Herramientas de implementación de
microservicios
• Spring Boot / Microprofile
• Hibernate.
• HashiCorp Consul.
• Apache Kafka.
• RabbitMQ.
• GitHub.
• Docker.
• Kubernetes.

También podría gustarte