moving clouds
Article Azure March 17, 2017

Azure Migration: A Primer for Successful Deployments with Microsoft Cloud

Whether your business is using the public cloud or not, you’re probably wary of the potential risks. Just last week, according to the Wall Street Journal, the Amazon S3 outage cost companies in the S&P 500 index $150 million. Following such events, many enterprises are considering the viability of a multi-cloud environment—AWS remains the clear leader, but Azure is also represented as a second draft pick.

Why? Gartner’s recent 2016 Cloud Infrastructure-as-a-Service (IaaS) Magic Quadrant places both Amazon Web Services and Microsoft’s Azure in the Leaders Quadrant for the second year in a row. If you are considering a multi-cloud strategy and seeking a second provider, adopting the Azure cloud alongside of AWS is something to consider. In this post, we detail the process and specific tools your IT team should incorporate when it comes to application discovery, migration, and management for their Azure cloud.

What Does the Move Involve?

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 datacenter 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, which 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.

Considerations for Migrating to Azure

In general, migrating applications to the cloud 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 key stages of migration, including:

  • Discovery
  • Planning
  • Proof of concept
  • Migration

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 Microsoft Assessment and Planning Toolkit (MAP). MAP was 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 what each of your applications require, determining the best migration method for your organization is the next important decision. An analysis by Gartner offers two methods of cloud migration for optimal application migration to IaaS:

  • Rehost: To redeploy applications on an IaaS without making changes
  • Revise: To modify or extend existing code to fit the new cloud environment

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.

Planning

Planning for migration includes designing the architecture blueprint of your cloud deployment. The blueprint should incorporate all the building blocks, network topology, and services segmentation. Microsoft offers Azure architecture courses and tools that can help you create cool 3D blueprints. (Check out this Visio template.)

Additionally, this stage includes building the migration team, defining resources needed to execute a successful migration, and adopting the right tools for the job. The plan should outline the tools that will be used to automate the move as well as provide you with the transparency over the initiated cloud inventory. This includes management aspects such as performance, security, resource usage, and costs. The Microsoft Azure Marketplace provides suggestions for ready-made images or third-party service components to make the migration process even easier.

PoC

Testing an actual workload in a Proof of Concept allows you to determine the capacity required for resource allocation in Azure. It will also allow for performance comparison between running the application on-premises and in the cloud. Special consideration should be given to network performance and latency, which can be crucial for some applications.

Security issues and compliance requirements should be closely examined, making sure you know which building blocks you will use to fulfill your organization’s requirements. A successful PoC should involve all stakeholders, and often serves as a way to get team members excited about the migration process and its long-term benefits.

The PoC stage should culminate in a document that includes the compute resource types and capacity, the right mix of storage, and the required virtual network policies, taking into consideration the current demand of your on-premises services and potential growth. In addition, you should evaluate the initial cost of your deployment to align with estimated planned capacity.

Migration

As mentioned, sometimes it will be worth looking into the option to rehost the migrated application, especially when dealing with legacy enterprise workloads. This option allows you to keep workload adjustments at a minimum. Microsoft Virtual Machine Converter and ASR can be used for “lift and shift”. ASR is primarily a tool for disaster recovery operations, but can be used quite effectively to help organizations with migration to or from Azure.

In terms of re-architecting your application to fit the more advanced PaaS (Platform as a Service) capabilities of Azure applications and services, migration requires specific preparation and consideration. A few tools that can make this transition a bit easier include:

  • Azure App Service Migration Assistant: This tool can be used for migrating web applications from either Windows or Linux computers. Several methods for SQL database migration exist, depending on database size and required downtime periods.
  • Data Migration Assistant (DMA): This will detect compatibility issues and allow you to move data to an Azure SQL Database.
  • PowerShell: This tool is especially helpful in that it allows you to automate nearly everything in the process.

For a hybrid cloud solution, Microsoft is about to release Azure Stack, which will allow you to deliver Azure services from your own datacenter. This will greatly simplify the process of Azure migration; however, users will be bound to specific Microsoft equipment.

Azure Migration Toolbox

Depending on the type of applications and the cloud model (i.e. IaaS, Paas) to be used in the migration project, a number of tools are available. Below are just a few:

Migration Is Only the Beginning

Management post-migration is an ongoing process that allows teams to maintain control and support the required uptime, performance, security, and budget. One of the main advantages of the cloud is its elasticity and flexibility, allowing enterprises to lower costs and grow their business.

But there is a catch: if you don’t control usage and have complete visibility over your cloud infrastructure, you will end up with cloud sprawl. With the right tools to manage cloud assets and usage, monitoring security and compliance while optimizing cost, organizations can ensure successful cloud initiatives well beyond deployment. CloudCheckr offers comprehensive cloud management, offering visibility and control for public cloud users.

Sign up for a free 14-day CloudCheckr trial to understand how our powerful cloud management platform can help manage your Azure cloud.

Related Resources