Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Despliegue de Microservicios en Kubernetes para JaverosColombia 2018

Despliegue de Microservicios en Kubernetes para JaverosColombia 2018

Presentación realizada para Javeros de Colombia este 2018 (www.javeroscol.com)

Un gran evento que unió a las comunidades de Cali, Barranquilla y Medellin.

25322d9a039dd3cbd5ad552f451cf78f?s=128

José Díaz

May 22, 2018
Tweet

Transcript

  1. Despliegue de Microservicios en Kubernetes Local y Cloud José Díaz

    @jamdiazdiaz
  2. None
  3. ¿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
  4. None
  5. None
  6. None
  7. None
  8. None
  9. None
  10. None
  11. A que habíamos venido?

  12. Arquitectura Monolítica

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

  14. Balanceo de Carga

  15. BD independiente y poliglota

  16. Arquitectura Final

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

  18. Organización http://martinfowler.com/articles/microservices.html

  19. 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?
  20. 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
  21. Modelo operacional para Micro Servicios

  22. Docker Otras opciones: Amazon Web Services, Google Cloud, Oracle Cloud,

    WeDeploy, Open Shift, etc.
  23. Docker

  24. Taxonomía Docker

  25. Aplicaciones dockerizadas

  26. Soberanía de Datos

  27. Consistencia entre Micro servicios

  28. Administración de Datos Distribuidos

  29. Usando SAGAS para mantener la data consistente

  30. 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.
  31. Vistas CQRS

  32. 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.
  33. El problema de modificar la base de datos y publicar

    mensajes atómicamente.
  34. Eventuate para Event Sourcing

  35. Eventuate para Event Sourcing

  36. Eventuate Tram para JPA/JDBC

  37. Gran Reto: Limites de los Modelos de los Micro servicios

  38. Módelos de Dominio

  39. Comunicación

  40. Comunicación Asincrona

  41. Tipos de comunicación

  42. Tipos de comunicación

  43. Tipos de comunicación

  44. Interfaz de usuario

  45. Interfaz de usuario

  46. Implementando Micro Servicios MicroProfile

  47. Implementando Micro Servicios Spring Cloud

  48. None
  49. Spring Cloud Config

  50. Spring Cloud Ribbon

  51. Spring Cloud Feign

  52. Spring Cloud Hystrix

  53. Turbine

  54. Hystrix Dashboard

  55. Spring Cloud Bus

  56. Spring Cloud Bus

  57. Spring Cloud Zuul - API Gateway

  58. Vamos al código https://github.com/comunidad-hispana-jugs/workshop-02-deploycloud/ https://github.com/sqshq/PiggyMetrics

  59. Jhipster

  60. None
  61. Implementación de la Arquitectura con Spring Cloud

  62. Orquestando Micro servicios

  63. None
  64. Orquestando Micro servicios

  65. Orquestando Micro servicios

  66. Orquestando Micro servicios

  67. Service Discovery y Load Balancer

  68. Ciclo interno de desarrollo con Docker

  69. Ejemplo Docker Compose

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

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

  73. Desplegando en Google Cloud con Kubernetes Engine https://goo.gl/GJ3PX4

  74. GCLOUD

  75. Desplegando en Azure con Kubernetes https://goo.gl/psRDXa

  76. AZURE CLI

  77. Otros

  78. Open Shift

  79. WeDeploy

  80. Digital Ocean

  81. 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
  82. ¿Preguntas?

  83. Continuara

  84. Solicita tu acceso de 3 meses al campus.joedayz .pe con

    un tweet en @joedayz Paso 1: Sigue a @joedayz
  85. Paso 2: Te seguiremos y vía mensaje directo te entregaremos

    tu cuenta
  86. 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
  87. @joedayz github.com/joedayz informes@joedayz.pe www.joedayz.pe https://speakerdeck.com/joedayz