Nice write-up on your plans and decisions so far. I'll be interested to follow along. I'm guessing that AWS DocumentDB pricing/scale is prohibitive, which is a pity. DynamoDB migration will be an interesting challenge. At least with your code-first approach, you'll have the option of doing some split-testing on the two DB backends and validate the behaviour of the DynamoDB in production before you switch over (if you want to!)
When I first heard about AWS launching Document DB I was excited, but sadly yes, the pricing is prohibitive for me. Starts at $400/mo for a 2 instance cluster I think. It's also not as "truly serverless" as Dynamo as it requires VPC and isn't pay per usage.
Split/canary testing sounds a good idea for mitigating risk of the switch over. I'll just need to come up with a good strategy of keeping both in sync once I get to that stage of the migration.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.