AppMod Toolkit Deployment Guide
AppMod Toolkit Deployment Guide
Deployment Guide
1
AppMod Toolkit
Deployment Guide
5.3 Health Checks...............................................................................................................16
6. Scaling......................................................................................................................................17
7. Support.....................................................................................................................................17
7.1 Scope...............................................................................................................................17
7.2 Support duration..........................................................................................................17
7.3 Support Plan..................................................................................................................17
7.4 Contact............................................................................................................................17
7.5 Issue Management......................................................................................................17
8. Backup & Recovery..............................................................................................................18
8.1 Backup & Recovery.....................................................................................................18
9 Routine Maintenance...........................................................................................................18
9.1 Key & Credentials Change........................................................................................18
9.2 Software Patches and Updates...............................................................................19
9.3 License.............................................................................................................................19
9.4 Service Limits................................................................................................................19
9.5 Emergency Maintenance...........................................................................................19
2
AppMod Toolkit
Deployment Guide
1.2. Overview
AppMod Toolkit is designed to solve the problem of modernizing legacy
applications. It offers a revolutionary solution that leverages cutting-edge
technologies such as GenAI, LLM, and embeddings to seamlessly assess and
transform legacy monoliths into modern, cloud-native stacks. The toolkit aims to
make the process of modernizing legacy applications more efficient, cost-
effective, and secure, while reducing the dependency on functional and technical
SMEs.
Step 1: "Prizm" - Application Study & Assessment
Step 2: "CodeTX" - Application Modernization
1.3. Benefits
1. Reduced effort during assessment and during code translations/upgradation
2. Target architecture in compliance with the hyperscaler’s “Well Architected
Framework”
3. Secured & complaint application after migration.
4. Accelerated application modernization through scaled deliver.
1.5. Features
Application Modernization Toolkit has below prominent features:
User friendly interface
Catalogue of typical patterns that can be reused across application
with minor adaptations.
Tool can be tailored as per customer need.
Single tool for assessment & migration of both Code and Database
schema
Certified and Accredited Architect as core member of the tool product
team
One Click deployment to enable accelerated deployment of tool in
customer environment.
[Link]
2.1 Solution Architecture
4
AppMod Toolkit
Deployment Guide
1. User can access the front-end application and authenticate.
a. The UI is deployed in Amazon S3 and is accessed via AWS CloudFront.
b. User is authenticated by AWS Cognito Users.
c. Role based access is managed specified endpoints as per the application usage.
d. The backend API endpoints will be behind AWS ALB.
5
AppMod Toolkit
Deployment Guide
AWS Lambda Serverless trigger to process file from ALB, AWS S3 bucket
and SQS
AWS IAM IAM User, Roles, and Policies for various AWS service access.
CloudFront The Frontend code, developed in Angular, is deployed in S3
backed and is accessed from CloudFront.
AWS Cognito The application access is managed with AWS Cognito users
and groups.
Amazon Monitoring the Application and infrastructure health and
CloudWatch events
AWS For Tracking User Activity and API access
CloudTrail
AWS IAM IAM User, Roles, and Policies for various AWS service access.
AWS Cognito The application access is managed with AWS Cognito users
and groups.
Amazon Monitoring the Application and infrastructure health and
CloudWatch events
AWS For Tracking User Activity and API access
CloudTrail
Amazon Q Code Tranhformation
Software Version
Angular 16.2.0
Python 3.11
Java 17
fastapi 0.95.2
pydantic 1.10.5
6
AppMod Toolkit
Deployment Guide
uvicorn 0.26.0
psycopg2-binary 2.9.9
boto3 1.34.84
langchain 0.0.338
python-jose 3.3.0
diff2html 3.4.47
dom-to-image 2.6.0
file-saver 2.0.5
Highcharts 11.1.0
highcharts-angular 3.1.2
html2canvas 1.4.1
[Link] 0.10.1
Jspdf 2.5.1
jspdf-autotable 3.7.1
jwt-decode 4.0.0
OpenRewrite 8.24
AWS SDK 2.x
2.4 Deployment
The AppMod Toolkit solution utilizes Bedrock Lambda, SQS and S3 as the core
native services.
SAM Templates are used to automate the deployment of the AppMod Toolkit
solution.
Below table summarizes the resources created for the Application Modernization
Toolkit
Network configuration.
o VPC is configured with [Link] /16 CIDR range.
o 2 Private subnets for Lambda functions and RDS with CIDR
[Link]/24 and [Link]/24
o 2 Public subnets for ALB with CIDR [Link]/24, [Link]/24.
o Standard Route Table configuration – Private subnets have only
connectivity within the VPC, and public subnets have connectivity via
internet gateway.
Security Groups
o DBSecurityGroup allowing PostgreSQL inbound traffic on port 5432
from ALB ALBSecurityGroup.
o ALB allowing access on port 443 from Internet.
8
AppMod Toolkit
Deployment Guide
Customer needs to have an AWS Account and a user configured with
Administrator privileges. We recommend that root user should not be used for
solution deployment as prescribed by AWS best practices and is secured by
MFA.
For build ad deployment of the toolkit, internet access is required to
download the dependent components.
The registration of DNS is required before start of the Toolkit deployment.
This is used in ALB configuration of the Toolkit.
For deployment of Toolkit, the AWS CloudShell must be updated with Python
3.11, and poetry.
Customer must procure Amazon Q for Developer license and be configured
with SSO integration in place.
Customer must manage the necessary steps to ship the Code and
Infrastructure zip file to Customer environment (VDI, etc.) and AWS
CloudShell.
[Link] Integration
The AppMod Toolkit application has used best practice approach to secure
and protect client’s data. The security standards recommended by AWS were
also taken into consideration for AppMod Toolkit deployment on AWS
platform.
9
AppMod Toolkit
Deployment Guide
Customers need to create/provide IAM user with permission to execute the
SAM template and create roles/policies. We recommend customer not to use
root user for any AWS deployment activities, however root user will be used
for monitoring budgets and bills on AWS console.
The core logic is deployed as AWS Lambda which implements Fast API, giving
api like behaviour by the Lambda. The Lambda functions will be exposed via
ALB.
S3 buckets are encrypted with SSE-S3 keys.
The RDS connection will be managed with IAM Authentication.
Access to the application is managed with Amazon Cognito. The Users are
assigned to group to manage access to application functionality.
The users from Admin group can upload the code for processing and can also
go through other functionalities e.g. QnA. The user who are not member of
Admin group will be restricted to access Admin functions like upload the code
or Code conversion.
10
AppMod Toolkit
Deployment Guide
App mod Toolkit deployed in the same security group thus restricting invocation
from any services outside infrastructure. Public access to RDS is restricted.
3.4Secrets Management
There is no confidential information required for AWS services. The master
credentials for RDS will be stored in Secrets Manager and will be managed by
RDS Service. Every service-to-service communication is IAM based. Only human
intervention with RDS is done with username/password.
[Link] (Billable)
4.1 Service Costing
The table below lists the minimum billable and non-billable AWS
services to deploy AppMod Toolkit on AWS.
11
AppMod Toolkit
Deployment Guide
Amazon Bedrock Billable Yes
[Link] / Deployment
5.1 Deployment Steps
The [Link] file provides the detailed steps for the deployment.
Provision an AWS CloudShell environment.
To provision an AWS Cloudshell environment, click on the CloudShell
environment icon on the top right.
12
AppMod Toolkit
Deployment Guide
This will provision a new cli
App Mod Toolkit will be deployed using SAM templates and source code.
These deployment artifacts will be shared bundled in a zip file “app-mod-
[Link]”. Unzip the file in CloudShell.
o In AWS CloudShell:
Open your terminal.
Upload the [Link] to CloudShell.
Create a new directory app-mod-toolkit in
Unzip the file into the folder.
Run command:
unzip [Link] -d app-mod-toolkit
This will extract the contents into your current folder as can be
seen
Go to app-mod-toolkit folder
13
AppMod Toolkit
Deployment Guide
Run sam cli command : sam build
After successful build run the next sam cli command , sam deploy –guided
14
AppMod Toolkit
Deployment Guide
15
AppMod Toolkit
Deployment Guide
7. lmbd-app-mod-prod-monolythanalyser-codeassesmentapi
8. lmbd-app-mod-prod-monolithdecomposer-report
9. lmbd-app-mod-prod-assessment-api
[Link]-app-mod-prod-assessment-extractzipfile
[Link]-app-mod-prod-assesment-extract-embedding
[Link]-app-mod-prod-plsql-analyser-api
[Link]-app-mod-prod-plsqlanalyser-extractzip
[Link]-app-mod-prod-plsqlanalyser-fileinfo
[Link]-app-mod-prod-languageconversion
[Link]-app-mod-prod-db-assessment-api
[Link]-app-mod-prod-monolythanalyser-codeassesmentapi
[Link]-app-mod-prod-monolythanalyser-extarctembedding
[Link]-app-mod-prod-monolythanalyser-codereview
For deploying the Toolkit the SAM template along with source code will be
executed on customer AWS Account.
5.2 Troubleshooting
5.2.1 Deployment Troubleshooting.
The AWS infrastructure provisioning is managed by SAM template. However,
any AWS infrastructure related error can be seen in AWS CLI Console. The
possible errors are listed below.
There could be an error creating AWS S3 buckets because of Account
Limits. The S3 Bucket limit can be increased by raising AWS Support
ticket.
The SAM templates are designed to provision the necessary resources
including Roles. However, for any permissions issue, account level
restrictions can be checked with AWS Account owner.
For any CloudFormation deployment error go to specific CloudFormation it
failed on and check its event logs. Make sure valid parameters is being
passed. After that's done, delete the specific stack where it failed on, and
rerun the deployment script.
During deployment, SAM template uploads the Lambda code into S3
buckets. Before deleting those S3 buckets, the contents needs to be
cleared.
16
AppMod Toolkit
Deployment Guide
5.3 Health Checks
The AppMod Toolkit health can be monitored utilising the custom CloudWatch
dashboard. Following are the list all the components required in Toolkit for which
dashboards are available.
1. Lambda
2. Bedrock
Example screenshot is provided below.
The main dashboard will show the holistic view of all the AWS services used for
the application.
[Link]
AWS Lambda functions are scalable to handle the Toolkit load.
[Link]
7.1 Scope
Run Support for the solution will be provided to customers based on SoW and the
cost would be calculated for the same based on the duration.
Bug fix support
Modification and feature request
Support staff will be available as per the SLA defined by customer
17
AppMod Toolkit
Deployment Guide
7.2 Support duration.
Support duration for the platform will be based on the SOW signed between
Eviden and the customer for whom the AppMod Toolkit solution will be deployed.
7.4 Contact
Contact details will be provided when SoW is signed for the platform.
1. Sign into the AWS Management Console and open the Amazon RDS
console at [Link]
2. In the navigation pane, choose Snapshots.
18
AppMod Toolkit
Deployment Guide
9 Routine Maintenance
9.1 Key & Credentials Change
AppMod Toolkit uses AWS managed services, and the keys are AWS managed.
There are no Eviden Managed keys. The database master password will be
rotated automatically by RDS service. To connect to the database, this password
can be retrieved from Secrets Manager.
The master database password is used only for interacting with database from
server management tools. The application uses IAM based database calls.
The documentation will detail the reference of impacted AWS resources along
with related code artifacts. The SAM templates, build code, database scripts will
be shared along with deployment steps.
Lambda automatically applies patches and security updates to all managed
runtimes and their corresponding container base images.
AWS EC2 instances will be patched using AWS Systems Manager Patch Manager.
The patch policy feature will be used to automate for scanning and installing
patches to EC2 instances
9.3 License
AppMod Toolkit will be provided as an Accelerator to the customer. It does not
involve any subscription or Licences fees. Eviden will be providing AppMod
Toolkit solutions Architect, Platform expert and Developers to get the solution up
and running on customer environment as part of the SOW/contract.
19
AppMod Toolkit
Deployment Guide
They can use the AWS Trusted Advisor service to monitor the usage against
limits.
20