The first step of discovery is to build an accurate inventory within an organization’s infrastructure.
This includes, but not limited to, the following:
Physical workloads (i.e., bare-metal nodes, firewalls, networks/VLANs)
Virtual workloads (i.e., virtual machines, containers)
Third-party tools and integrations
The inventory should include the application owner information, which can be used to conduct a more detailed interview.
An accurate inventory will help build a successful migration strategy. A combination of tools and/or interviews can be leveraged to create and validate the inventory.
Tools such as the vSphere Client, PowerCLI, VMware Aria Operations, VMware Aria Operations (SaaS), Application Transformer for VMware Tanzu, internal Change Management Databases (CMDB), and other third-party solutions can all be used to gather an inventory of both physical and virtual workloads.
Upon completing the higher level inventory collection, the next step is to collect detailed information about each application. Before an organization can determine the migration strategy for a particular application, a comprehensive understanding of its functionality is required. This involves the following information to be collected and validated through a combination of tools and interviews:
Business function and criticality
How important is this application to the business?
What is the business impact if this application is not functional for a certain period?
The business impact can be tangible (i.e., lost inventory, legal penalties, lost transaction revenue) or intangible (i.e., brand damage, decrease in stock value, loss of employees)
Is there an established SLA/SLO from the respective line of business within the organization?
Compute and storage capacity requirements and resource utilization
What are the minimum capacity requirements?
What is the expected capacity growth over the next x years?
What is the current resource utilization?
Are there certain days and times or months in a year where there are peak demands for resources?
Performance requirements (compute, storage, network)
What is the current performance baseline for compute, storage, and network?
Are there specific performance requirements that need to be met? (i.e., minimum IOPS, number of concurrent connections, provisioning time, etc.)
Ingress and egress traffic flows and network utilization
Which network ports are required for traffic?
What are the average and peak network utilizations?
Are there periodic spikes in network utilization due to scheduled events, such as backup?
Service dependencies (i.e., application dependency, third-party integration)
What is the current application architecture?
Does the application depend on other services and/or workloads for functionality?
How often does the application communicate over the network?
Business continuity and disaster recovery requirements
Is there any single point of failures (SPOFs) for the application that should be mitigated?
What are the recovery time objective (RTO) and recovery point objective (RPO) requirements?
Tools such as VMware VMware Aria Operations, VMware Aria Operations (SaaS) and VMware Aria Operations for Networks can be used to collect this information. VMware Aria Operations can analyze the current resource consumption of virtual machines and recommend sizing for virtual machines, which can be used in cloud migration planning. VMware Aria Operations for Networks can provide data on traffic usage and help identify or validate firewall requirements. Other third-party solutions can also be used to collect similar information.