Sergey Nivens - Fotolia
There's no secret sauce to application modernization; organizations must effectively plan ahead when they begin the cloud migration process.
Application modernization is a key consideration when switching from on-premises systems to the public cloud, whether the impetus is a cloud-first directive or a push from within IT to digitize legacy systems. It can reduce operational overhead, replace obsolete technologies and improve user experience.
With the exception of large corporations, most IT teams will outsource their app modernization and cloud migration to a third party. Still, internal teams play a critical role in the cloud migration process. They help ensure the modernization efforts are based on business-driven decisions that provide a solid return on the investment.
Application modernization, when done as part of the cloud migration process, can decrease the complexity of legacy apps, while also increasing their flexibility. For example, if you put your internal inventory management application in the cloud, it lets you open the app to partners without letting them inside your firewall.
Enterprises can also save money if they move away from legacy development tools and hardware, as well as the shrinking talent pool still capable of working with those systems. For example, if you have a critical legacy application written in Borland Delphi, there's probably a limited number of programmers in your local market that could deal with the application -- and they won't be cheap.
Also, modernizing applications can produce new revenue streams. Let's say your customers want to use your internal work management app. It might be too expensive to do so with on-premises infrastructure due to prohibitive security and scaling demands. In the cloud, you can create a business case, budget and do the related work to relaunch that app as a profitable service for external users.
App modernization 101
You'll need to hire a provider to take a systematic approach to app modernization if your staff doesn't have the necessary cloud experience. The provider should offer multiple channels to report on the project's progress, such as dashboards, status meetings and live demos. Those channels offer a means for feedback and for IT teams to approve the next steps.
Large corporations look to firms such as Accenture, DXC and Deloitte for these services. Small- to mid-sized firms often turn to regional players or independent consultants. Public cloud providers are also beefing up their professional services divisions as they seek to keep pace with the growing demand. Regardless of which approach you prefer to use, ask for client references and do your due diligence on the prospective vendor.
Three phases of app modernization as part of a cloud migration
During the assessment phase, enterprises profile and evaluate applications. The migration team needs to assess the current state of applications and future state requirements so the application runs properly in its new environment. Some apps aren't meant to make the cloud journey for various reasons, such as lack of a business case, compliance restrictions or cost concerns. The systems integrator -- or in-house team -- needs to account for application retirement services to aid in eliminating applications, and their dependencies, that are no longer needed.
Your migration team should work with your business users, as well as IT and security teams during this stage. Other analysis services, such as security and compliance, can also take place during this phase.
The application migration phase is where the real work takes place. Major cloud providers and third-party vendors offer a range of migration services, including direct network links and physical transfer devices. There are also various migration strategies, including rehost, refactor, revise, rebuild and replace. Rehost -- commonly known as lift-and-shift -- moves apps to the cloud as is. This technique has been the most common approach, but it's gradually giving way to other strategies. The modern lift-and-extend approach moves an application to the cloud but replaces some app components with cloud services. For example, an enterprise might replace an on-premises MySQL database with Amazon Aurora to better integrate with other native AWS offerings.
The application development phase involves rewriting applications either partially or entirely with modern, cloud-native technologies. This is when IT teams might shift to microservices or decide to build security into the application with native cloud tools. This can also create some culture shock if you move to DevOps or DevSecOps as part of your cloud migration process.
Alternatively, enterprises can use low-code/no-code tools, such as FileMaker Pro or Appian, to rewrite existing apps as something simpler. With those tools in the hands of business users, it can free developers to focus on more strategic work.
Balancing speed versus reality with legacy systems
Inevitably, corporate realities will impact cloud migration and app modernization efforts, whether it's because of budget constraints, business strategies or even internal politics. Keep this in mind as you map out your transition and be aware of the need for everyone to buy into the process.
The pace of change can also be slowed by the complexities that come with separating legacy apps from their existing infrastructure. For example, admins may need to dust off their knowledge of Sybase SQL Server before they migrate those databases to the cloud.
Cloud architects will also need to factor in systemic differences between on-premises data centers and the cloud. Perimeter-based security gives way to zero-trust, and other governance and management processes must adapt to the dynamic nature of the cloud as well. All of these concerns must be resolved before your apps go live post-migration.