I would like to share with you how I managed to deploy a solution to store Domain Events in DynamoDB in 2 days (and mostly because of AWS permission issues...😅).
I wanted a solution to store how the user interacted with different Domain Models and decouple that storage from the monolithic so they can grow independently. I aimed to create something super simple, or at least not that complex, in 2 to 3 days.
I wanted to process events as:
Monolith sends message to ➡️ SQS ➡️ Triggers Lambda to store it into ➡️ DynamoDB Table
Even though DynamoDB might not be an optimal solution to be used as Event Store, I have given it a try for the next reasons:
It is fully managed by AWS
It is cheap enough
We don't require high write throughput nor read for the moment.
Able to encrypt the content
Implementation
I decided to go with:
Terraform as Infrastructure as Code
Python for AWS Lambda
You can find the source code here 😊
Ready to be deployed into your cloud solution 💪😁