Table of contents
At our recent FutureStack19 event in New York City, Dave McCann, vice president at Amazon Web Services (AWS), informed the audience that the typical portfolio for an enterprise is approximately 1,000 (mostly monolithic) applications. This includes a combination of custom-developed and off-the-shelf software.
McCann also pointed out, however, that he has seen companies with bigger—sometimes much bigger—portfolios. In one case, he said, he encountered an enterprise with 11,000 applications in its portfolio.
What’s even more astonishing is the fact that up to 80% of those applications will soon move to the cloud. To keep the math simple, McCann estimated that among the largest 10,000 AWS customers alone, between 5 and 6 million applications will move to the cloud.
Watch McCann's full FutureStack presentation below:
Millions of apps—and millions of modernization choices
Along the way, these companies will have to make millions of choices about the best approach to modernize each application—from deciding whether or not to make code or architectural changes, to prioritizing opportunities to improve performance. Whether your own organization manages hundreds of applications or thousands, the choices you face may seem overwhelming.
We’re here to help! This article assembles the collective wisdom we’ve gathered at New Relic helping customers and partners during their application modernization journeys. Consider this a modernization mini-playbook: a six-step guide to mapping out your modernization journey and to making the right choices along the way.
Step 1: Learn why modernization is critical
In our ebook, The Enterprise Guide to Continuous Application Modernization, we describe how “lifting and shifting” legacy applications to AWS often limits their ability to leverage the cloud’s superior elasticity, resiliency, ease of deployment, and flexibility. To achieve the full promise of the cloud, you need a “modernization mindset”—in other words, a full appreciation of how the cloud can benefit your business, and a commitment to move beyond “lift and shift” by transforming your applications and organization to capture those benefits.
Modernizing your applications as you move them to AWS transforms them to reduce technical debt, improves the value and performance of each application to the business, and supports the shift to DevOps in your organization.
Step 2: Understand your modernization options
As we describe in more detail in the ebook, when you’re moving your application portfolio to the cloud, there are six options available to you—although only three of these actually involve modernizing an application:
- Retire: Choose this option when the application no longer provides value to the business.
- Retain: Keep the existing application and infrastructure, based on a decision that the application won’t create enough business value to justify modernizing it.
- Repurchase: Replace the current, undifferentiated application with a new, off-the-shelf product.
- Rehost: Migrate the application to a modern cloud infrastructure to gain modest benefits such as cost or performance improvements. Learn more in our white paper, Modernizing with AWS: Rehosting.
- Replatform: Generate additional benefits by moving all or part of the application onto a new platform or swap out an existing component for a managed service on AWS. Learn more in our white paper, Modernizing with AWS: Replatforming.
- Refactor: Perform significant rework of an application’s code or architecture to take advantage of new technology or to meet new business opportunities or requirements. Learn more in our white paper, Modernizing with AWS: Refactoring.
Keep in mind that modernization strategies should be iterative: You can start with a more basic approach, reap the initial benefits, and then repeat this process by progressively adopting more advanced modernization tactics that offer additional advantages. Each modernization cycle should be measurable and should also support the culture, process, and technology changes that move your company through its digital transformation.
Step 3: Gather data to inform your decisions
The goal of this step is to get a clear understanding of each application and its interdependencies. For example, taking baseline measurements will help you understand how an application performs in its current environment. This knowledge, in turn, helps you make informed decisions as you create your modernization roadmap. This is a far more effective approach than relying on guesswork, anecdotes, and “gut feelings” to understand how your application functions today and to decide whether or not modernization would improve it.
Learn more about how to collect application baseline data with our tutorials:
- Guide to Cloud Adoption: Create Application Baselines
- Optimize Your Cloud Native Environment: Establish Objectives and Baselines
Step 4: Weigh the trade-offs between modernization options
Simpler options (such as rehosting) generally offer lower risk and lower potential upside than more advanced approaches (such as refactoring). But every application and every business scenario offers a unique mix of risk and reward—and it’s critical to identify and assess the risks involved for each application before you settle on an approach to modernizing it. There may be situations, for example, in which it’s useful to modernize a component from an application—such as a database—while leaving behind the rest of the application.
In general, you’ll need to consider the time, cost, and complexity of each modernization approach against the potential value of any improvements and outcomes you can achieve (including agility, scalability, reliability, performance, better customer experience, reduced costs, reduced management efforts, and more).
Step 5: Follow proven best practices
Adopting proven best practices, such as those found in the AWS Well-Architected Framework (WAF), can go a long way towards minimizing the risks and maximizing the benefits of an application modernization initiative. The WAF, which consists of five pillars—operational excellence, security, reliability, performance efficiency, and cost optimization—was developed specifically to help companies build secure, high-performing, resilient, and efficient cloud infrastructures for their applications.
Each white paper in our modernization series shows how to apply the WAF pillars to a specific modernization option, and also explains how to use New Relic to monitor and measure the impact of your modernization initiative.
Learn more about using New Relic to instrument each of the five WAF pillars with our ebook, Cloud Done Right: The AWS Well-Architected Framework Instrumented by New Relic.
Step 6: Set your team up for success with a strong DevOps culture
DevOps teams, and the culture to support and empower those teams, are a make-or-break requirement for any modernization initiative. DevOps equips your teams with all of the key traits—from speed and agility to resiliency and scalability—they’ll need to succeed at developing modern applications.
DevOps teams, however, often struggle to stay ahead of the growing complexity within today’s application environments. Teams often deal with hundreds or even thousands of moving parts, some of which grow and change moment by moment, even as teams work to understand and troubleshoot them.
The good news is that you can turn to proven best practices for building and sustaining DevOps teams, giving them the mindset, strategic vision, and supporting culture to deal successfully with this tsunami of change.
Inform your approach to DevOps with our white paper, Preparing for the Next Phase of DevOps. Discover the state of the art for modern DevOps teams; learn why complexity poses a growing challenge for DevOps practitioners; and explore best practices for cutting through complexity and promoting DevOps agility.
Ready, set, modernize!
Modernizing your applications will always involve making important—and potentially risky—decisions. But taking a data-driven approach based on proven best practices can go a long way toward reducing risk and optimizing the outcomes of your modernization initiatives. That’s why New Relic continues to work closely with AWS—we’re upholding our commitment to help you make informed decisions about your organization’s journey to the cloud.