I did an upgrade with the team from 1.7 to 7.5.2 a few years ago we used terraform to build the 7.5.2 cluster with about 28 nodes. First we did a snapshot to upgrade the data from 1.7 to 2.4 and we synced by having our applications write to both. To get them to a synced state right before snapshotting we set a redis key that told our application servers to start writing every document changed or created to a redis set so we would have a set of all things changed since snapshot. This was to account for the time between snapshotting and getting the new cluster up. Once we have the set of changes synced we could test queries by switching a customer account to read from 2.4 via another redis set of upgrade accounts. Once we were confident and saw no new deprecations we did the process again for 5.6 and the. 7.5… as I recall we could skip 6.x It was an intense few weeks but definitely worth it for us. We also cleaned up our deployment to have a dedicated set of master, data and client nodes.