Migration to the cloud has many benefits and not least is the resulting efficiency across your full IT portfolio. Achieving a successful migration is all about the planning and the processes you choose to use.
Microsoft has just published an e-book titled “Enterprise Cloud Strategy” by Eduardo Kassner and Barry Briggs, which advises on how the tools in Microsoft Azure can help you make the move with confidence.
There are many reasons behind a migration. Do you just want to collocate some virtual machines (VMs) off-premise or are you re-writing and bursting applications out to the cloud or adopting entirely new capabilities around Big Data, the Internet of Things (IoT) or machine learning?
Whatever your requirements, Microsoft recommends a 5-step process to migration success.
1. Analysis
This is the process of identifying what you currently have and what will be involved in moving a workload to the cloud. The result might be making changes to the architecture of the workload or a total rewrite of the programme.
2. Application migration
There are a couple of options here for best practice. You can create a pared down version of the workload with a small amount of data to get it working in the cloud or you can build a new version of the application. If it’s already running on a VM then you might be able to migrate it straight to the cloud without any adaptation. Kassner and Briggs say that although many on-premises applications can run on Microsoft Azure with little or no changes this doesn’t mean that they’ll be optimised for performance, scalability and security, so re-design and re-build might be necessary.
3. Data migration
This is similar to the above point. The data structure can be moved as it is to either a relational (Azure SQL Database, SQL Server in Azure VM) or non-relational (blob, table, queue, Azure DocumentDB, etc) cloud location. Simple migrations of this kind can be done with the help of a wizard like the SQL Server Azure Migration Wizard. However, in order to gain those performance, scalability, resiliency, and security improvements you might want to re-build the data model as a new Azure SQL Database. If you need to synchronize data between on-premises and SQL Database or between different SQL Database servers, set up and configure the SQL Data Sync service. As with all best practice migrations you should also consider establishing a data recovery plan in case of unforeseen incidents.
4. Optimization and testing
Once on Azure test your application to confirm it’s working as expected. Then, compare the performance results between on-premises and Azure. This will give you the chance to resolve any problems that have arisen around functionality and performance.
5. Operation and management
After the testing and optimization is completed, roll out application monitoring and tracing with the Azure’s Application Insights, which enables you to collect and analyse telemetry from the application. This data can then be used for debugging and troubleshooting, measuring performance, monitoring resource usage, traffic analysis and capacity planning, and auditing.