Application Modernization

Application Services

What is Application Modernization?

What is Application Modernization?

Many companies run on applications that were built six or more years ago. As part of these organizations’ core systems, they contain valuable data, support workflows and teams, and help drive the company forward.

Today, organizations want more from their applications. Employees want more agility in the ways that they work. Customers expect better experiences from those they do business with. And IT managers wish their solutions were more resilient and cost less to maintain.

Yesterday’s solutions cannot support these evolving needs. They were built with the tech of their time, designed to run within on-premises datacenters. Outmoded architectures and programming languages make it difficult to enhance and maintain these aging applications, causing a significant drain on IT resources.

Moving to the cloud offers multiple benefits. It increases business agility, reduces costs and security risks, boosts availability and performance, and makes years of accumulated business data accessible for new insights and automation. Moving to the cloud is also an opportunity to modernize to reduce legacy inefficiencies and technical debt, clearing the way for innovation and building new capabilities for the business.

Definition

According to Microsoft, “application modernization is the process of updating an organization’s existing apps to a cloud-first model – sometimes called legacy modernization. If an organization uses on-premises apps, modernization may involve migrating those apps to a public, private or hybrid cloud.”

Amazon Web Services (AWS) says application modernization “involves a multi-dimensional approach to adopt and use new technology, to deliver portfolio, application, and infrastructure value faster.” AWS believes that application modernization helps organizations scale their applications at an optimal price.

According to Google, application modernization is about “promoting faster, secure software development with a tailored set of proven DevOps practices and open-source-based application platform and tools.”

While all this sounds exciting, it can be overwhelming for most IT leaders.

SoftwareONE's definition is simple:

We believe that application modernization refers to changing application source code and/or architecture to leverage cloud platforms and native services. Doing so enables business agility, optimizes costs, and improves development practices and speed. In essence, making the cloud the real cloud.

Companies want to work with a partner who can look at their application portfolio, help them create a plan, migrate and modernize what makes sense, optimize their cloud spend, and help their employees improve their skills and practices along the way.

The 7 Rs of Optimized Cloud Adoption

Application modernization can mean different things to different people. At SoftwareONE, we use a concept called the 7 Rs to facilitate conversations about the decisions businesses can make to assess and modernize applications. Our model is based upon similar migration strategy descriptions from Gartner and AWS but has some unique differences.

application modernization
Pathways for Cloud Adoption, source: SoftwareONE

Many companies are tempted to rehost or minimally replatform applications for the cloud. The most significant benefits (including cost savings of up to 50%) go to those that thoughtfully replatform, refactor, and relicense their applications to leverage what the cloud offers.

Rehost

Rehosting refers to moving an application’s components from physical servers to virtual machines in the cloud. This is often called a “lift-and-shift” migration. Moving your apps to VMs in this way lets you easily migrate to the cloud but does not involve re-architecting the solution to use cloud-native services. You will be faced with the same limitations to scalability and options for future development as you were in the datacenter. If you need to move out of a physical datacenter quickly, do not expect to need to update the application very often or at all, or if it is of lower strategic importance to the business, you may not want to invest the effort to replatform or refactor it, making it a good candidate for rehosting.

Replatform

Replatforming involves moving an on-prem application to the cloud while making minimal source code changes to allow for more fine-grained management of application components. It is a cost-efficient approach but allows for some cloud-native benefits such as auto-scaling, improved security and resilience, and managed storage. One method of replatforming is auto-containerization using a hyperscaler’s migration tools. This approach can reduce costs by using a shared platform instead of IaaS and provides an opportunity to move from commercial software to open-source containers in the cloud, further reducing total cost of ownership (TCO). Replatforming is best for workloads with straightforward components, controlled technical debt, and no major performance or security problems. Perhaps you’ve prioritized other apps within your portfolio for more extensive modernization and need to be pragmatic about the rest.

Rehosting and replatforming can be tricky. According to a recent IDC whitepaper on application modernization, replatforming “could result in unexpected (and unwelcome) surprises that impact application stability and performance.”

Refactor

Refactoring is the process of re-architecting and making significant code changes to an application to make it better suited to the cloud. In a proper refactor you can pay technical debt, decompose monoliths, solve performance and security issues, and add cloud-native services. Usually, monolithic apps (built with functionality such as UI, database, and logic all in a single unit) are decomposed to use individual cloud services natively. This allows you to optimize the use of cloud services based on business requirements, technical requirements, and cost considerations across compute, storage, database, and so forth. It also opens the entire catalog of purpose-built services from the hyperscalers for future innovation (such as ML, AI, IoT, edge, blockchain, etc.). Finally, it enables more agile, modern ways of working for development and operations teams. Two recognized modern architectural patterns are microservices (individual functions are deployed into containers that operate as stand-alone applications) and serverless (run code without being concerned about the underlying infrastructure). Refactoring can be accomplished all at once or in iterative phases, according to the scope of refactoring required and appetite for investment. Applications central to your business and planned to be continuously enhanced in the future will benefit from the investment in refactoring.

Refactor or Replatform Your End-Of-Life Workloads

You have many options when it comes to end-of-life workloads. Discover how to modernize your applications with a SoftwareONE Application Modernization Advisory:

Learn more

Relicense

Licensing in the cloud is nuanced, and businesses must assess the economics of their decisions in the context of their move to the cloud. In the bring-your-own-license (BYOL) model, organizations can use their licenses flexibly across cloud and on-prem. The pay-as-you-go (PAYG) model means you will be paying based on your organization’s true usage, a popular model for IaaS, PaaS, and SaaS services. Cloud subscription licensing agreements have set terms and can include attractive hyperscaler incentives. Enterprise licensing agreements streamline the purchase of software licenses and cloud subscriptions for large organizations and provide steep discounts. Some businesses prefer CAPEX spending to OPEX from a financial perspective, and some parts of the cloud may be treated as CAPEX for accounting purposes.

