The Doppler Quarterly Fall 2018 | Page 29

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