Considering a move to Microsoft Azure? No matter the number of workloads you choose to bring to Microsoft’s cloud solution, a cloud migration is a complex undertaking. However, planning ahead and aligning teams around key stages can make the process much smoother.
Having good tools and best practices in place can certainly help you avoid or overcome some of the roadblocks to success during the four key stages of migration. These steps include:
- Proof of concept
In this post, we detail the process and specific tools your IT team should incorporate for application discovery, migration, and management of an Azure environment.
Before You Start Your Azure Migration
There are several things that need to be taken into consideration with migrating a workload to Azure. First, you must understand your application stack’s interoperability across your on-premises data center and the public cloud. This includes discovering and examining the application architecture and possible integrations with, and dependencies on, other on-premises workloads and services. A common example of a connected dependency would be an authentication mechanism.
Network configurations also need to be examined in order to specify the topology on the cloud. Having a clear picture of your on-premises network topology helps specify the data flow diagrams. This is an important element in enabling organizations to pinpoint sensitive data and its movement through different security zones. As we often say, you can’t manage what you don’t know you have.
Once we understand the application architecture layout, we can then decide which Azure services to use; for example, Azure Site Recovery (ASR) for migrating VMware workloads, and Azure SQL Database for running the application.
Step 1: Discovery
The discovery process includes not only identifying the applications that should be moved to Azure, but also determining the frequency of usage and the users of those applications. Microsoft has several tools that can be beneficial during this phase.
One such tool that IT organizations should consider implementing is Azure Migrate. This tool is designed to provide automated discovery and inventory reporting of web applications, application portfolios, and database readiness for Azure. It also provides estimated capacity needs for your applications, as well as an application dependency report, the analysis of which is an important step towards streamlining your migration process. It is important to understand and document the defined SLA and compliance requirements for all applications considered for migration, to avoid potential cloud cost pitfalls later on.
Once you understand the requirements of each application, the next important decision is to determine the best migration method for your organization.
When weighing the options for your Azure migration, consider the 5 R’s of cloud migration as outlined by Gartner:
- Replace: Use an off-the-shelf SaaS offering if one exists to do the job for you
- Rehost: Redeploy applications on an IaaS without making changes
- Refactor: Make changes to code or switch to a solution that supports cross-platform use
- Revise: Modify or extend existing code to fit the new cloud environment
- Rebuild: Architect new workloads using cloud-specific technologies and concepts (e.g., Edge computing, NoSQL databases, microservices, serverless, IAM, etc.)
Out of all of these, the latter method may involve more commitment from your team, but in the end you will see the greatest efficiencies with this process.
In addition, when evaluating which method will suit an application, it’s important to consider the long-term benefits of the cloud, too. Rehosting an application can work for the short term, but in order to enjoy the scalability offered by the cloud, you might examine how the application code can be revised for leveraging auto-scaling, for example. Take into consideration that while some parts of an application can be migrated as-is, others might require adjustment.