What about the benefits ?
So far we have only looked at the cost side, for any application move to the cloud, then the costs must always be balanced against the potential benefits, so let’s have a look at the potential benefits.
Benefits
We have classified the benefits into seven basic categories. These are the most common and most beneficial categories of benefits that are achieved by modernizing an application along the lines of one of the Modernization Patterns that we have outlined.. Two of these are based on cost reduction - for infrastructure and operations - while the other are benefits of enhancements to the service that the application provides.
We have mapped these to each of the Modernization Patterns as the benefits are not equal across all of the patterns. For example a rehosting might deliver some infrastructure savings, but it will not deliver any functional benefits. Similarly, a revision could deliver new functionality for the business, but it would not deliver any operaitonal cost reduction (indeed it might increase costs).
In our overly simplistic example we have used unweighted 1-5 scores. In reality, your organization will need to put weightings on each of the benefit categories, and, indeed, each individual application may have a different weighting. We have provided the benefit matrix as an Application Assessment Spreadsheet which you may like to use as a starting point for your own assessment.
Perhaps the most important point to note is that the “Functionality Improvement” is probably the most variable in its value. Simple fixes will have minimal value, but a change that enables a new business function or a new product line could be worth many more times the value of any cost saving. In the spreadsheet, we have provide a second matrix which allows a weighting to be placed on each of the individual benefits to allow you to reflect this.
Benefits Comparison
Nevertheless, even based on the simplistic model, it can be useful to make some observations :
-
Replace (by SaaS) provides the greatest potential benefit. This reflects the economy of scale where a SaaS provider can make a huge investment in application development which is spread over all its customers, and so the resulting product can offer much more than any self-build. This is reflected in the strong growth of the SaaS market in recent years. This option is likely to continue to grow as SaaS-based solutions grow in the breadth of their business capability and as they move into new business functions and new industries.
-
Rebuild manages to deliver all the functionality and scalability required, but the custom-build aspect increases some of the costs and will likely struggle to achieve the resilience and security of a large SaaS provider (although with enough investment, anything is impossible). The rebuild option will offer the most benefit for business capabilities that are unique to your organization and provide a strong differentiator to your competition.
-
Revise is not far behind the full rebuild on potential benefits, in that in many cases new functionality can be added on to an existing system with minimal disruption. It’s downside is that even though there will be extra business functionality, it might be difficult to realize those benefits unless this option is combined with a technical upgrade as part of a rehost or replatform.
-
Refactor is the most technical of the options and the benefits are fairly narrow. Refactoring (by definition) delivers exactly what you started with, but with a different underlying code-base. This approach is often used to address specific challenges in an existing system. Those challenges can be varies, but two very common ones are performance and maintainability. Refactoring a module could remove a specific bottleneck, while refactoring a broader range of application modules could deliver lower maintenance cost by dealing with technical debt. However, and in general, a refactor approach can be very difficult to cost justify at the business level.
-
Rehost does not extend functionality, but delivers fairly good cost reduction and non-functional improvements. If your application is already fit-for-purpose and is strategic to your business, then this is often the best approaches. The core tenet of rehosting is always to change as-little-as-possible.
-
Replatform allows us to change some of the underlying platform without minimal changes to the code base. This might be a switch of application-server software, database software or service, operating system or even underlying storage. All of these can deliver significant benefits to scalability, resilience, maintainability or could deliver a cost reduction. In most cases, any migration to cloud will include some level of re-platforming. A key decision when moving to cloud will be the degree of replatforming that will be used. This trade-off os clear, the more platforming is accepted, then the longer it takes to migrate, but the greater the long-term or strategic benefit.
-
Retain and Retire offer few benefits. While, at first glance, retire should offer cost savings, the reality is that these are often difficult to realize. Applications are frequently hosted on shared infrastructure, so nothing can be switched off, and even a switch-off and decommissioning of hardware can incur short-term costs that are hard to offset with savings.