What is Application Rationalization? Plus, its Role in Cloud Migration
In This Article
Application rationalization is the process of systematically assessing applications in your IT environment to determine if they should be maintained as is, reworked in some way, or retired altogether to optimize performance and drive business objectives.
Regardless of where your applications are running, whether on-premises or in a public, private or hybrid cloud environment, application rationalization plays a key role in maintaining the functionality and overall hygiene of your application portfolio.
If your organization is considering a move to the cloud, application rationalization is one of the first steps you'll want to take. The process is instrumental to setting a migration schedule, identifying the right migration activities and flagging potential risks.
This article offers a quick primer on the core aspects and benefits of application rationalization, including its relation to cloud migration.
Before rationalization work can begin, a discovery phase is needed to fully assess your applications and underlying infrastructure. Full application visibility is needed to determine which subsets of your organization are in scope. It also enables the creation of a comprehensive application inventory.
Infrastructure assessment is a fundamental component of any discovery phase, as you need to ensure that the infrastructure your applications and services depend on (e.g., directories, DNS, IP, certifications, security, etc.) are aligned with your application portfolio and rationalization goals.
Another aim of the discovery stage is to identify gaps in data accuracy and establish a true baseline from which to gauge progress.
As such, discovery should:
- Uncover and catalogue all application dependencies, including how each app is tethered to IT infrastructure and any potential roadblocks to modernization.
- Define an appropriate scope for application rationalization.
- Describe each application's general capabilities and business goals.
- Detail known DevOps metrics such as change lead time, deployment frequency, change rate failure and mean time to recovery/restoration (MTTR).
- Include any other information relevant to achieving your end-state goals, such as known business and IT owners.
Application rationalization is one of many tools that organizations leverage for successful application portfolio management. Complementary tools and processes may include data source and network aggregation, software rationalization and asset management, hardware asset management, cloud asset management, enterprise architecture assessment, capacity planning, application dependency mapping, and security tools rationalization.
With a defined scope and application inventory in hand, you're ready to begin the work of application rationalization.
At WWT, our experts typically break the process down into three steps:
- Bucketing applications
- Applying the six "Rs"
- Ordering applications
Step 1: Bucketing applications
The first step requires assessing individual applications in your inventory and sorting them into green, yellow and red buckets based on the amount of development work (if any) required to achieve your goals.
Let's consider a scenario where an organization is embarking on a new cloud migration project. After scoping and discovery, the bucketing stage can help determine just how ready your applications are for migration.
- Green bucket: These applications are good candidates for cloud migration, requiring limited development work (e.g., simple applications that carry low business risk).
- Yellow bucket: These applications are usually good candidates for migration. They likely require some amount of development work to be cloud-ready; and/or they rely on a shared database, which can complicate migration for reasons including costs, a need to maintain consistent and updated data, and security requirements.
- Red bucket: These applications are generally poor candidates for migration as they would require a significant amount of development to function properly in the cloud. Migrating such applications usually comes down to a business decision given their difficulty and expense to move (e.g., mainframe applications).
Step 2: Applying the six "Rs" of application rationalization
Once your inventory has been analyzed and bucketed, the next step involves applying the concept of the six "Rs" to identify the appropriate plan of attack your developers will take for each app.
Here are the six "Rs" in a nutshell:
- Rehosting: Requires lifting and shifting part or all of an application from its on-premises or existing cloud environment to a new cloud environment. Rehosting typically results in minimal application disruption and involves nominal work to facilitate successful migration.
- Replatforming: Requires optimizing an app with relatively minor changes prior to migration. This approach lets developers reuse resources like development frameworks and coding languages.
- Refactoring: Involves making significant changes to the application's configuration or code before migration. This is a more complex process as changes have a higher likelihood of affecting how the app functions post-migration.
- Retiring: It often makes more sense to retire an outdated app than migrate it to the cloud.
- Retaining: On the other hand, sometimes it makes more sense to keep an app in its current location, whether that's on-premises or in a separate cloud environment from the one you're migrating workloads to.
- Repurchasing: If it will take a lot of time and effort to migrate an application to the cloud, it may make more sense to simply repurchase the app in a cloud-optimized format.
Step 3: Ordering applications
Once the six "Rs" have been applied to your application inventory, the final step involves prioritizing the order in which applications will be tackled. Prioritization allows application teams to split rationalization work into more manageable pieces. Businesses can choose how to prioritize the order in which apps are worked based on a number of factors, including cost/budget impact, related infrastructure modernization work, complexity, business impact, development time required or severity of known issues.
Application rationalization offers a wide range of potential benefits, including:
- Cost savings: From eliminating or reducing maintenance and operating costs; lowering total cost of ownership; buying fewer licenses; managing fewer vendors; reducing training expenses; and introducing operational efficiencies.
- Reduced complexity and risks: From reducing IT dependencies and integrations; managing technical debt and application sprawl; streamlining processes and compliance; and shrinking the attack surface for cyber threats.
- Increased speed and agility: Freeing IT personnel to focus their time on more profitable and innovative projects, rather than dedicating time to maintenance, can accelerate your ability to get to market with new offerings or pivot in response to market uncertainties.
- Innovation and growth: With more budget available for investment in innovative technologies and processes like artificial intelligence, machine learning and MLOps, you can begin to leverage data in ways that can unlock new revenue streams that drive profit growth.
Most organizations are looking for ways to rationalize, automate and simplify their technology environments. Sound familiar?
A common barrier to success is misunderstanding how applications are truly operating within your existing IT environment and map to your financial ledger.
Given this, conversations about investment in application rationalization should be held with the C-suite (i.e., your CIOs, CFOs, CISOs and COOs). This is especially true since drivers for application rationalization are tied to cost savings, revenue and profit growth, risk mitigation and efficiencies realized by eliminating redundancies, controlling operating costs and managing technical debt.
A comprehensive approach to application rationalization can be expensive, disruptive and resource intensive. However, if the C-suite isn't bought in early, organizations can find themselves taking a fragmented approach, assessing individual applications in silos separate from other application and IT infrastructure, which ultimately leads to costly downstream maintenance and diminished ROI.
For IT investments like application rationalization, the financial justification usually comes down to savings, especially as IT is traditionally viewed as a cost center for operations. To begin developing a solid financial use case for application rationalization, it helps to start by defining your problem and quantifying how application rationalization can help. The specifics will depend on your organization's unique needs, goals and resources.
Aside from playing a key role in cloud migration preparation, let's explore a few more scenarios that illustrate how application rationalization can be a useful lever to drive business outcomes.
Business impact analysis
Application rationalization can play a critical role in supporting a Business Impact Analysis, an exercise that identifies and analyzes business functions to determine if they are appropriately aligned to IT. If the analysis discovers that a business function would be disrupted by a proposed IT initiative, a mitigation strategy is developed to minimize risk.
CMDB asset management
A configuration management database (CMDB) is a critical file, usually in the form of a database, that provides a detailed inventory of an organization's IT hardware and software components. It organizes configuration data into a centralized view that makes it easier for IT leaders to examine, manipulate and manage data from different angles.
As IT environments grow in complexity, the need for reliable visibility into how components interact and operate within that environment also grows. An application rationalization true-up, using unbiased third-party tools and analysis paired with AIOPs best practices, can give you a solid foundation for effective and accurate system automation.
Data protection and business continuity
Application rationalization can help develop the baseline application inventory for an organization's data protection, disaster recovery and continuity of operations plans, which outline contingencies and backups for critical applications and services. Results can be helpful for determining if applications have the redundancies required to ensure continuity of operations. They can also be used to establish SLAs based on the weakest link in your application and service chain (tied in with any OEM application supportability requirements).
Mergers and acquisitions (M&A)
Organizations that scale through M&A activity typically end up with duplicate applications, services and teams. Such organizations also typically have a mandate to quickly reduce operating expenses and standardize application consumption if they hope to realize and deliver on promised synergies. Application rationalization can provide the visibility needed to accurately assess which applications are worth further investment and which can be left behind as the new organization emerges.
Consider an incoming executive (e.g., CTO, CIO or CISO) who has just inherited an IT environment that's largely unknown and potentially unstable. Application rationalization can help that executive better understand the infrastructure and address potential issues before they turn into operational outages. With rationalization complete, the new executive is in a much better position to begin working on modernization plans.
Or consider a CISO who wishes to better understand their legacy IT and OT environments with the goal of building an accurate enterprise segmentation and micro-segmentation policy. Application rationalization results can help them see and assess all of their OT manufacturing environments, giving them the information they need to implement a more effective security policy that reduces the potential for IT weaknesses or breaches to proliferate across the business.
Most large businesses accumulate technical debt over time. This can occur when an organization fails to prioritize the budget or time needed to modernize its IT environments. If IT simply patches or improves small parts of the environment over time, the resulting deviations from the original architectural design can snowball, creating a detrimental impact. This is common in mission-critical environments where maintenance opportunities are sparse.
The longer modernization is neglected, the harder technical debt becomes to unwind. On top of that, losing critical staff who understand the ins and outs of your IT environments can exacerbate this problem. Application rationalization can be a useful tool for simplifying and modernizing complex IT environments while reducing the impact of technical debt.
We take a comprehensive approach to application rationalization that considers all applications and related IT infrastructure in your environment. We leverage data-driven analytics to differentiate between what is, can and should be happening across your people, processes and technology as it relates to business applications. We also deliver remediation strategies to close any identified gaps.
Our expertise in application development and cloud computing means we offer much more than the three-step application rationalization process described above. In addition to that work, we can help in a number of related areas:
- Application baselining: Delivering silo-spanning views of your baseline business applications along with the associated processes and policies that affect them.
- Application connectivity: Delivering the information needed to secure business applications and safely untether apps from underlying infrastructure before any development work is performed.
- Sequencing: Identifying the appropriate processes or sequences needed to eradicate technical debt, including tenancy insights into hosting new and legacy applications in the cloud to maximize business advantage.
- Risk: Helping organizations understand risk in the context of security posture, regulation and compliance best practices, including remedies for discovered issues.
- Strategy: Delivering remediation strategies to close gaps in people, processes and technology.
- Application data flows: Providing application data-flow baselines while advising on deviations from these baselines over time.
Before undertaking any large structural, organizational, regulatory or transformational IT change, we recommend focusing on securing your critical business applications and maintaining full visibility into potential vulnerabilities and information flows between existing systems. Application rationalization is an incredibly useful tool to accelerate this process.
If you have any questions about where to start, WWT's app development and cloud experts are ready to assist you on your journey.