The adoption of solutions and services in the public cloud is rapidly and steadily increasing and this increase is mainly due to the fact that many organizations have realized that moving existing workloads to Azure can bring significant benefits. These include the ability to rapidly deploy applications allowing you to benefit from an infrastructure present on a global scale, the reduction of maintenance requirements and costs and performance optimization. In this article we will examine the main aspects to consider in order to adopt a strategic approach regarding the migration of your IT infrastructure to Azure and how, thanks to this approach, you can take advantage of all the benefits of Microsoft's public cloud.
Main triggers for migration
Among the main aspects that lead customers to face a migration of their workloads to cloud solutions we find:
- the deadlines of the data center contracts in use;
- the need to quickly integrate new acquisitions;
- the urgent need for skills and resources;
- the need to keep the software and hardware in use updated;
- the willingness to respond effectively to potential security threats;
- compliance needs (e.g.. GDPR);
- the need to innovate their applications and make them available faster;
- the end of the software support purpose for certain products and the need to obtain extended security updates free of charge, also for Windows Server 2008/R2, both for Windows Server 2012 / R2, in addition to the corresponding versions of SQL Server.
Finding yourself in at least one of these triggers that could initiate a migration process is very common. To undertake this migration in the best possible way, it is necessary to take into consideration what is reported in the following paragraphs.
The path of adopting cloud solutions
In the path of adoption of cloud solutions defined in the Microsoft Cloud Adoption Framework for Azure six main actions emerge that should be considered:
- Strategy definition: definition of the business justification and the expected results.
- Plan: aligning the cloud adoption plan to business results, through:
- Inventory of digital assets: cataloging of workloads, applications, data sources, virtual machines and other IT resources and assessments to determine the best way to host them in the cloud.
- Create a cloud adoption plan by prioritizing workloads based on their business impact and technical complexity.
- Definition of skills and support needs, to ensure that the company is prepared for change and new technologies.
- Ready: preparation of the cloud environment.
- Adopt: implementation of desired changes in IT and business processes. Adoption can take place through:
- Migration: focuses on moving existing on-premises applications to the cloud based on an incremental process.
- Innovation: focuses on the modernization of digital assets to drive business and product innovation. Modern approaches to implementation, operations and infrastructure governance make it possible to quickly bridge the gap between development and operations.
- Govern: evaluation and implementation of best practices in governance.
- Manage: implementation of operational guidelines and best practices.
Azure Landing Zone
Regardless of the migration strategy that you decide to adopt, it is advisable to prepare the Landing Zone, which represents, in the cloud adoption journey, the destination in the Azure environment. It is a horizontally scalable architecture designed to allow the customer to manage functional cloud environments, while maintaining best practices for security and governance. The architecture of the Landing Zone must be defined on the basis of business requirements and the necessary technical requirements.
There are several options to implement the Landing Zone, thanks to which it will be possible to meet the deployment and operational needs of the cloud portfolio.
A structured and methodological approach and migration strategies
There are several paths for adopting solutions in Azure. To best address each of these paths, it is recommended to develop a complete business case and project plan in advance, containing information on benefits and costs (TCO) of moving workloads to the Microsoft Azure cloud, as well as recommendations on how to optimize the use model of Microsoft Azure services.
Based on the company's cloud strategy and general business objectives, it is advisable to examine the distribution and use of the workloads in use and evaluate their "cloud-ready" status to determine the best options and the most appropriate methods (lift&shift, refactor, rearchitect and rebuild) with a view to consolidation and migration to Microsoft Azure cloud services.
* These migration strategies are reported by Gartner research. Gartner also defines a fifth strategy called " Replace".
The following paragraphs describe the main migration strategies that can be useful.
Rehost application (i.e., lift & shift)
It involves redistributing an existing application on a cloud platform without modifying its code. The application is migrated “as well as”, which provides basic cloud benefits without facing high risk and without incurring the costs of making changes to the application code.
This migration technique is usually used when:
- You need to quickly move applications from on-premise to the cloud
- When application is necessary, but the evolution of its capabilities is not a corporate priority
- For applications that have already been designed to take advantage of Azure IaaS scalability
- In the presence of specific application or database requirements, that can only be satisfied using IaaS virtual machines in an Azure environment.
Example
Moving a line of business application on board virtual machines residing in the Azure environment.
Refactor application (i.e., repackaging)
This migration strategy involves minimal changes to the application code or configuration changes, necessary to optimize the application for Azure PaaS and make the most of the cloud.
This migration technique is usually used when:
- You want to leverage an existing code base
- Code portability is an important element
- The application can be easily packaged to run in an Azure environment
- The application must be more scalable and rapidly deployable
- We want to promote business agility through continuous innovation (Devops)
Example
An existing application is refactored by adopting services such as App Service or Container Services. Furthermore, SQL Server is refactored to Azure SQL Database.
Rearchitect application
The re-design technique consists of modifying or extending the architecture and code base of the existing application, optimizing it for the cloud platform and thus ensuring better scalability.
This migration technique is usually used when:
- The application needs major revisions to incorporate new features or to work more effectively on a cloud platform
- They want to leverage the investments made in existing applications
- There is a need to minimize the management of VMs in the cloud
- You intend to meet your scalability requirements in a cost-effective way
- We want to promote business agility through continuous innovation (Devops)
Example
Breakdown of a monolithic application into microservices in an Azure environment that interact with each other and are easily scalable.
Rebuild application
The rebuild of the application from scratch involves the use of cloud-native technologies on Azure PaaS.
This migration technique is usually used when:
- Rapid development is needed and the existing application is too limiting in terms of functionality and duration
- We want to take advantage of the new innovations present in the cloud as serverless, Artificial intelligence (AI) e IoT
- You have the skills to build new cloud-native applications
- We want to promote business agility through continuous innovation (Devops)
Example
Creation of green field applications with innovative cloud native technologies, such as Azure Functions, Logic Apps, Cognitive Service, Azure Cosmos DB and more.
Azure Cloud Governance
In the successful adoption of services in the public cloud, as well as requiring a structured and methodological approach, it becomes essential to adopt a precise strategy to migrate not only applications, but also governance and management practices, adapting them appropriately.
For this reason it becomes essential to put in place a process of Cloud Technical Governance through which it is possible to guarantee the Customer an effective and efficient use of IT resources in the Microsoft Azure environment, in order to achieve their goals. To do this, it is necessary to apply controls and measurements to help the client mitigate risks and create boundaries. Governance policies, within the customer's environment, they will also act as an early warning system to detect potential problems.
Conclusions
The digital transformation process that affects companies often involves the migration of workloads hosted in their data centers to the cloud to obtain better results in terms of governance, security and cost efficiency. The innovation given by the migration to the cloud frequently becomes a business priority, for this reason it is advisable to adopt your own structured approach, to address various migration scenarios, which allows to reduce complexity and costs.