By Siddharth Jaiswar, Principal Architect – Atos
By Indranil Karmakar, Sr. Architect – Atos
By Ramesh Ranganathan, Partner Solutions Architect – AWS
Containerization has emerged as one of the most popular choices for application deployment. This is because of its capabilities to provide isolation of applications, portability across infrastructures, higher utilization, and improved maintainability.
Furthermore, the heavy lifting required to set up, manage, and operate a container orchestration platform is eliminated by managed AWS services that make it viable to move from virtual machines (VMs) to containers quickly. This includes Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS), and AWS Fargate.
Most customers have their on-premises applications running on virtual machines and physical hardware. These organizations are inclined towards a “lift and shift” migration to VMs on the cloud (often utilizing Amazon EC2) rather than migrate direct to containers.
Some applications can be easily moved to these managed container platforms, but they require changes before they are ready for containerization. This becomes time-consuming and risky when the number of applications are large in number. It also becomes difficult to share learnings and create synergies between migration programs.
This post focuses on migrations based on a factory approach where a standard process and tooling are applied to containerize the applications. We will also outline the benefits of such an approach for large-scale migration initiatives.
Atos Cloud Migration Factory Approach
Atos, an AWS Advanced Consulting Partner with the Migration Competency, developed a migration factory approach that helps customers move from virtual machines on-premises to a container platform on AWS in an accelerated manner.
Key aspects of the solution include:
- Leveraging reference architectures based on Amazon ECS, Amazon EKS, and AWS Fargate to reduce operational overhead.
- Well-defined factory operational process for migration ensures repeatability and consistency.
- Automation tooling to analyze, remediate, and deploy the application.
In most cases, containerization doesn’t need invasive changes, making the above structure repeatable and consistent.
For example, take a Java application which currently runs on a WebLogic application server and maintains application state locally. If we need to deploy it on Amazon EKS or ECS, all we’d have to do is minor code changes like removing state or file system dependency, create container artifacts, and deploy it using CI/CD tools.
There is no need to change the application server WebLogic.
When we apply the migration factory approach, it adds more horsepower to a migration engine and results in better and faster return on investment (ROI).
Figure 1 – Atos cloud migration factory approach.
The cloud migration factory approach is organized into four streams based on tasks to be performed, as well as on a deliverable output that needs sign-off from customers or Atos program leadership:
- Profiling factory
- Architecture and design factory
- Remediation factory
- Deployment and testing factory
This phase comprises of deeper analysis to understand the technology landscape and business context of portfolio applications. The Cloud Code Automation Tool (CCAT) from Atos is used as an analysis tool, which does quick analysis of the application code and provides an understanding of the application technology landscape and also the AWS non-compliance report.
The Atos Cloud Assessment Tool (ACAT) disposition is validated, and a ballpark effort estimate is given by the tool to make manual code changes and timelines for execution of the migration activity. Here, the emphasis is on choosing the right AWS services that offer scale coupled with lower operating cost.
Architecture and Design Factory
This phase results in coming up with an application architecture which is aligned to enterprise reference architecture and AWS best practices. This team looks at any changes required to the architecture of the application, or any other design changes, in order to make the application compatible with AWS reference architecture. Impact analysis to determine impact to the surrounding app ecosystem is also performed by this team.
This phase results in the application migrating to the desired architecture. The application is remediated from a code and configuration standpoint, based on the recommendations given by the architecture and design team. CCAT is used as an automation tool and remediates the common non-compliant patterns found in the application codebase.
Developers can do unit testing and then check in the code to the chosen source code repository to create a binary of the remediated application. They can then push it into the cloud repository.
Deployment and Testing Factory
This is again an automation-driven phase where infrastructure automation is achieved by using AWS CloudFormation templates and CI/CD pipeline implemented by using AWS CodePipeline. Also automated test scripts are built to ensure functional correctness.
Migration Factory Automation Tooling
Any factory derives its efficiency from a skilled team of resources repeatedly working on the same set of tasks and automated machinery and tools. In each of the streams of the migration factory, Atos identified and automated tasks based on patterns across engagements.
Cloud Code Automation Tool (CCAT) is an Atos-proprietary tool that builds in the automation with specific relevance to the analysis and remediation phases of the cloud migration.
Migration tooling focuses on following areas of automation:
- In the application analysis phase, analyzing applications for adherence to Twelve-Factor guidelines or cloud modernization or containerization standards laid out by the customer is automated by CCAT. This tool scans code and identifies all non-compliances to a particular reference architecture.
- In the design and remediation phases, there were common solutions to non-adherences to cloud standards. CCAT can also be used to remediate some of these non-compliances.
- In the deployment phase, standard deployment patterns are laid out by the migration factory approach and AWS-native tools where appropriate, such as AWS App2Container, AWS CloudFormation, and AWS DevOps tools.
Migration factory tooling allows you to reduce the dependency on the migration team to pass on the knowledge gained from one migration to the other. It also helps shorten the migration timelines to meet customer deadlines.
CCAT is an integral part of profiling factory and remediation factory approaches, making these executions unique for Atos.
Let’s explore a customer case study to see how the migration factory approach and tooling is applied in practice.
Customer Story: Banking and Financial Services
One of Atos’s customers, a financial services company based in Europe that provides loans to individuals for pursuing education, wanted Atos to look at their entire portfolio of applications and suggest a right approach for cloud enablement.
The customer wanted to migrate a large portfolio of applications comprising of diverse technology stack to AWS on an urgent basis. They were facing multiple challenges in continuing with the existing deployment, including:
- Aging hardware components that needed upgrades which would have resulted in CapEx burden.
- There was lot of technical debt in the application portfolio. Multiple software versions had reached end of life.
- Most IT expenditure was consumed by operational costs, which was primarily the cost of operating an on-premises data center that was not running efficiently.
In addition, the customer was having budget constraints due to which a rewrite of the applications was not possible. This made it necessary to make quick changes and migrate the applications to AWS.
There were two options considered for AWS migration of the customer’s application portfolio:
- Lift and shift approach: Make minimum changes to the application and quickly migrate to virtual machines on AWS. This approach would be the quickest but didn’t solve the technical debt or operations problem.
- Refactor and migrate to a container platform: Make quick upgrades with minimum required changes and then migrate to AWS. This approach would solve all three problems and was the chosen approach by the customer.
The decision was made to leverage containers and adopt Amazon ECS and AWS Fargate. This was because of the simplicity of ECS and the significantly reduced operational overhead enabled by Fargate.
Factory Setup Walkthrough
This decision set the stage for the factory setup and running it in an accelerated factory mode. As mentioned earlier, Atos needed to set up the factory for the customer first.
Identify Move Group
For the first phase of the migration, a move group consisting of 15 applications was chosen. This consisted of 10 web applications (10 UI apps and around 150 APIs) and five batch applications.
Define Target Reference Architecture
Atos sets up a reference architecture for ECS, keeping customer context in mind and making sure not to induce a lot of changes. At the same time, however, Atos needed to meet most of the non-functional requirements expected from these applications.
Figure 2 – Reference architecture for web application on Amazon ECS.
The above architecture has APIs, batch program, and frontend services deployed on ECS containers with Fargate launch type. MuleSoft is used as the API gateway, which exposes the application APIs to the outside world, secures the APIs, and also acts as the integration platform to for interactions with other applications.
The APIs on ECS connect back to the on-premises environment to talk to the database or interact with other applications. The connect from on-premises to AWS is done via AWS Direct Connect.
Tool Selection and Calibration
The next step was to set up the tooling and configure it for factory mode. Atos did a one-level deeper analysis and found the portfolio consisted of applications which had similar architecture. Also, a major part of the technology stack was common with some unique characteristics within each application. This resulted in similar patterns of code being used within the applications.
The CCAT tool from Atos was calibrated to recognize and remediate additional patterns required for the migration. Specific to this customer’s context, they had a proprietary framework for session management built on top of traditional Java session management.
Since this was proprietary, Atos did not have this pattern recognition built in and added a new rule in CCAT to identify the usage via a distributed session management solution which used cloud based distributed cache.
Some of the common patterns built in to CCAT that are leveraged here include:
- Identify and remediate usages of JMS messaging and remediate code to use Amazon Simple Notification Service (SNS).
- Remove configuration files, hard coding, and store environment variables and secrets using Parameter Store and AWS Secrets Manager.
- Identify and remediate occurrences of Java mail and remediate code to use Amazon Simple Email Service (SES).
- Identify usage of caching technologies and remediate code to use Amazon ElastiCache for Redis.
Once the tool and assessment were ready, the entire execution became repeatable and Atos had the profiling factory team, architecture and design factory team, and remediation and deployment team work in sync to complete the migration in a time that would not have been possible using a traditional approach.
Customer Benefits Achieved
Upfront investments in upgrading the tool before the execution of the cloud migration factory helped save a lot of time and money.
All applications (100+) got moved with no business impact within the planned budget estimates and time frame. This set a benchmark for other portfolios in customer organizations to migrate to a containerized platform.
The automation built into the tool can be leveraged for other migrations planned within the customer as well. Atos also leveraged Amazon ECS with AWS Fargate (serverless deployment) to reduce the operational burden on the team and meet customer timelines.
Container-based migrations are always thought to be time-consuming and costly. Customers are left with no choice other than to look at a “lift and shift” strategy. Modernization becomes a secondary option after lift and shift.
The Atos cloud factory migration approach coupled with AWS managed services can help customers adopt modernization along with migration rather than do it in a two-step process which starts with lift and shift and ends with modernization. This also results in accelerated leverage of cloud benefits and reduced migration costs.
Across customers, Atos has seen the following benefits in migration efforts:
- 90% reduced analysis effort
- 30% reduced remediation efforts
- Very little SME dependence
- First time right policy resulting in improved quality of migration
- Re-usability of automation across portfolios
- Overall 30% faster migration achieved
Atos – AWS Partner Spotlight
Atos is an AWS Advanced Consulting Partner and leader in digital services that believe bringing together people, business, and technology is the way forward.
*Already worked with Atos? Rate the Partner
*To review an AWS Partner, you must be a customer that has worked with them directly on a project.