Applications that ISVs move to the cloud often require
modernization to fully leverage what the cloud has to offer
and achieve their business goals. Modern application archi-
tectures employ microservices, serverless computing, con-
tainerization, multitenancy, cloud-native services and other
cloud features. Applications require refactoring, often with
significant architectural changes, to make use of these
capabilities.
Modernizing an application to take advantage of the appro-
priate cloud-native architectures and services is complex,
and requires expertise in cloud technologies, processes and
tools. Each application requires a detailed assessment and
a determination of the appropriate refactoring to meet
business needs. Decisions have to be made on critical refac-
toring vs. enhancements that can be included later. Unless
an ISV has already performed multiple cloud application
modernizations, there may be a steep learning curve and
possible missteps before achieving a successful result.
Often, ISVs do not know where to begin.
The blueprint for a successful application modernization
effort includes the following key steps:
40 | THE DOPPLER |
SPRING 2019
Assess application cloud readiness, and
design cloud architecture to support
modernization
You can use both manual and automated code analysis to
assess an application’s cloud readiness. Key determining
factors include, for example, hard-coded connections,
remote method invocations and thread management. In
addition, you should review the application architecture to
assess the applicability of decomposing business logic into
cloud frameworks, such as microservices and serverless,
and the suitability of incorporating cloud-native services to
meet business, performance and scalability requirements.
You will also need a thorough evaluation of nonfunctional
requirements to drive the design of an appropriate cloud
infrastructure to support the modernized application. When
designing the infrastructure, consider best practices, such
as common shared services for logging, monitoring and
security. The infrastructure design should also include the
frameworks and tools needed by the development team to
accelerate innovation and facilitate agile processes.