Microservices has proven time and again that it is more than just a mere buzzword. Organizations have made a decision to move towards it and many more are weighing its odds and evens. In order to make a wise decision, organizations need to analyze its current pain points and translate them to what impact it has on cost and on business risks. You then need to set your preferred goals and validate if a Microservices migration will help you in this regard.
This blog lists the key symptoms that a typical organization would experience and how it translates into the categories of a cost and business risk.
Challenges and Pain Points
- Unstable Application: Even small changes can disturb the stability of the application. Besides, every time a change happens to the system, it pervades into other parts of the system and issues happen there as well.
- Laborious Testing and Fixing: Test and issue fixes which endlessly increases the release date.
- Longer Release Cycles: It is not possible to roll out the features quickly for one module as the other module’s development would be in progress.
- Error Prone Release Process: The release process is very complicated and takes gargantuan efforts to release it into production. Many a time, issues are encountered because of the release process.
- Production Failures: Faults such as memory leaks and CPU hikes in one part of the system completely halts the production.
- Inability to Innovate: One of the modules needs new design, but it is impossible to adopt as the entire system needs to be compatible with it.
- Increased Cost of Scale: The load in one part of the system affects the other parts hence making the Cost of scale very high.
- Developer Induction Time: It takes a lot of time to induct a developer as the developer needs to know the entire system and code base before they become productive.
Here is a table to elaborate on the challenges,
|Pain Points||Cost Effects||Business Risks|
|Unstable Application||Higher Maintenance Cost,|
Higher Rework Cost
Loss Of Business
|Longer Cycles of Test and Bug Fixes||Higher Development Cost,|
Higher Rework Cost
|Longer Release Cycles||-||Losing To Competition|
|Error Prone Release Process||Higher Release Cost||Customer Dissatisfaction|
|Production Failures||Higher Maintenance Cost||Hindrance in Business Continuity|
|Inability to Innovate||-||Losing To Competition|
|Scaling Issues||Higher Infrastructure Cost||Customer Dissatisfaction|
|Developer Induction Time||-||Losing to Competition|
To summarize, these issues result in the following:
- Significant increase in maintenance, rework, release cost.
- Customer dissatisfaction due to poor quality that might lead to loss of business.
- Losing to competition as we are unable to deliver new and better features quickly.
Is Microservices Migration really a Midas Touch?
Microservices migration drives a pragmatic solution for the above 3 factors. You need to outweigh your investment of migrating to Microservices against what you would otherwise lose in 3 years because of the above factors.
Hence, the ROI of Microservices can be calculated as,
ROI = Cost of Migration – (( (Maintenance Cost+Rework cost+Release cost ) + Customer Revenue loss + Lost Opportunities))*3
If the ROI is positive, you can confidently make a move to migration. If the ROI is negative, look at the metrics which can be easily worked with to make Microservices work for you. A statistics reveals that more than 63% of organizations are migrating to Microservices and this surely is a way forward for the future.
Latest posts by Jothi Rengarajan (see all)
- Predicting ROIs to a Microservices Migration – Sowing Seeds to Success - May 22, 2019
- The 4 Pillars of Microservices: Process – The Fulcrum of Strength (Part 1) - May 22, 2019
- Saga – The key differentiator of Microservices - April 26, 2019