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.

Destination Automation: Automating Processes in Modern Hipster Architectures

Slides for my talk at #DestinationAutomation in July 2020. Code examples are here: https://github.com/berndruecker/ticket-booking-camunda-cloud

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

Destination Automation: Automating Processes in Modern Hipster Architectures

  1. 1. Automating Processes in Modern Hipster Architectures @berndruecker
  2. 2. Example @berndruecker
  3. 3. Example Payment Seat ReservationBooking Ticket Generation
  4. 4. Example @berndruecker sync
  5. 5. REST? Payment Seat ReservationBooking Ticket Generation REST REST REST REST
  6. 6. Weaknesses: Latency creep Payment Seat ReservationBooking Ticket Generation REST 300 ms 1150 + x ms 600 ms 250 ms
  7. 7. Weaknesses: Availabiliy erosion Payment Seat ReservationBooking Ticket Generation REST 99 % uptime 99 % uptime 99 % uptime 96 % uptime
  8. 8. And what about consistency? Payment Seat ReservationBooking Ticket Generation
  9. 9. What‘s hipster? Event-Driven Reactive Distributed Systems Microservices Agile Streaming Cloud-Native Eventual Consistency Kubernetes Serverless
  10. 10. Event Bus Event-Driven Choreography Payment Seat Reservation Ticket Generation Ticket booked Seat reserved Payment received Ticket generated
  11. 11. Event Bus Event-Driven Choreography Payment Seat Reservation Ticket Generation Ticket booked Seat reserved Payment received Ticket generated This is super flexible and de-coupled
  12. 12. Event Bus Event-Driven Choreography Payment Seat Reservation Ticket Generation Ticket booked Seat reserved Payment received Ticket generated We now need to reserve seats before collecting payment!
  13. 13. What we wanted Photo by Lijian Zhang, available under Creative Commons SA 2.0 License and P..19 / CC BY-SA 4.0 @berndruecker
  14. 14. The danger is that it's very easy to make nicely decoupled systems with event notification, without realizing that you're losing sight of that larger-scale flow, and thus set yourself up for trouble in future years. https://martinfowler.com/articles/201701-event-driven.html @berndruecker
  15. 15. The danger is that it's very easy to make nicely decoupled systems with event notification, without realizing that you're losing sight of that larger-scale flow, and thus set yourself up for trouble in future years. https://martinfowler.com/articles/201701-event-driven.html @berndruecker
  16. 16. The danger is that it's very easy to make nicely decoupled systems with event notification, without realizing that you're losing sight of that larger-scale flow, and thus set yourself up for trouble in future years. https://martinfowler.com/articles/201701-event-driven.html @berndruecker
  17. 17. How-to monitor event-driven processes? https://camunda.com/learn/webinars/ microservices-landscape-workflow-automation/
  18. 18. Orchestration Payment Seat ReservationBooking Ticket Generation This component orchestrates the others coordinates
  19. 19. Orchestration ≠ Synchronous Communication Payment Seat ReservationBooking Ticket Generation Kafka AMQP FaaS REST
  20. 20. A workflow engine can help Payment Seat ReservationBooking Ticket Generation REST
  21. 21. A workflow engine can help Payment Seat ReservationBooking Ticket Generation REST A workflow engine Keeps persistent state Can wait Can retry Can escalate Can compensate …
  22. 22. Warning: Contains Opinion
  23. 23. Berlin, Germany mail@berndruecker.io @berndruecker Bernd Ruecker Co-founder and Chief Technologist of Camunda
  24. 24. Demo
  25. 25. Architecture Payment Seat Reservation Ticket Generation REST Booking Java Spring Boot App Camunda Cloud Client Camunda Cloud Workflow Engine AMQP REST Workflow engine subscription FakeServices NodeJs App https://github.com/berndruecker/ticket-booking-camunda-cloud
  26. 26. Camunda Cloud is based on Zeebe (OSS workflow engine) http://zeebe.io/
  27. 27. But… @berndruecker sync
  28. 28. Can your company leverage your hipster architecture? Shutterstock You need to change business processes and customer experience!
  29. 29. @berndruecker happy case failure case Redesign your business process accordingly! Or some interface to poll for status Sync in happy case Async response
  30. 30. Summary • Synchronous call chains have weknesses • Event-driven choreography is not a magic cure • Orchestration • Helps to avoid chaos • Can be handled within one service (decentral) • Does not mean synchronous communication • To leverage a great hipster architecture you need to adjust business processes and customer experience
  31. 31. Thank you! @berndruecker
  32. 32. mail@berndruecker.io @berndruecker https://berndruecker.io https://medium.com/berndruecker https://github.com/berndruecker https://www.infoq.com/articles/events- workflow-automation Contact: Slides: Blog: Code: https://www.infoworld.com/article/3254777/ application-development/ 3-common-pitfalls-of-microservices- integrationand-how-to-avoid-them.html https://thenewstack.io/5-workflow-automation- use-cases-you-might-not-have-considered/

×