Modernization with Cloud Computing
It’s worth noting that Innovo Networks provide an opportunity to consider the IT ecosystem as a whole and how it can be modernized. As you shall see, cloud migration at scale involves looking at each application and determining how it should be thought of in this new environment called the cloud.
Many enterprises have held their applications for far too long without assigning to them a maintenance or retirement schedule. Therefore, for fear of complexity, lack of documentation, resources, source code, or other reasons, applications remain untouched.
Even for applications that remain on-premises, modernization can save time and money. An internal Microsoft IT study in 2010 demonstrated that the number of problem reports (“tickets”) and the time to resolve them increased with the age of the application and system software. (This analysis led to a focused effort to ensure that all applications were on the latest version of the operating system and other systems software such as database.)
Moreover, and more important, migration to the cloud provides an opportunity to evaluate and modernize applications and, in particular, their business logic. This activity can provide great returns on investment and impact to the top-line revenue.
Motions that one can take to modernize application and services portfolios:
- Re-host – Move a VM or an operating environment from the on-premises datacenter to a hoster or a cloud. This model is also known as co-location
- Re-platform – A legacy environment becomes unsustainable based on cost or operational requirements; a solution is to “retain and wrap” the application without making changes to the code, possibly compromising the integrity and security of the operation.
- Retire and Rewrite (or Re-envision) – When there are sufficient new requirements that cannot be met by the older environment, the best way to proceed is to rewrite the application in a newer, better-suited environment. Often this occurs when examining the portfolio of applications and consolidating several that have similar function.
- Burst out – With all of the new compute, data, and service models that are being provided in cloud environments, each providing capabilities and capacities that where never before accessible to an IT environment, many applications are bursting out to the cloud. These applications are doing innovative types of analytics, reporting, high-performance computing visualization, and so on. Keeping frequently used data locally while aging-out infrequently accessed data to far cheaper cloud storage is another common pattern.
- Expand – Enterprises are now exploring how to expand their older applications and how to add functionality to provide to mobile devices and web front ends the same capabilities that previously were limited to a computer screen. They are even moving to enhance the applications with search or video services, as an example.
- Cloud-Native Applications – As companies begin their investigation of the cloud, they frequently realize that there are new forms of applications like Big Data, new types of analytics, entirely new capabilities such as machine learning, and applications for the Internet of Things (IoT) that are uniquely fitted to live in the cloud.
Evolution of the five R’s of modernization
To focus our efforts on guidance for existing applications, let’s proceed with the most convenient way to think about modernization, which is commonly called “the five R’s”: retire, replace, retain and wrap, re-host, and re-envision. It’s likely that no single approach will be appropriate for all of an enterprise’s legacy applications, and a mix of differing approaches might be warranted, based on the value that an application delivers versus the cost of any given approach. Because these approaches depend highly on the situation, application, and types of cost involved, there is no one-size-fits-all solution.
Retire – if a legacy application is providing little value compared to its costs, the enterprise should consider it a candidate for retirement. When few people are using an application relative to its cost impact, the enterprise needs to run a cost-benefit analysis to determine if it is worth the expense. Additionally, some functionality provided by legacy systems may be rolled into a consolidated modern application running in the cloud, allowing some applications to be retired while others are replaced and modernized.
Replace – a legacy application is providing some value, but an off-the-shelf replacement with a lower total cost of ownership (TCO) is available. Many legacy applications were originally built because there was no alternative at that time. A modern, readily available application that is better suited to running in the cloud—most cost-effectively of all, a SaaS application—may now exist that can be used to replace the older one. Also, when a legacy application is replaced with a more comprehensive modern solution, there might be a chance to consolidate functionality from several older applications, thereby replacing multiple applications with a single system.
Retain and wrap – If a legacy application is providing good value and not incurring a high TCO, the best approach might be to retain it but put a modern “wrapper” around it in order to gain additional value and benefits.
Rehost – If a legacy application is providing good value but is expensive to run, it might be a candidate for re-hosting. Re-hosting involves keeping the same basic functionality, but moving it to the cloud where it is easier to manage and less expensive to run. This is also called “lift and shift.” In a re-hosting situation, the legacy application might be currently located either on a local VM or on local hardware. Some VMs might be eligible to move with a simple migration. Those on local hardware might be able to be converted with a physical-to-virtual migration and then hosting the VM on the cloud. Some VMs, especially older ones, might not migrate easily to the cloud without some significant work. In those cases, you might want to consider re-envisioning and building the application in the cloud.
Re-envision – If a legacy application is providing good value but cannot be easily migrated, the best solution might be to re-envision it and build it again on the cloud. Re-envisioning is a process of rebuilding the application in the cloud using modern technology, a new architecture, and best practices; it normally also involves adding more business value to core functionality, such as improving market differentiation. Re-envisioning an application might require rewriting the main logic by using a modern development language and tools and making it service oriented. Re-envisioning an application can be facilitated by starting with VMs in the cloud, which can be instantiated in a matter of minutes.
Cloud migration: 3 stages
When planning migration to the cloud, there are many ways to think about a road-map. From our experience, however, we’ve seen three basic stages: experimentation, migration, and transformation.
In the essential experimentation phase, two processes take place. In the first, the engineers and others create the IT department’s first cloud applications, with the objective of learning what the cloud is all about: how to develop for it, how to test, how to deploy, and how to monitor and maintain a cloud application. Concurrently, businesses and IT departments envision the art of the possible; design new solutions to demonstrate how to advance the status quo; and envision a newer, expanded, more agile and better application or service.
In the migration phase —which in many ways is the most demanding of the phases the bulk of the IT portfolio is moved to the cloud in one form or another. This requires cooperation and collaboration across a number of different enterprise functions, including the technical staff, the operations staff, as well as the executive team, business sponsors, security professionals, regulatory compliance staff, legal, and HR.
In the transformation phase (which will often be coincident with the migration phase), selected applications are redesigned to take maximum advantage of the cloud—using the PaaS model—affording greater scale, greater integration with other cloud services, and numerous other advantages.