Está en la página 1de 18

ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE EN VIVO

Curso:

ARQUITECTURA DE
MICROSERVICIOS I
(Spring Boot, Spring Cloud, Docker, Design, Patterns, Buildings, Deployments)

www.codearti.com
ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

RESUMEN OBJETIVOS
Conoce y desarrolla una arquitectura de microservicios - Desarrollar los conocimientos y entrenamiento práctico para
básica, implementando los principales patrones que existen, implementar una arquitectura de microservicios básica a nivel
utilizando Java, Spring Boot, Spring Cloud y Docker a través empresarial utilizando Java y Spring Framework.
de un caso práctico que será desarrollado de manera - Estar preparado para iniciar cursos avanzados de arquitectura
progresiva en cada sesión. de microservicios implementando patrones avanzados y
tecnologías de gestión de contenedores y cloud.
- Estar preparado para empezar en la implementación de
arquitecturas de microservicios de manera profesional.

METODOLOGÍA REQUISITOS
- Exposición de aspectos teóricos. - Fundamentos de arquitectura de aplicaciones en capas o
- Discusiones e intercambio de ideas. similares.
- Presentación de la arquitectura propuesta y caso práctico. - Conocimientos de programación orientada a objetos y
- Desarrollo del caso práctico de manera progresiva en cada funcional en Java.
sesión. - Conocimientos de base de datos relacionales.
- Conocimientos de Spring Boot.

Brochure Curso Arquitectura de Microservicios I


Docker Host
CURSO DE INICIALIZACIÓN DE
- Dockerfile
- Docker Compose ARQUITECTURA DE MICROSERVICIOS I

- Registry Monitoring
Discovery Server - Discovery Product Microservice
- Load Balancer

Fault Tolerance
API Gateway HTTP Get Resilience
Circuit breaker

Cart Microservice

Config Server

OAuth Server Distributed Tracing


ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

Grupo 1: 1 de Julio (Sábados)


Grupo 2: 1 de Julio (Sábados)
Grupo 3: 4 de Julio (Martes y Jueves)

PRÓXIMOS Horario (Hora Perú GMT-5):


Grupo 1: Mañana 9:30 a 13:30 (Sábados)
Grupo 2: Tarde 15:00 a 19:00 (Sábados)
Grupo 3: Noche 21:00 a 23:00 (Martes y Jueves)

INICIOS EN Duración: 16 horas


4 sesiones de 4h c/u (Sabados)
8 sesiones de 2h c/u (Martes y Jueves)

JULIO Modalidad: Online en vivo (clases grabadas)

Aplicativo: Google Meet (Videollamada)

Portal académico: Google Classroom (Material compartido)

Capacidad mínima para empezar: 6 alumnos por grupo

Capacidad máxima: 20 alumnos por grupo

Brochure Curso Arquitectura de Microservicios I


ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

DSCTO HASTA EL 15 DE JUNIO MÉTODOS DE PAGO

PRECIO CON
MERCADOPAGO SOLES (SOLO PERÚ)

35%
https://mpago.la/31oDHuc

*Este método acepta tarjeta de crédito o


DSCTO débito y puedes pagarlo hasta en 3
cuotas sin intereses.

PREGUNTAR POR YAPE O PLIN (SOLO PERÚ)

234 Ó 65 DÓLARES
SOLES

PAYPAL DÓLARES (FUERA DE PERÚ)


40% DSCTO SI TE INSCRIBES EN GRUPO http://paypal.me/codearti
MÍNIMO 3 PERSONAS (216 PEN ó 60 USD)

Precio regular: 360 SOLES (100 DÓLARES)

SOLO CURSO GRABADO (135 PEN ó 40 USD)


Brochure Curso Arquitectura de Microservicios I
ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

Para inscribirse en el curso debe enviar la siguiente información:

- Foto del pago (voucher).


- Número del documento de identidad.
- Nombres y Apellidos.

PROCESO - Gmail
- Whatsapp
- Grupo y Horario
DE INSCRIPCIÓN
Puedes enviar la información a los siguientes canales:

- inscripcion@codearti.com
- whatsapp

Brochure Curso Arquitectura de Microservicios I


ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

STACK TECNOLÓGICO

