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

When Stateful Serverless met Planet-scale Event-sourcing

When Stateful Serverless met Planet-scale Event-sourcing

You are convinced your business requires Event-Sourcing, due to strict audit log requirements, traceability, easy anomaly & fraud detection, and who doesn't like time-traveling queries on their data after all. In today's world where everything is in the Cloud, You also want to utilize the true power of Cloud-Native components in Azure and design a highly scalable, secure and cost-effective solution.

Muhammad Sajid

February 21, 2020
Tweet

More Decks by Muhammad Sajid

Other Decks in Programming

Transcript

  1. Muhammad Sajid Cloud Solutions Architect with a passion for designing

    and developing cloud-native solutions. Interested in DDD, Distributed Event-Driven systems, BIG data, and IoT. @sajid_nazeer www.linkedin.com/in/musa
  2. • A complete log of changes • Traceability • Death

    of cannot reproduce • Scalability (with CQRS)
  3. Entity-Entity communication happens via Signaling Beware of State mutation gotcha

    Not ideal for applications that require strict latency Request/ Response pattern is only possible via Orchestrations
  4. What is a Transactional Batch? Transactional Batch describes a group

    of operations that need to either succeed or fail as a batch
  5. If you talk to a man in a language he

    understands, that goes to his head. If you talk to him in his language, that goes to his heart - Nelson Mandela
  6. Maximum operations per batch are 100 Maximum payload size is

    2 MB Maximum Execution time is 5 Seconds No Server-side Id generation
  7. Takeaways • Choose right partition key • Beware of limitations

    of both Durable Entities and Transactional batch. • Don’t settle for the right solutions . Find new ones, and keep learning. • https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-fun ctions-entities?tabs=csharp • https://devblogs.microsoft.com/cosmosdb/introducing-transactionalbatch-in- the-net-sdk/