Thinking Event Driven Architectures with Serverless

Thinking Event Driven Architectures with Serverless

Presented at ThoughtWorks XConf North America 2018
https://www.thoughtworks.com/xconf-na

439e623c5d770ae0da8e61ec08452032?s=128

Vinicius Gomes

July 20, 2018
Tweet

Transcript

  1. Thinking Event Driven Architectures With Serverless Vinicius Gomes, Software Engineer

  2. EXAMPLE Online Restaurant

  3. ONLINE RESTAURANT

  4. ONLINE RESTAURANT Customers Menu Orders

  5. ONLINE RESTAURANT Customers Menu Orders

  6. ONLINE RESTAURANT Customers Menu Orders

  7. ONLINE RESTAURANT Customers Menu Orders

  8. ONLINE RESTAURANT Customers Menu Orders Event

  9. ONLINE RESTAURANT Customers Menu Orders " Event

  10. ONLINE RESTAURANT Customers Menu Orders " Event

  11. ONLINE RESTAURANT Customers Menu Orders " Event

  12. ONLINE RESTAURANT Customers Menu Orders " Event

  13. ONLINE RESTAURANT Customers Menu Orders Publish Consume MenuItemAdded MenuItemAdded CustomerSignedUp

    CustomerSignedUp OrderPlaced OrderOpened OrderPlaced OrderOpened OrderPlaced MenuItemAdded CustomerSignedUp
  14. Publish Consume MenuItemAdded MenuItemAdded CustomerSignedUp CustomerSignedUp OrderPlaced OrderOpened OrderPlaced OrderOpened

    OrderPlaced MenuItemAdded CustomerSignedUp ONLINE RESTAURANT Customers Menu Orders
  15. ONLINE RESTAURANT Menu

  16. CQRS + EVENT SOURCING Menu

  17. Service CQRS + EVENT SOURCING github.com/vvgomes/event-driven-restaurant

  18. THINKING SERVERLESS

  19. SERVERLESS

  20. SERVERLESS

  21. SERVERLESS BaaS

  22. SERVERLESS BaaS FaaS +

  23. SERVERLESS

  24. SERVERLESS

  25. SERVERLESS •Abstraction

  26. SERVERLESS •Abstraction •Deployment

  27. SERVERLESS •Abstraction •Deployment •Scalability

  28. SERVERLESS •Abstraction •Deployment •Scalability •Monitoring

  29. SERVERLESS •Abstraction •Deployment •Scalability •Monitoring •Cost

  30. Publish Consume MenuItemAdded MenuItemAdded CustomerSignedUp CustomerSignedUp OrderPlaced OrderOpened OrderPlaced OrderOpened

    OrderPlaced MenuItemAdded CustomerSignedUp Customers Menu Orders BACK TO THE ONLINE RESTAURANT
  31. CQRS + EVENT SOURCING API Gateway Commands Queries Event Bus

    Query DB Event Store Event Publisher Event Listener 1 Event Listener n
  32. CQRS + EVENT SOURCING API Gateway Commands Queries Event Bus

    Query DB Event Store Event Publisher Event Listener 1 Event Listener n
  33. CQRS + EVENT SOURCING API Gateway Commands Queries Event Bus

    Query DB Event Store Event Publisher Event Listener 1 Event Listener n
  34. CQRS + EVENT SOURCING API Gateway Commands Queries Event Bus

    Query DB Event Store Event Publisher Event Listener 1 Event Listener n
  35. CQRS + EVENT SOURCING API Gateway Commands Queries Event Bus

    Query DB Event Store Event Publisher Event Listener 1 Event Listener n
  36. CQRS + EVENT SOURCING API Gateway Commands Queries Event Bus

    Query DB Event Store Event Publisher Event Listener 1 Event Listener n
  37. CQRS + EVENT SOURCING API Gateway Commands Queries Event Bus

    Query DB Event Store Event Publisher Event Listener 1 Event Listener n
  38. CQRS + EVENT SOURCING API Gateway Commands Queries Event Bus

    Query DB Event Store Event Publisher Event Listener 1 Event Listener n
  39. CQRS + EVENT SOURCING API Gateway Commands Queries Event Bus

    Query DB Event Store Event Publisher Event Listener 1 Event Listener n
  40. CQRS + EVENT SOURCING

  41. CQRS + EVENT SOURCING Example source code github.com/vvgomes/serverless-restaurant

  42. FINAL THOUGHTS

  43. SERVERLESS EDA

  44. SERVERLESS EDA Open questions

  45. SERVERLESS EDA Open questions •Cost of operations?

  46. SERVERLESS EDA Open questions •Cost of operations? •Vendor Lock-in?

  47. SERVERLESS EDA Open questions •Cost of operations? •Vendor Lock-in? •Customization?

  48. SERVERLESS EDA Open questions •Cost of operations? •Vendor Lock-in? •Customization?

    •Predictability?
  49. SERVERLESS EDA Open questions •Cost of operations? •Vendor Lock-in? •Customization?

    •Predictability? •Nature of the problem?
  50. thinking event driven architectures with serverless Vinicius Gomes THANKS