- JDK 11 o mayor.
- Spring Tools / IDE IntelliJ / Eclipse.
- Maven / Gradle.
- Spring Stack (Spring Boot, Spring Cloud, Eureka Server,
Config Server, Spring Gateway, Spring Data JPA, Spring
Security, Spring Cloud Sleuth, Spring Boot Admin,
RestTemplate, Open Feign)
- Mapstruct
- JUnit, Mockito
- Swagger, Resillence4j, Lombok, JWT, KeyCloak
- MySql, PostgreSql, Sql Server
- Zipkin (trazabilidad distribuida, ElasticSearch, Kafka)
- Docker (Dockerfile, Docker compose)
- Git y Gitlab/Github
- Postman
Brochure Curso Arquitectura de Microservicios I
ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

LO QUE APRENDERÁS

- Conocer los principios y elementos clave necesarios para construir una arquitectura de microservicios.

- Conocer los principales patrones para la arquitectura de microservicios.

- Comunicaciones en una arquitectura de microservicios.

- Registrar y descubrir servicios para monitorear servicios a través de un Discovery Server.

- Implementar un API Gateway para administrar el tráfico de solicitudes.

- Separar la configuración del código de la aplicación con un Config Server.

- Balanceo de carga de las solicitudes.

- Implementar diferentes bases de datos relaciones.

- Tolerancia a fallos.

- Dockerizar aplicaciones.

Brochure Curso Arquitectura de Microservicios I


ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

COMPONENTES DE LA ARQUITECTURA PROPUESTA

- DISCOVERY SERVER: Servidor que lleva el control de los servicios. Permite registrar y descubrir los servicios.

- API GATEWAY: Punto de entrada único para todas las APIs. La puerta de enlace también puede implementar seguridad.

- CONFIG SERVER: Externalizar o centralizar toda la configuración de la aplicación, incluidas las credenciales de la base de datos y la ubicación de la red.

- DISTRIBUTED TRACING: Permite trazar las solicitudes a los microservicios para poder identificar de forma centralizada todo lo relacionado al mismo.

- MONITORING: Recopilar estadísticas sobre operaciones individuales. Métricas agregadas en el servicio de métricas centralizadas, que proporciona

informes y alertas.

- BALANCEO DE CARGA: Distribución eficiente del tráfico de red a múltiples instancias del servicio.

- TOLERANCIA A FALLOS: Propiedad que permite que un sistema siga funcionando ante un evento de falla en sus componentes.

- DOCKERIZACIÓN: Empaquetar y distribuir un servicio fácil y rápidamente manteniendo completa independencia.

Brochure Curso Arquitectura de Microservicios I


ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

PATRONES DE MICROSERVICIOS

- Patrones de descomposición: Decompose by business capability, Decompose by subdomain.

- Patrones de comunicación: Messaging, Remote Procedure Invocation, API Gateway, Backend for Frontend, Client Discovery, Server Discovery, Circuit

Breaker, Bulkhead, Retry.

- Patrones de consistencia de datos: Saga, Domain Event, Aggregate, Event sourcing.

- Patrones para consultar datos: Database per Service, API Composition, CQRS.

- Patrones de despliegue (deployment): Single Service per Host, Multiple Services per Host, Serverless deployment, Service-per-container, Service

deployment platform, Service-per-VM.

- Patrones de observabilidad: Log aggregation, Application metrics, Audit logging, Distributed tracing, Exception tracking, Health check API, Log

deployments.

- Patrones de preocupaciones transversales (Cross-Cutting): Chassis, Externalized configuration.

- Patrones de pruebas: Consumer-driven contract test, Consumer-side contract test, Service component test.

- Patrones de seguridad: Access Token.

Brochure Curso Arquitectura de Microservicios I


ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

CASO PRÁCTICO: SHOPPING CART

Como parte de la mejora a la actual página de ventas de la empresa Codearti, se desea mejorar el carrito de compra para que
pueda soportar altas demandas, ya que la empresa ha aumentado bastante sus visitas porque muchos de sus productos son
altamente requeridos.

Las operaciones que necesita tener el carrito de compra son:

- Mantenimiento de productos.
- Consultar carrito por cliente.
- Agregar productos al carrito.
- Quitar productos del carrito.
ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

