This is a great write-up! I wrote a far less thorough blog post on the same topic a few months ago:
https://vericred.github.io/2020/08/10/migrating-to-aurora.ht....
Overall, we're happy with our decision to migrate to Aurora. We feel it offers better performance, observability and scalability compared to heroku postgres. To echo some other comments:
1. Jesse at Heroku is great. I had never setup my own postgres instance before, and his guidance helped me a lot.
2. We used DMS, and it was ok, not great. Dealing with LOBs was a bit of a pain. In order to keep the migration time to a minimum we setup multiple DMS tasks and grouped tables into those tasks based on their max LOB size. Most of our tables didn't have any LOB columns and they migrated quickly.
3. The ability to fast clone a database is nice. We can create a copy of our production database in about five minutes for use in non-prod environments. This would take a couple of hours in heroku.
4. The Aurora IO costs are ridiculous. Are there any good tools to see what is exactly causing so much I/O?
Overall, we're happy with our decision to migrate to Aurora. We feel it offers better performance, observability and scalability compared to heroku postgres. To echo some other comments:
1. Jesse at Heroku is great. I had never setup my own postgres instance before, and his guidance helped me a lot.
2. We used DMS, and it was ok, not great. Dealing with LOBs was a bit of a pain. In order to keep the migration time to a minimum we setup multiple DMS tasks and grouped tables into those tasks based on their max LOB size. Most of our tables didn't have any LOB columns and they migrated quickly.
3. The ability to fast clone a database is nice. We can create a copy of our production database in about five minutes for use in non-prod environments. This would take a couple of hours in heroku.
4. The Aurora IO costs are ridiculous. Are there any good tools to see what is exactly causing so much I/O?