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