TLDR
I have always wondered about the different approaches that could be used to efficiently run migrations in a micro service environment. These 4 steps are simple but make a lot of sense.
The only part I would need more information (more research) about is really the MapReduce job on a database snapshot. Also the parallel jobs inserting on the production database would probably also have an impact on the production environment.