Sunday, December 11, 2022

 

This is a survey of modernizing applications with the Azure public cloud. Previous articles focused on trade and tools but this dives into one of the major public cloud usages for the purposes of application modernization.

The pandemic has increased the demand for the application modernization efforts across the board. That said, the approaches have varied among clients.  Many companies have withdrawn from using a single end-to-end platform and focused on specific business cases and dedicated technologies. This shift comes amid the rise of public cloud service portfolio. Application modernization is a critical component of digital transformation and companies are expanding its traditional significance to include rehosting on-premises applications to the cloud with almost no changes, “replatforming” them so they can leverage basic cloud platform service such as autoscaling, refactoring their architecture to gain many more cloud-related benefits; the use of cloud development tools, from code editors to full DevOps toolchains and finally a complete cloud-native rewrite of an application, both to provide new functionality and help retire legacy assets.

Enterprises have many choices when it comes to application modernization tools, services and platforms. Azure can be credited to making some of the specialties to be the best in the industry. One of the things that Azure has not helped clients overcome is their often-significant challenge concerning IT culture change, upskilling and costs. If there were more literature, education, and evangelism of how these staff can embrace modernization along with case studies, best practices and modernization models this would become at par with any of its existing service portfolio.

Application and data modernization journey can be a long journey with a predetermined start but not necessarily a well-known finish state. Inertia and complexity involved in legacy applications have caused a drag on the otherwise well-perceived benefits of a thriving culture. On the other hand, security and reliability and cost optimization have become the two top drivers, with improved customer experience and time to market.

There are several approaches to application modernization, but each comes with trade-offs.

1.       Rehosting, also called “lift-and-shift” is fast and aimed at lowering reliance on private datacenters.

2.       Replatforming an application so it can take advantage of cloud platforming capabilities such as autoscaling

3.       Refactoring applications written with aging and rigid architectural patterns such as three-tier to take advantage of new approaches including microservices and serverless.

4.       A full application rewrite: This gives an enterprise the most flexibility in terms of application functionality. But like refactoring, it is costly and complex.

5.       Replacing an application completely, such as with a new SaaS application from an ISV.

All these approaches also include deployment considerations. For example, should a project leverage virtual machines, given the technologies broad familiarity, stability, and security or use containers for greater agility.

In terms of public cloud services used for this purpose, analytics, data integration, databases and PaaS show a healthy adoption followed by Networking, Storage, AI, mobile, security, DevOps, Hybrid, and Identity.

.Net Core 3.1 has increasingly been deprecated in favor of .Net 5.0. Developers are also increasing the use of low code platform services to accelerate development of new applications. Similarly, MySQL and Oracle are databases that were left behind in favor of cloud databases.  One of the motivating factors for application modernization is that the decision is usually made by the C-suite executives who welcome this.

The urgency to meet customer demands and competitive landscapes propels application modernization efforts. Clients also repeatedly stressed the importance of skills and internal cultural change.

No comments:

Post a Comment