CRUD is a perfectly acceptable approach to persisting data in a monolith because a monolith has a single database that can implement ACID transactions. This allows the database to ensure consistency is maintained in the face of failure, which lets developers focus on their domain problem rather than on handling failures. However, when you move to microservices, you isolate the data in your services, and suddenly you cannot rely on ACID transactions to handle failures for you. In this presentation, I'll demonstrate what happens when microservices that use CRUD encounter failure, and show that a developer using CRUD cannot rely the technologies they build on top of to handle failure for them. I'll then demonstrate how an alternative approach to persistence - event sourcing - deals with failure, allowing the developer to once again focus on their domain problem, rather than handling failures. This will be demonstrated live using the Lagom persistence API.
James is a long time open source contributor and Reactive systems expert. He is the creator of Cloudstate, the framework that brings distributed state management to the serverless world. He also created the Lagom Reactive microservices framework and is a core contributor to Play... Read More →
Thursday October 19, 2017 12:20pm - 1:10pm CDT
Salon J