Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Building Event Driven Integration Architectures

1,434 views

Published on

As presented by Dan Toomey at API Days 2018, Melbourne

Published in: Technology

Building Event Driven Integration Architectures

  1. 1. Building Event-Driven Integration Architectures Dan Toomey @daniel2me
  2. 2. Who am I? • Principal Consultant, Mexia • Microsoft Azure MVP • MCSE, MCT, MCPD, MCTS BizTalk & Azure • Pluralsight Author • www.mindovermessaging.com • @daniel2me
  3. 3. What is an Event? http://www.news.com.au
  4. 4. Types of Events https://www.biztalk360.com/integrate-2018-resources/eventing-serverless-and-the-extensible-enterprise/ Discrete Independent Report state change Actionable Series Time based Context partitioned Report condition Analyzable
  5. 5. Event Driven vs. Event Sourcing https://martinfowler.com/articles/201701-event-driven.html Event Notification Broadcast state changes No expectation from consumer Decoupled logic Event Sourcing Persist state changes Auditability Replay capability
  6. 6. Why event-driven integration?
  7. 7. Why event-driven integration?
  8. 8. Why event-driven integration?
  9. 9. Why event-driven integration?
  10. 10. Messaging Models
  11. 11. Messaging Models Telephone/Website • Synchronous • Need information immediately Order • Asynchronous • Takes time to complete a task; CQRS Subscription • Publish / Subscribe • Decoupling; flexibility; extensibility; scalability
  12. 12. Messaging vs. Eventing https://www.biztalk360.com/integrate-2018-resources/eventing-serverless-and-the-extensible-enterprise/ Messaging - INTENTS Expectations Conversations Contracts Control Transfer Value Transfer Eventing - FACTS History Context Order Schema
  13. 13. Communication Patterns https://www.biztalk360.com/integrate-2018-resources/eventing-serverless-and-the-extensible-enterprise/
  14. 14. https://cloudevents.io/ Serverless Working Group https://github.com/cloudevents/spec CNCF CloudEvents
  15. 15. CNCF CloudEvents { "cloudEventsVersion" : "0.1", "eventType" : "com.example.someevent", "source" : "/mycontext", "eventID" : "A234-1234-1234", "eventTime" : "2018-04-05T17:31:00Z", "extensions" : { "comExampleExtension" : "value" }, "contentType" : "text/xml", "data" : "<much wow="xml"/>" }
  16. 16. Example: Logging Event Publication
  17. 17. Example: Logging Event Publication (Series)
  18. 18. Example eventing platforms
  19. 19. Apache Kafka Image from https://kafka.apache.org/intro
  20. 20. Amazon Kinesis Image from https://aws.amazon.com/kinesis/data-streams/getting-started/
  21. 21. Solace
  22. 22. Azure Event Hubs Image from https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-about
  23. 23. Azure Event Grid
  24. 24. Product Comparison Kafka Kinesis Solace Event Hubs Event Grid Cloud / On-Prem Both Cloud Only Both Cloud Only Cloud Only Managed Service      Auto-Scaling     Replay      Event Sourcing    *  Integrations Kafka AWS services Open Source connectors available Azure services, Kafka Azure services, anything via HTTP/Webhooks Protocols Kafka HTTP HTTP, AMQP,MQTT, JMS, Web Sockets, Native HTTP, AMQP, Kafka HTTP Open Source   Closed source, but open protocol   Max Message Size No Limit 1MB No Limit 256K 64K *via archiving
  25. 25. Storage Blob Event Grid Webhook Webhook Storage Event Subscription ext = *.jpg Subscription ext = *.pdf
  26. 26. Microsoft Azure Resource Group Event Grid Azure Function Logic App Virtual machine Storage table Outlook Connector Azure Function Administrator
  27. 27. References https://thenewstack.io/need-event-driven-integration/ https://azure.microsoft.com/en-us/blog/events-data-points-and-messages-choosing-the-right-azure-messaging-service-for-your-data/ https://www.biztalk360.com/integrate-2018-resources/eventing-serverless-and-the-extensible-enterprise/ https://martinfowler.com/articles/201701-event-driven.html https://cloudevents.io/ https://github.com/cloudevents/spec/blob/master/spec.md https://docs.microsoft.com/en-us/azure/event-grid/cloudevents-schema https://azure.microsoft.com/en-au/blog/announcing-first-class-support-for-cloudevents-on-azure/
  28. 28. Questions? enquiries@mexia.com.au https://blog.mexia.com.au
  29. 29. Let’s connect! dan@mexia.com.au @daniel2me linkedin.com/in/danieltoomey mindovermessaging.com

×