Slide 1

Slide 1 text

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

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

A que habíamos venido?

Slide 12

Slide 12 text

Arquitectura Monolítica

Slide 13

Slide 13 text

Arquitectura Micro servicios https://www.nginx.com/blog/introduction-to-microservices/

Slide 14

Slide 14 text

Balanceo de Carga

Slide 15

Slide 15 text

BD independiente y poliglota

Slide 16

Slide 16 text

Arquitectura Final

Slide 17

Slide 17 text

http://www.infoq.com/minibooks/emag-devops-toolchain Delivery Continuo

Slide 18

Slide 18 text

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

Slide 62

Slide 62 text

Orquestando Micro servicios

Slide 63

Slide 63 text

No content

Slide 64

Slide 64 text

Orquestando Micro servicios

Slide 65

Slide 65 text

Orquestando Micro servicios

Slide 66

Slide 66 text

Orquestando Micro servicios

Slide 67

Slide 67 text

Service Discovery y Load Balancer

Slide 68

Slide 68 text

Ciclo interno de desarrollo con Docker

Slide 69

Slide 69 text

Ejemplo Docker Compose

Slide 70

Slide 70 text

No content

Slide 71

Slide 71 text

Demo Micro Servicios https://github.com/microservices-demo

Slide 72

Slide 72 text

Desplegando en MiniKube https://goo.gl/QBDwhW

Slide 73

Slide 73 text

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

Slide 87

Slide 87 text

@joedayz github.com/joedayz informes@joedayz.pe www.joedayz.pe https://speakerdeck.com/joedayz