IT and procurement departments must look at the entire financial picture to make decisions on how best to optimize their spending. At SoftwareONE we sometimes also call relicense rethink because the licensing costs may drive other actions. For example, we can address apps that have been migrated to cloud through lift-and-shift or auto-containerization by further optimizing to reduce license as well as cloud consumption costs, saving as much as 50% overall.

Replace – Rebuild

In rare cases, organizations may want to go back to the drawing board and re-write an application from scratch rather than refactor it. Rebuilding is an extreme step – existing apps with active users are often best addressed through refactoring. However, perhaps your business model has changed dramatically, or you want to fully redesign for a different persona or type of user. In that scenario, you can start fresh and use the cloud services of your choice and build a cloud-native app from the start.

Replace – Repurchase

Replacing applications through repurchasing is one of the most straightforward ways to modernize. It involves buying commercial off-the-shelf (COTS) software (often delivered as software-as-a-service) to replace the custom app. Some SaaS providers allow for minimal customization to suit the company's workflows, but you are primarily trading a high degree of customization for a significant reduction in development and maintenance overhead. This is the way to go if the purpose of the application is not tied to your competitive advantage and there is an attractive solution within budget. This might mean choosing to replace your home-grown CRM or marketing systems with Salesforce and Adobe, for example.

Retain

As the name suggests, retaining refers to keeping an application in its current state and environment. Some companies make the choice to keep highly regulated workloads (such as those in healthcare and banking) on-prem or in private clouds.

Retire

Retiring is simply a decision to discard an application because it no longer serves the needs of the organization. When Microsoft aimed to move everything to the cloud in 2018, its Core Services Engineering and Operations (CSEO) team found that almost 30% of existing applications could be retired.

Do Companies Need a Partner When Modernizing Their Applications?

Working with an experienced cloud solution services partner is essential for most companies. A technology services team can bring deep expertise, repeatable assets, and automated tools that in-house teams do not have, getting you to outcomes more quickly. A partner can also help you create a vision and a roadmap for your application portfolio’s future state – one built with business goals and current technical constraints in mind. As a result, the modernization project is de-risked through a strong business case and thorough discovery and assessment.

Finally, it is important to remember that a top partner has been involved with many projects and has had an opportunity to see the results of application modernization at scale. They can guide customers starting this journey to think about automation, data governance, security, costs, and other levers in the early stages.

Case Study: City of Frankfurt

The City Government of Frankfurt, Germany relied on bespoke development of its business-critical applications. When end-of-life support for the technology within those apps neared, the city turned to SoftwareONE to rebuild its application portfolio and reduce technical debt and unnecessary IT expenses. Six applications were rapidly modernized and adapted to current business and security requirements, making the work of the city administration more cost-efficient, secure, productive, and user-friendly.

Read more

Building an Application Modernization Strategy

According to McKinsey, CIOs recently said that “10 to 20 percent of the technology budget dedicated to new products is diverted to resolving issues related to tech debt. More troubling still, CIOs estimated that tech debt amounts to 20 to 40 percent of the value of their entire technology estate before depreciation.”

There is no doubt that application modernization is critical. Without it, organizations tend to waste up to 32 percent of their cloud spending, according to Flexera.

Modernization is an investment in your future but has the potential to interrupt business as usual if not well-planned and executed. Partnering with an expert advisor is a significant first step. At SoftwareONE, we have a pragmatic approach to optimized cloud adoption and provide flexible services to help you accomplish your goals wherever you are in the journey.

With global reach, end-to-end services, and strong partnerships with Microsoft, Amazon Web Services, and Google, SoftwareONE delivers on the promise of cloud. Unlike other cloud solution services partners, SoftwareONE is a leader in software and cloud financial management. We’ll show you how to make your current IT investments count while bringing your business forward.

Modern Platforms, Applications, and Practices

A realistic and sustainable cloud strategy accelerates development, strengthens security, reduces costs, and improves performance and resiliency. Are you getting all you can out of cloud?

Get started
  • Application Services, Adoption and Change Management
  • Cloud, Adoption, Migration, Strategy, Digital Transformation, Application Modernization

Comment on this article

Leave a comment to let us know what you think about this topic!

Leave a comment

Author

SoftwareONE Blog Team

Blog Editorial Team

Trend Scouts

IT Trends and industry-relevant novelties

Related Articles

Top 5 Mistakes of Cloud Migration
  • 07 June 2022
  • Joaquin Potel
  • Application Services
  • Application Modernization, Cloud, Infrastructure, Cloud Computing, Hosting

Top 5 Mistakes of Cloud Migration

Thousands of our customers are in the midst of their organization’s journey to cloud. Avoid these five common missteps.

End-of-Life Workloads: Refactor or Replatform?
  • 01 June 2022
  • Ian Hutchinson
  • Cloud Journey, Application Services
  • AWS, Cloud, Cloud Workload, SQL Server, Windows Server, Modernization

End-of-Life Workloads: Refactor or Replatform?

You have many options when it comes to end-of-life workloads. Discover how to choose your next step when facing end-of-life software.

An Introduction to Application Development
  • 16 September 2021
  • Steffen Becker
  • Application Services, Future Workplace, User Productivity
  • Application Modernization, Digital Transformation

An Introduction to Application Modernization

What application modernization options are available? How does such a project proceed? We show you how applications can be made performant again.