If your application migration strategy involves significant refactoring/re-architecting, what’s the best way to control costs?
Sort by:
Opt for low-hanging fruits first, try the divide-and-conquer approach. If you can, think of how a portion of the debt can be migrated to a new tech, tested, and deployed to prod, and then repeat the process.
Remember, being too ambitious in the beginning can have a long impact on the overall progress of the refactoring process. You might end up overthinking the problem and complicate the migration.
1. Plan on how are you planning to migrate (in phases or all at once) and also very important to have rollback strategy in phase. It's good to have some sort of flags (which can go back to V1 or V2) so that it can be easily rolled back. That way you don't have to spin new infra (Blue/Green)
2. It's good to have a test suite that can test all the product flows with all the re-architecting/refactoring - TDD (Test Driven Development). This can also ensure that the changes being rolled out on prod are well tested and does not break.
3. Also good to have cost monitoring dashboards and alerting to measure the impact.
The best way is to migrate one component and test it out to validate what you want to achieve is possible. With this , you can extrapolate the timing and cost plus infra requirements.
A few systems are born to be monolith and ideally should remain monolith. But yes , microservices has its own advantages.
It all comes does to estimates. If you know what needs to be done and have skills, then you can at least roughly tell how much efforts it will take. If you don't have the expertise required, you may need assistance from someone who does.
I would recommend for agile project management approach first this project. Once the migration wave groups are in place, split waves into sprint and iteration, which will help to predict the outcome and control the cost. PoC migration waves with few applications can be conducted at the beginning of the migration execution waves to educate the team members on the process.