Below are some of steps which can be taken care while performing any application or database migration in cloud.
Identify Application and Database - Architecture and Flow
Check all the on-prem application functionalities
Majorly focuses on how the application services seamlessly working
Write down the requirement specification to enable decision making to application architect/cloud architect
-
Identify Application and Database – Coding Complexity
Application is designed in old legacy language i.e. cobol, fortran, c, c++, etc.
Check the code coverage and code availability and code expertise people availability
Consider the complexity of the application code
Consider how data communication happens in current application
Consider how much security features covered in current application
-
Discussion – Tech Team / Cloud Vendor
Discussion with Tech Team on Application Design and Operations
Draw the flow charts and application diagrams accordingly
Define time line to make a pilot development and deployment
Prepare check list for application and database
Identify cloud vendor i.e. AWS, Azure, GCP, OCI, etc. to approach first
kick off meeting with cloud vendors and choose which one to go
-
Discussion – Tech Team/Business Team
Meeting with Application/Tech Team Management on finalization of further approach for cloud migration
-
Finalize – Tech Stack and Operating Model in Cloud
Check and compare the cloud vendors Tech Solutions along with Application and Business Teams, in data, infra, reporting, etc. aspects.
Consider Tech Solutions based upon your application scalability, complexity, and budget to migrate and operate
Consider current Tech Solutions which also provides SAAS Services in cloud and identify their operating/charging model
-
Finalize – Tech Stack and Operating Model in Cloud
Meeting with cloud vendors i.e. AWS, Azure, GCP, OCI, etc.
Discuss current application checklist, application flow requirement, budgeting and all other details
Ask cloud vendors for their tech solutions - use cases and service model
Verified all aspects whether its fulfilled by cloud vendors Tech Solutions or not
Identify charging models of cloud vendors, long term or pay per use or any other, carefully understand charging pattern
Ideally choose – pay per usage resource charging model
-
Empower – Tech Team / Migration Team
Identify or gather Tech Talent based on Cloud Vendor Tech Solutions and make a migration team responsible for migration in cloud
Provide training to inhouse teams on Tech Solutions
Partner with Cloud Vendor on training services offered by them to upskill our teams
Migration team should have more than 2 Architects (Cloud / On-Prem)
Provision a Migration Team Lead to supervise – guide team on migration activities
-
Standards – Migration/Cloud
Validate earlier prepared check list for application and database with cloud
Choose Agile/Scrum/Kanban Model to track migration process
According to me, big bang approach is not suitable for migration
Divide application based on most used to least used functionalities, if possible
Leverage any IaC Tool i.e Terraform, OpenTofu, Pulumi, etc.
Consider hybrid approach to create Network connectivity, DNS, Load balancing, etc.
Security/Identity and Access (IAM) configs and group/pool level access in cloud
-
Execution – Pilot / POC
Perform Pilot / POC with cloud vendor by Migration Team using IaC Tool
Test at least 2-3 application flows
-
Standards – Define Strategies
Migration Team responsible for defining Enterprise-wide standards for application/database migration, along with environments to create in cloud
Define strategies for load balancing along with Automated Stress Testing along with HA of application/database in cloud
-
Migrate – Business/Application/Tech/Migration Team
Obtain Management Approvals, upon successfully execution of Pilot/POC of the application
Migrate other workloads in cloud
Create and Validate DEV first, then QA, TEST and PROD will be last with no manual changes allowed in cloud resources
-
Perform – BACKUP/DR
Consider BACKUP and DR as well for Application and Database workloads
Define Storage retention policies in cloud
Test BACKUP and DR at least once in cloud after every 4-5 Months/ 2-3 times in a year
-
Optimize – application/database
Implement performance optimization techiques, caching, memory storage, etc. at database/application level
Increase network bandwidth, machine size, disks, if required
Add more metrices to monitor performance