SOLUCIÓN AL CASO PRÁCTICO

La solución a la necesidad del negocio, será implementar servicios desacoplados de:

- Microservicio de producto
- Microservicio de carrito de compra

Esta solución será construida sobre una arquitectura de microservicios, donde se implementaran los siguientes componentes:

- Discovery server. - Config server.


- Api Gateway. - Observabilidad: Monitoreo y rastreo de trazas.
- Balanceo de carga. - Múltiples bases de datos.
- Tolerancia a fallos. - Dockerización de aplicaciones y plataformas.
ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

SESION 01

Presentación del curso: Implementación:

● Revisión del caso práctico a desarrollar ● Crear Product microservice (Api RESTful, Spring Boot,

● Revisión de la arquitectura propuesta Spring Data JPA, OpenAPI 3 con Swagger, Global

Introducción a la arquitectura de microservicios: Exception Handler, Bean Validation, JPA Test, Unit Test y

● Arquitectura de microservicios Mockito, MapStruct, Lombok, Database H2).

● Fundamentos y Principios

● Ventajas y desventajas

● Revisión de los patrones de microservicios


ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

SESION 02

Diseño de la arquitectura de microservicios: Implementación:

● Crear Cart microservice.


● Revisión de los patrones de microservicios:
○ Service discovery: ● Consumir Product microservice (RestTemplate y Open

■ Client-side discovery Feign).


■ Server-side discovery
● Implementar Service Discovery and Client Discovery
■ Service registry
○ Cross cutting concerns Pattern con Eureka Server.

■ Microservices chassis ● Implementar Externalized Configuration Pattern con Spring


■ Externalized configuration
Cloud Config integrandolo con Git y Vault
ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

SESION 03

Diseño de la arquitectura de microservicios: Implementación:

● Implementar API Gateway Pattern con Spring Cloud


● Revisión de los patrones de microservicios:
○ External API Gateway.

■ API gateway ● Implementar Circuit Breaker Pattern con Resillience4j.


○ Reliability
● Implementar Database per Service pattern (2 RDBMS):
■ Circuit Breaker
○ Data management Config PostgreSQL y SQL Server (Docker).

■ Database per Service ● Implementar Application Metrics pattern con Spring Boot
○ Observability
Admin y Distributed tracing pattern con Spring Cloud
■ Application metrics
■ Distributed tracing Sleuth y Zipkin y Kafka (Docker).

● Spring Cloud Bus para refrescar properties.


ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

SESION 04

Diseño de la arquitectura de microservicios: Implementación:

● Implementar Access token pattern con Spring Security,


● Revisión de los patrones de microservicios:
○ Security JWT y Keycloak.

■ Access Token ● Asegurar el Api Gateway con Spring Security, JWT y


○ Deployment patterns
OAuth2.
■ Service instance per Container
● Implementar Service per Container pattern (Docker):

Desplegar toda la arquitectura sobre Docker (Dockerfile,

Docker Compose)
ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

NOTAS ADICIONALES

- Para las sesiones, es necesario contar con una cuenta de gmail que será solicitada al momento de la inscripción.

- Las sesiones se llevarán a cabo con Google Meet.

- Durante las sesiones, serán expuestos las presentaciones y se avanzará gradualmente la solución propuesta.

- Los materiales de la sesión serán compartidos en el portal académico luego del término de cada sesión.

- Para que los grupos inicien las clases en las fechas indicadas, cada grupo debe tener mínimo 6 alumnos, de lo contrario se

reprograma.

Brochure Curso Arquitectura de Microservicios I


ARQUITECTURA DE MICROSERVICIOS I ESPECIALIDAD: JAVA NIVEL: AVANZADO MODALIDAD: ONLINE

BENEFICIOS

- Compartirás las discusiones académicas con el instructor y compañeros a través de video y audio en tiempo real.

- Tendrás acceso a todo el material (Presentaciones, Recursos, Proyectos, Videos) del curso a través del portal académico.

- Podrás acceder a tus clases grabadas en cualquier momento.

- Tendrás acceso al grupo de whatsapp para despejar dudas con el instructor y toda la clase.

- Se entregará certificado digital.

Brochure Curso Arquitectura de Microservicios I

También podría gustarte