Despliegue de
Microservicios en
Kubernetes Local y Cloud
José Díaz @jamdiazdiaz
Slide 2
Slide 2 text
No content
Slide 3
Slide 3 text
¿Quién es José Díaz?
Fundador de JoeDayz.pe
Gerente de Arquitectura y Aplicaciones Digitales
PERU JUG Leader
Padre, Esposo, Catecumeno,
Delantero o Arquero, Cervecero,
Cantor
JEspañol
Organización
http://martinfowler.com/articles/microservices.html
Slide 19
Slide 19 text
Preguntas a Resolver
1. ¿Como se configuraran correctamente todos esos micro servicios?
2. ¿Qué microservicios están desplegados y donde están?
3. ¿ Cómo mantengo la información de ruteo?
4. ¿ Cómo prevengo fallas en cascada?
5. ¿ Cómo verifico que todos los servicios están bien de salud y ejecutandose?
6. ¿ Cómo hago el seguimiento de mensajes que fluyen entre servicios?
7. ¿ Cómo me aseguro que sólo los API - Services son expuestos externamente?
8. ¿ Cómo aseguro las APIs de servicio?
Slide 20
Slide 20 text
Componentes Requeridos
1. Servidor de configuración centralizada
2. Servidor de Descubrimiento de Servicios
3. Ruteo Dinámico y Balanceo de Carga
4. Circuit Breaker
5. Monitoreo de Servicios
6. Análisis de Logs centralizados
7. Servidor Frontera
8. OAuth 2.0 para proteger las APIs
Slide 21
Slide 21 text
Modelo operacional para Micro Servicios
Slide 22
Slide 22 text
Docker
Otras opciones: Amazon Web Services, Google Cloud,
Oracle Cloud, WeDeploy, Open Shift, etc.
Slide 23
Slide 23 text
Docker
Slide 24
Slide 24 text
Taxonomía Docker
Slide 25
Slide 25 text
Aplicaciones dockerizadas
Slide 26
Slide 26 text
Soberanía de Datos
Slide 27
Slide 27 text
Consistencia entre Micro servicios
Slide 28
Slide 28 text
Administración de Datos
Distribuidos
Slide 29
Slide 29 text
Usando SAGAS para mantener la
data consistente
Slide 30
Slide 30 text
Las Sagas son un modelo transaccional para la arquitectura
de micro servicios.
Una Saga es una secuencia de transacciones locales. Cada
transacción local actualiza los datos en un servicio y envía
un mensaje/evento que dispara la siguiente transacción.
Slide 31
Slide 31 text
Vistas CQRS
Slide 32
Slide 32 text
Las vistas CQRS son una forma de implementar consultas que involucran
varios servicios en una arquitectura de micro servicios.
La vista CQRS es una replica de datos de uno o mas servicios que es
optimizado para un particular conjunto de consultas. El servicio que
mantiene la vista lo hace suscribiéndose a los eventos del dominio. Cuales
quiera sea el servicio, si este actualiza su data, este publica un evento de
dominio.
Slide 33
Slide 33 text
El problema de modificar la base de datos
y publicar mensajes atómicamente.
Slide 34
Slide 34 text
Eventuate para Event Sourcing
Slide 35
Slide 35 text
Eventuate para Event Sourcing
Slide 36
Slide 36 text
Eventuate Tram para JPA/JDBC
Slide 37
Slide 37 text
Gran Reto: Limites de los Modelos
de los Micro servicios
Slide 38
Slide 38 text
Módelos de Dominio
Slide 39
Slide 39 text
Comunicación
Slide 40
Slide 40 text
Comunicación Asincrona
Slide 41
Slide 41 text
Tipos de comunicación
Slide 42
Slide 42 text
Tipos de comunicación
Slide 43
Slide 43 text
Tipos de comunicación
Slide 44
Slide 44 text
Interfaz de usuario
Slide 45
Slide 45 text
Interfaz de usuario
Slide 46
Slide 46 text
Implementando Micro Servicios
MicroProfile
Slide 47
Slide 47 text
Implementando Micro Servicios
Spring Cloud
Slide 48
Slide 48 text
No content
Slide 49
Slide 49 text
Spring Cloud Config
Slide 50
Slide 50 text
Spring Cloud Ribbon
Slide 51
Slide 51 text
Spring Cloud Feign
Slide 52
Slide 52 text
Spring Cloud Hystrix
Slide 53
Slide 53 text
Turbine
Slide 54
Slide 54 text
Hystrix Dashboard
Slide 55
Slide 55 text
Spring Cloud Bus
Slide 56
Slide 56 text
Spring Cloud Bus
Slide 57
Slide 57 text
Spring Cloud Zuul - API Gateway
Slide 58
Slide 58 text
Vamos al código
https://github.com/comunidad-hispana-jugs/workshop-02-deploycloud/
https://github.com/sqshq/PiggyMetrics
Slide 59
Slide 59 text
Jhipster
Slide 60
Slide 60 text
No content
Slide 61
Slide 61 text
Implementación de la Arquitectura
con Spring Cloud
Desplegando en Google
Cloud con Kubernetes
Engine
https://goo.gl/GJ3PX4
Slide 74
Slide 74 text
GCLOUD
Slide 75
Slide 75 text
Desplegando en
Azure con Kubernetes
https://goo.gl/psRDXa
Slide 76
Slide 76 text
AZURE CLI
Slide 77
Slide 77 text
Otros
Slide 78
Slide 78 text
Open Shift
Slide 79
Slide 79 text
WeDeploy
Slide 80
Slide 80 text
Digital Ocean
Slide 81
Slide 81 text
1. Callista Enterprise
2. eventuate.io
3. microservices.io
4. Arquitectura de Microservicios en .NET
5. Google Cloud Platform
6. Azure
7. Jhipster Tech
8. Usando Kubernetes en Digital Ocean
9. https://docs.microsoft.com/es-es/azure/architecture/microservices/
Bibliografía
Slide 82
Slide 82 text
¿Preguntas?
Slide 83
Slide 83 text
Continuara
Slide 84
Slide 84 text
Solicita tu
acceso de 3
meses al
campus.joedayz
.pe con un tweet
en @joedayz
Paso 1: Sigue a @joedayz
Slide 85
Slide 85 text
Paso 2: Te seguiremos y vía mensaje directo te entregaremos tu cuenta
Slide 86
Slide 86 text
Solicita tu acceso
de 3 meses al
campus.joedayz.pe
por facebook
Paso 1: Subscribe a https://www.facebook.com/JoeDayzAcademy
Paso 2: Nos escribes un mensaje directo y te entregaremos tu cuenta