Ihave now written the case study of the 15TB QNAP-to-Azure migration, the lessons learned post, the behind-the-scenes architecture guide, and the why-we-moved story. Each of those posts describes what happened. This one describes what I would change. There is a difference between a migration that completed successfully and a migration that was executed well. Our migrations complete successfully. They are not always executed as well as they could be. This post is the honest account of the gaps — the things I knew better but did not do, the things I did not know and had to learn, and the things I will do first on the next engagement before anything else.
I am writing this for two audiences. The first is engineers planning their first Azure storage migration who want to avoid the specific mistakes that are not obvious from documentation. The second is engineers who have already run a migration and recognise some of what follows from their own experience. Both groups will find something useful here. Neither group will find reassuring fiction about everything going smoothly.
"A migration that completed successfully is not the same as a migration that was executed well. The first tells you the data got there. The second tells you it got there without unnecessary risk, rework, or lost sleep."
— Francis Avorgbedor | Azure Field Notes, July 2026Get the Azure field notes — every week
Real retrospectives, honest engineering, specific fixes. Written by Francis Avorgbedor.