SlideShare una empresa de Scribd logo
SPEAKER
Implementando
arquitecturas
orientadas a
eventos en Azure
Manuel Zapata
Arquitecto de Software
Co-organizador de CaliSharp
Hola, soy Manuel.
Consultor deT.I. y arquitecto de software
Co-organizador de CaliSharp.
Blogger yYouTuber novato.
Educador por pasión.
Website: https://manuelzapata.co
2
Mis redes
SoyManuelZapata
@ManuelZapata
Manuel Zapata
3
¿Cómo empezamos a definir una
aplicación?
Patrones del arquitectura al rescate
5
¿Patrones de arquitectura?
Veamos de qué tratan.
6
Antes, hablemos de patrones
Un patrón es una
solución probada a un
problema recurrente.
7
Sistema de patrones P.O.S.A.
Patrones de
arquitectura
Patrones de
diseño
Idiomas
8
Un patrón de arquitectura…
9
• Ayuda a definir la estructura general de TODO el sistema.
• Contiene un conjunto de decisiones de diseño preestablecidas.
• Tiene propiedades conocidas que permiten el reuso.
• No se inventa. Se descubre en la práctica.
Dos grandes grupos de patrones de
arquitectura
Patrones para
aplicaciones
monolíticas
Patrones para
aplicaciones
distribuidas
10
Patrones para aplicaciones monolíticas
Tuberías y
filtros
Microkernel
Arquitectura
por capas
11
Patrones para aplicaciones distribuidas
12
Microservicios
Arquitecturas
orientadas a
eventos
Arquitecturas
orientadas a
servicios
Arquitecturas
basadas en
servicios
Patrón de arquitectura
orientada a eventos
Qué es y cómo se puede implementar en Azure.
13
Patrón de arquitectura orientada a eventos
La arquitectura orientada a eventos es un patrón
distribuido y asíncrono que integra aplicaciones y
componentes a través de la producción y manejo de
eventos.
14
Topología de bróker
15
Componente de
mensajería (bróker)
Procesador
ProcesadorProcesador
Procesador
Evento
Evento
Canal
Topología de mediador
16
Componente de
mensajería (mediador)
Procesador
Procesador
Procesador
Procesador
Evento
3
Cola de
eventos
Canal
2
1
Beneficios de la arquitectura
orientada a eventos
17
Altamente escalable y distribuido.
Grandes cargas de datos.
Aplicaciones pequeñas y también grandes.
Componentes altamente desacoplados.
Fácil añadir nuevos procesadores al sistema.
Desventajas de la arquitectura orientada a
eventos
×Complejo de implementar.
×El procesador se demora mucho en contestar, o no responde.
×Reconexión del bróker o del mediador en caso de que se
caigan.
×Difícil ejecutar transacciones.
×Difícil crear y mantener los contratos.
18
Algo a tener en cuenta…
NO hagas el componente de mensajería
desde cero.
19
Arquitectura
orientada a
eventos en Azure
Ejemplos de cómo
implementar en
Azure.
20
Servicios disponibles en Azure
21
Azure Storage
Queue
Azure Service
Bus
Azure Event
Hubs
Azure IoT
Hub
Azure Event
Grid
Azure Notification
Hubs
Azure Queue Storage
• Guarda millones de mensajes.
• Se acceden mediante una interfaz REST.
• Acceso seguro.
• Log de los mensajes.
22
Azure Service Bus
• Aplicaciones empresariales tradicionales.
• Funcionalidades más avanzadas:
• FIFO
• Sesiones
• Procesamiento en batch.
• Enrutamiento.
• Filtros.
23
Azure Service Bus – Cola vs Topic
24
25
Demo de colas en Azure Service Bus
Resumen del demo
1. Crear namespace y cola en Azure Portal > All Services > Service Bus.
2. Obtener connection string con Azure CLI
3. Hacer clase que envía mensajes.
4. Revisar cola de mensajes.
5. Hacer clase que recibe mensajes.
Azure Event Grid
• Publisher/subscriber.
• Gestión de eventos, no de mensajes.
• Fuerte integración con servicios de Azure.
• Perfecto para microservicios y aplicaciones nativas en la
nube.
27
Azure Event Grid
28
29
Demo de Azure Event Grid.
Implementando arquitecturas orientadas a eventos con azure
Resumen del demo
1. Crear cuenta de Storage y blob.
2. Crear un servicio cognitivo de Computer Vision.
3. Crear función con trigger Azure Event Grid.
4. Crear suscripción en Azure Event Grid.
5. Crear Logic App.
Conclusiones
Bajo
acoplamiento
Perfecto para
microservicios
Integración de
múltiples
sistemas
Añadir nuevos
consumidores
y suscriptores
Escalabilidad.
Tolerancia a
fallos
32
Referencias e información útil
• Cloud design patterns.
• A tour of Azure Messaging Services.
• Connect your services together.
• Event Grid documentation.
• Service Bus documentation.
33
https://manuelzapata.co/eda
Los recursos de esta charla están en:
34
Si quieres aprender más de diseño y
arquitectura de software…
35
https://manuelzapata.co/lista
Si quieres aprender más de diseño y
arquitectura de software…
SoyManuelZapata
@ManuelZapata
Manuel Zapata
36
bit.ly/encuesta-gab-2019
¿Quieres participar en los sorteos?
Visíta los stands y asegúrate de
diligenciar la encuesta del evento
Implementando arquitecturas orientadas a eventos con azure

