Sidney Shek

Share

Architect at Atlassian
 sidneyshek.github.io/
@sidneyshek

Sidney has over 10 years experience in developing and architecting real-time and mission critical software systems across many industries ranging from financial services to manufacturing. He likes challenging traditional constraints, and applying the latest R&D and technologies in elegant yet reliable solutions to real-world problems. At Atlassian, he is an Architect overseeing the transformation of identity systems into a massively scalable and flexible platform for users, product developers and the ecosystem alike. He believes FP principles like immutable data, type-safety and idempotence need to be ingrained in architects and programmers alike.

YOW! Lambda Jam 2015 Brisbane

Immutable Data Stores For Safety, Flexibility and Profit

TALK –  VIEW SLIDES WATCH VIDEO

At Atlassian, we’re taking the FP principles seriously to ensure we can deliver major architectural improvements without risk of losing customer data. The last frontier is applying immutability to databases, which, conceptually, we’ve all been brought up to treat as entities that need to be mutable. We are starting to embrace event sourcing – capturing streams of immutable ‘events’ to represent domain models instead of update-in-place. This approach ensures safety, and provides both audit trails by default and flexibility to support practically any schema changes and queries we might require in the future, simply by changing our interpretation of events when we replay them. In this talk, we will describe in detail what event sourcing is, why we use it, actual examples of our domain models implemented in terms of event sourcing, and how we implemented it in Scala using scalaz-stream on top of standard key value stores (AWS DynamoDB).