An example of a replatform migration was moving a traditional Java application
to AWS. The application was deployed using the fully managed platform of AWS
Elastic Beanstalk. Another use case was migrating a WebLogic-based applica-
tion to AWS using Apache Tomcat to reduce licensing costs.
In both cases, the application was moved “as is” without any major architecture
changes, but the underlying platform was replaced. In this case, all the Java
code was directly ported with minor changes.
Refactor
In a refactor migration scenario, the application is refactored, and generally
newer components are used to replace the existing components. In the end,
the application should end up providing similar business or end user function-
ality with many enhancements.
The following are the general criteria for why an application may be a good
candidate for the refactor migration pattern:
• Monolithic, legacy, custom in-house developed applications
• Time to market has become a critical factor to being competitive
• Continuous improvements are required to meet ever changing business
functionality requirements, and the current application state requires
considerable effort to release new improvements
• The current development, integration and release processes are com-
plex, with many interdependencies
A recent example of a refactor effort was migrating a back-end system based
on SQL Server Integration Services (SSIS) and Spring Batch jobs. The applica-
tion was receiving many files, and the files had to be acted upon (zipped, com-
pressed, encrypted, indexed, etc.) and sent to another destination. A refactor
of this application was called for in light of the many scalability and perfor-
mance issues. This app was migrated to AWS using native Platform as a Service
components, including Lambda batch, SNS/SQS, Step Functions and Cloud-
Watch. The emphasis here was to use the microservices concept to achieve the
required scale and elasticity, and reduce the burden on the client’s business
and IT teams.
A Methodical Approach
In taking a methodical approach to objective analysis, the categorization of the
application portfolio into different buckets and associating them with specific
migration patterns will accelerate your migration initiatives. The migration
patterns will allow you to focus your energy on developing solutions and skills
for specific patterns. Develop a few architecture patterns for each of the rele-
vant migration patterns, and then you can accelerate the migration execution
with just minor tweaks for individual applications.
FALL 2018 | THE DOPPLER | 27