Azure pre-migration assessment tools

Azure pre-migration assessment tools

When designing a migration to a new Azure infrastructure (either green field project or a migration from an existing infrastructure) it is of paramount importance to plan ahead and be proactive. Planning is always almost the 60-70% percent of the work and deployment/execution is the remaining 30-40%.

A solid high level and low level (detailed) design should encompass the physical and logical aspects of the architecture as well as assess whether a hybrid and/or multi-cloud approach should be taken. Also the design must meet the customer's requirements and follow Microsoft Azure best practices in the following areas:

  1. Functionality (Azure service features and end user/client accessibility of the infrastructure)
  2. Non-functional aspects, such as security, performance, scalability, high availability / redundancy, business continuity and disaster recovery as well as billing.

To properly size and design an Azure infrastructure with the above design aspects in mind, the following tools and procedures should be used throughout the design process, where applicable:

  • Existing infrastructure technical assessment questionnaire. This should be addressed to the customer's IT team at the beginning of a project to be filled-in with information covering all aspects of the existing IT infrastructure. This will better identify existing workloads and will cover operational and non-operational aspects and requirements in the existing infrastructure. The following areas should be documented at high level. Some of the below parameters may be optional, depending on the customer’s existing environment. 
    • List of provisioned resources on-premise, in Azure and in other public clouds, organized by resource type and workload type. Sizing  information for each resource must be provided (e.g. x number of container nodes with x compute capacity). The dependencies of each resource to other public cloud or on-premises resources must also be documented.
    • List of applications and application owners. You will need to validate how each application is going to be treated when migrating to the cloud, i.e. whether the application will be moved as is (lift and shift) or modernized to come closer to cloud native state.
    • General application, data, operating system and network security requirements
    • Identity and access management (IAM) requirements
    • Governance, privacy, and compliance requirements. The governance aspect covers all cloud policies and scripting logic which are applied in the existing solution and which may control the operations of each deployed resource (e.g. cloud resource power on/off triggers, minimum/maximum autoscaling limits, etc).
    • Minimum SLA and maximum service downtime requirements.

If you want to practice on a test case study provided by Microsoft, you can make use of the following github repository: https://github.com/Microsoft/TailwindTraders and https://github.com/Microsoft/RockPaperScissorsLizardSpock.

Some additional resources available as free downloads from this blog are the following: