Before you migrate your applications to the cloud, you should thoroughly assess why you are moving, the right cloud provider for you, the migration strategy, and the benefits you expect from moving to the cloud.
These are some of the questions that you can ask to assess your current workloads. These questions can be categorized into different areas, so it will be easy for you to identify the right team or person to ask these questions.
This category of questions will help us determine how important the application is for the organization and the clients in terms of revenue, business opportunities, and reputation. The ideal audience to ask these questions are executives, VPs, and product and project managers.
◆ Is this application critical to your business?
◆ What is the level of impact of this application failure leading to disruption? Options could be from very high, high, medium, or low.
◆ Could a failure of this application lead to loss of revenue or business opportunity? What level of impact? Options could be from very high, high, medium, or low.
◆ Could a failure of this application lead to harm to the company s public image? Define the level of impact.
◆ Could a failure of this application lead to a loss of customer confidence? Define the level of impact.
◆ Does the application serve internal or external users?
◆ Who is this application for?
◆ Are there SaaS options in the market that might meet your needs with or without customization?
◆ What is the primary objective to migrate to the cloud for this application?
Provide multichannel access, including mobile and IoT
Enable business agility with continuous innovation
More easily integrate with other web and cloud apps
Leveraging existing investments across tooling, infrastructure, deployed apps, and data
Meet scalability requirements of existing applications more cost-effectively
Free up data centre space quickly
Reduce capital expenditure on existing applications
Achieve rapid time to cloud
◆ What is the secondary objective to migrate to the cloud for this application?
◆ How often do you plan to update the app?
◆ Do you have a pressing timeline (DC shutdown, EoL licensing, DC contract expiration, M&A)?
◆ If you were to decide on a migration/modernization strategy, which one would you pick?
Rehost – Redeploy the application as-is to the cloud
Refactor – Minimally alter or repackage to take better advantage of the cloud
Rearchitect – Materially change/decompose application to services
Rebuild – New code written with a cloud-native approach
Replace – Move to a SaaS product
Retire – Stop using and investing in the application
Not Sure – There is not enough information yet
◆ What’re the least efficient aspects of this application?
◆ How many resources have been working on this application for the last year?
◆ How many significant releases were delivered in the previous year?
◆ Application Owner’s name
◆ s this application a custom application or a Commercial Off-the-shelf product?
◆ What is the application type? Examples: CRM, ERP, Data Analytics, etc.
◆ Is the application stateful or stateless?
◆ RTO/RPO requirements
How much maximum downtime can you afford?
How much data loss can you afford?
Are there any cost constraints?
◆ How old is this application?
◆ The technology stack of the application
Example: Java, Oracle, .Net, NodeJs etc.
◆ What’s the expected number of users per month?
◆ What are the average concurrent users?
◆ What are the peak times and peak times for concurrent users
◆ How is the geographical spread of your customers
◆ What’s the next architectural milestone on your road map for this app?
No change in the architecture
Stateless and use autoscaling
◆ Does this app require you to access the underlying VM (i.e., to install custom software)
◆ Does this application involve extensive business processes and messaging?
◆ High network or IOPS?
◆ Does this application involve custom integration with other web and cloud apps via APIs or connectors?
◆ What type of communication protocols are used in the application?
◆ What type of load balancer is used?
◆ Are you interested in moving your application’s database to the cloud as well?
◆ Do Bigdata and AI capability required for this application?
◆ Is this application highly connected with or dependent on on-premises applications/systems?
◆ What level of changes are you willing to take to move this application to the cloud?
Light – No changes at all – lift and shift.
Moderate – no core code change required but only Minor configuration changes (changing config files, connection strings, etc.)
Extensive – need to re-architect
High – willing to re-code and optimize for cloud leveraging cloud-native services (SQS, SNS, Aurora, DynamoDB, API Gateway)
◆ Is your app sensitive to latency?
◆ How is data consumed from this application?
◆ How is this application exposed to external services/applications?
◆ What is the current (or expected) Service Level Agreement for this application?
◆ What is the current deployment platform for this application?
◆ What is the application database provider?
◆ What is the current backup strategy?
◆ What are the application monitoring requirements?
◆ Where are the logs stored? What are the log retention and access policies?
◆ Is this application multi-tenant?
◆ What is the current user authentication mechanism used by this application?
◆ What is the level of deployment process automation for provisioning and configuration for this application?
◆ What is your process of implementation?
◆ What is the average skill in Cloud technologies and practices within the development team for this application?
◆ Does your application correspond to a specific workload?
IoT – Internet of Things
Microservices & Containers
Streaming and Media Services
◆ What percentage of the development effort has been spent on maintenance in the last 12 months?
◆ What is the code-base change percentage in the last 12 months?
Regulatory, compliance, and security requirements
◆ Are there specific compliance or country-specific data requirements that can impact your migration and architectural
◆ Does the application need secure authorization and authentication?
◆ Does the application require a firewall, app gateway, or advanced virtual network and related components?
◆ What is the CMMI level of the organization?
Read my article on migrating a simple three-tier web app to AWS.