Más contenido relacionado

PDF
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
PPTX
Mejora tus resultados de negocios con Azure DevOps
PPTX
MODELO DE DISEÑOOOOOOOOOOOOOOOOOOOOO.pptx
PPTX
DevOps con MS Azure
PPTX
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
PDF
Devsecops con azure devops en global azure bootcamp 2019
PDF
Offering Cloud Solutions
PPTX
Frameworks para el desarrollo de software.pptx
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
Mejora tus resultados de negocios con Azure DevOps
MODELO DE DISEÑOOOOOOOOOOOOOOOOOOOOO.pptx
DevOps con MS Azure
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Devsecops con azure devops en global azure bootcamp 2019
Offering Cloud Solutions
Frameworks para el desarrollo de software.pptx

Similar a Implementando arquitecturas orientadas a eventos con azure (20)

PDF
Patrones comportamiento
PPTX
Construir y publicar software de manera más sencilla, confiable y rápida con...
PDF
Frameworks de Desarrollo Web Grails
PPTX
Dev ops with Data
PPTX
MODELO DE PROCESOS DEL SOFTWARE
PPTX
MODELO DE PROCESOS DEL SOFTWARE
PPTX
Un viaje por Azure DevOps - Meetup Barcelona 2019
PPTX
Azure DevOps y Blazor Web Assembly
PPTX
Data Ops
PPTX
Modelos de Procesos de Software
PPTX
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
PDF
Workshop azure devsecops Microsoft Argentina
PDF
Azure Dev(Sec)Ops EPIDATA completa
PDF
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
PPTX
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
PPTX
Plainconcepts .Net Core Event - Real Time Applications
PPTX
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
PDF
Corriendo SQL Server en Docker
PDF
Modelos de ciclo de vida del software
PDF
IaaS + PaaS Cloud Solutions
Patrones comportamiento
Construir y publicar software de manera más sencilla, confiable y rápida con...
Frameworks de Desarrollo Web Grails
Dev ops with Data
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Un viaje por Azure DevOps - Meetup Barcelona 2019
Azure DevOps y Blazor Web Assembly
Data Ops
Modelos de Procesos de Software
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
Workshop azure devsecops Microsoft Argentina
Azure Dev(Sec)Ops EPIDATA completa
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Plainconcepts .Net Core Event - Real Time Applications
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Corriendo SQL Server en Docker
Modelos de ciclo de vida del software
IaaS + PaaS Cloud Solutions
Publicidad

Último (10)

PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PPTX
Fundamentos de Python - Curso de Python dia 1
PPTX
sistemas de informacion.................
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PPTX
Implementación equipo monitor12.08.25.pptx
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Su punto de partida en la IA: Microsoft 365 Copilot Chat
Fundamentos de Python - Curso de Python dia 1
sistemas de informacion.................
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Conceptos basicos de Base de Datos y sus propiedades
AutoCAD Herramientas para el futuro, Juan Fandiño
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
Implementación equipo monitor12.08.25.pptx
Publicidad

Implementando arquitecturas orientadas a eventos con azure

Notas del editor

  • #18: Permite desarrollar aplicaciones altamente escalables y distribuidas. Se puede utilizar para aplicaciones pequeñas y también aplicaciones grandes. Los componentes están altamente desacoplados. Es fácil añadir nuevos procesadores al sistema.
  • #19: Patrón complejo de implementar, dada su naturaleza asíncrona y distribuida. Retos arquitectónicos: El procesador se demora mucho en contestar, o no responde. Reconexión del bróker o del mediador en caso de que se caigan. Difícil ejecutar transacciones dado que los componentes están desacoplados y distribuidos. Difícil crear y mantener los contratos con los procesadores. Es importante tener estándares y versionamiento de contratos.
  • #20: Es difícil. Toma tiempo. No es el enfoque del negocio.
  • #22: Events Hub: Pipeline para big data. IoT Hub: Procesa grandes volúmenes de datos. Especializado en dispositivos IoT. Notifications Hub. Notificaciones a dispositivos móviles.
  • #26: Pasos. Crear namespace en All Services – Integration – Service Bus. Namespace es un contenedor. Tiene llaves de encripción para dar acceso a objetos. Crear cola. Crear topic y suscripciones.
  • #31: Crear cuenta de Storage y blob. Crear un servicio cognitivo de Computer Vision. Crear función con trigger Azure Event Grid. Crear suscripción en Azure Event Grid. Crear Logic App.