Azure Migration and Modernization Blog articles

Azure Migration and Modernization Blog articles

https://techcommunity.microsoft.com/t5/azure-migration-and/bg-p/AzureMigrationBlog

Azure Migration and Modernization Blog articles

Moving to the cloud: Your guide on when to migrate and when to modernize

Published

Moving to the cloud: Your guide on when to migrate and when to modernize

One key question that many IT leaders ask as their organizations prepare for their move to the cloud is whether they should migrate or modernize workloads. In this article we would like to dive deep into the concepts of “Migrate” and “Modernize”, explain what they mean to us, what they mean to customers, and what the tradeoffs between them are.

 

Read to the end for links to useful resources that can help support you in your choice of whether you should modernize or migrate parts of your application portfolio.

 

Defining the concepts

 

Cloud migration is the process of moving applications, infrastructure, and data from one location, often a company’s private, on-site ("on-premises") datacenter to a public cloud provider’s infrastructure.  Migrating an on-premises physical or virtual server to cloud infrastructure-as-a-service (IaaS) is an example.  Cloud migration benefits range from reducing IT costs, enhancing security & resilience to achieving on-demand scale.

 

We talk about “migrating” a workload when we take its components that run in a data center or a third cloud today and move them to Azure. In many cases the target resources for a migration deployment are virtual machines (Infrastructure as a service). Tools like Azure Migrate can help facilitate the migration of workloads to Azure.

 

Whether you are using platform or infrastructure services, the workload’s code and architectural components will largely remain the same in a migration. A SQL database – for example – will still contain the same rows and tables at the end of the process, it’ll just be hosted elsewhere.

 

Cloud Modernization is the process of updating existing (sometimes legacy) applications for newer computing approaches, including newer application frameworks and use of cloud-native technologies. This can be done using PaaS, containers, low code apps, and Database-as-a-Service architectures. Key benefits include app innovation, agility, developer velocity, and cost optimization

 

Modernization usually involves a significant change in both the deployment resources (for example: IaaS to PaaS) and the application architecture, like the structure of databases, code, etc.

 

Depending on the level of ownership that you have over your application code and infrastructure, your team’s overall skill level with cloud technologies, and the business criticality of the workload that is being modernized you may choose this approach to innovate faster with a fully managed platform – such as Azure - and to take full advantage of the benefits of running in a secure public cloud.

 

Key Trade-offs

 

For new applications in cloud, customers tend to build them cloud-natively using Serverless or PaaS technologies. For existing applications, there are some key technical, financial, and business considerations when making the choice between migrating or modernizing a workload.

Customers can modernize their workloads using containers or serverless technologies to maximize cloud benefits, or lift-and-shift them to take advantage of the associated operational savings and cloud scale.

 

If you are an enterprise with challenges in areas like shifting capital expenditure to operational expenditure, datacenter contracts and extensions, budget, and resource constraints, then migrating to Azure should be considered.

If you want faster time to market, application innovation, optimizing operational costs, modernizing on Azure should be considered.

 

All key trade-offs are listed in much more detail in the relevant sections of our Cloud Adoption Framework, but here are our top 3 factors for you to consider in this context:

 

Cost of operation versus Cost of implementation
In most cases a cloud native solution will provide a lower running cost in the long term when compared to solutions that are simply lifted and shifted. An important thing to consider – however – is that more development time will be required to modernize the application and get it ready for a cloud native deployment. On-premises datacenter contracts and extensions are a key decision factor in deciding timelines for migration and modernization.  Operational costs and Total Cost of Ownership (TCO) calculations also must be considered before deciding if you want to migrate or modernize.

 

Innovation Skills versus Existing Skills

To modernize is to learn. Asking your teams to develop cloud native solutions has a certain learning curve to it for all team members. This is great for growth but has a cost associated with it. In some cases, with budget, resources, and time constraints, it may be more suitable for the teams to use their existing skillset with a migrated solution.

 

DevOps versus Traditional Operations

For workloads that you build and operate, the cloud offers a great opportunity to transition to a modern DevOps model. This transition can be more complicated – yet by no means impossible – if you do not control the code that you are deploying. More broadly – however – you should think about the state of your workload operations and how close they are to a modern cloud-ready DevOps model when making the tradeoff between modernization and migration. Once these modern frameworks are implemented, you can achieve faster time to market and application innovation.

 

One is not necessarily better than the other

Depending on your circumstances and your portfolio of workloads, one approach may fit better than the other. You may also want to take a mixed approach for certain workloads. The key factor is that you are setting yourself, your teams, and your organization up for success. While deciding between migrate or modernize, it is also a good time to invest in retiring or replacing legacy applications. Often, there is scope for modernizing such applications with PaaS or SaaS (software as a service) cloud offerings.

 

To help you better understand when to apply which approach, we have included a table with key considerations as well as two customer examples below.

 

Consideration

Reasons to choose migration

Reasons to choose modernization

Business Strategy

·       move to a new platform fast

·       reduce data center costs

·       avoid renewal fees

·       invest in long term savings when it comes to infrastructure cost

·       faster time-to-market in
the longer term

Skilling & Velocity

Faster adoption
Those running workloads only need to learn about platform-specific capabilities

Opportunity to build new skills
Need to build skills in cloud-native development and infrastructure helps retain and attract talent

Technical Fit

Workloads that need to run on specific hardware, are provided by a third party for deployment, or where modernization is complex to achieve

Workloads that require replacement, are business critical, require additional performance, or could take advantage of key Azure services

Operational Management

Cloud infrastructure can leverage hybrid and on-premises services for operational management (such as DSE, AD, update management, etc.) that the organization already provides

Cloud native services do not require a large amount of operational management, allowing for additional scale – the organization still needs to follow operational best practices and build skills in the area, however

 

 

Success through Migration

 

One of our customers in the transport industry had an existing on-premises server environment that hosted testing environments for their payment platform. Whenever a developer wanted to test a change, the proprietary software running on the on-premises cluster would create a replica of the platform with their changes incorporated. It would then run a series of integration and end-to-end tests to ensure the change did not cause any unintended consequences.

 

While essential to the stability of the customer’s production workload, the server platform was hosted in an expensive on-site facility in a major city. Because the infrastructure was owned directly by the customer there was no opportunity for scaling it up or down and it remained idle when not in use. The customer saw a migration to Azure as an immediate opportunity for cost reduction, hence why they reached out to Microsoft for help.

 

A key aspect to the effort was that neither the production workload nor the testing processes or procedures could change significantly. The customer wanted to provide the same experience to their developers after the migration as the testing platform performed well in principle and had many internal advocates.

 

It was therefore decided to use virtual machine scale sets in Azure to both achieve a consistent experience and take advantage of cloud scale from day one after the migration. The customer team worked with Microsoft to build a POC and test their proprietary software with the new more scalable platform.

 

The initial POC was a success and led to the move to virtual machine scale sets in Azure over the next year. Once everything was migrated, the customer was able to decommission their expensive on-premises server cluster.

 

Overall, the customer was highly satisfied with their migration. They saw a significant cost saving bringing the overall running cost of the workload down to just 25% of its original yearly hardware and running cost. This was due to the adaptive scalability of the Azure platform.

 

One benefit the customer had not expected was that developer test runs also ended up taking 25% less time to complete. This was because the old on-premises platform had experienced spikes in usage when many developers wanted to test their changes at the same time, leading to queues before an integration test could take place for each change. With the additional scalability provided by Azure, most test runs started completing either instantly or within a few minutes of triggering them. This helped the company increase its developer velocity as well as its cost efficiency.

 

Success through Modernization

 

Another customer took a different approach. As a multi-national retail business, they had many different web sites for their various subsidiaries in different jurisdictions. All of them were hosted out of their private cloud at the point when they started working with Microsoft.

 

The company saw a huge opportunity to upskill their technical staff on new cloud technologies, but also had great concerns about data residency and security. Their European division started to adopt cloud services one by one, and they wanted Microsoft to help them get it right.

 

Using the guidance provided in the Cloud Adoption Framework, the customer built approved templates and processes that would be managed by a Cloud Center of Excellence. As their maturity increased, they were able to deploy managed landing zones for their applications.

 

One by one the business started moving applications to Azure PaaS services, replacing and modernizing both the code and components as they went along. In this process, their DevOps teams were able to adopt new tools such as Azure DevOps and new coding practices such as asynchronous patterns and microservices architectures.

Although dealing with the new platform, concepts, and coding practices slowed things down at first, the technical staff gained great hands-on experience. Adopting modern DevOps practices helped them respond to customer feedback in a timely manner, and made developers and architects feel more connected with their customer base. The division also eventually generated cost savings by decommissioning web sites hosted in the existing private cloud.

 

Both targeted support from Microsoft, and free learning resources such as MSLearn played a big role in helping the customer upskill and getting the various teams familiar with the Azure environment. As internal skills developed further, the Cloud Center of Excellence started running their own internal training sessions to help others in the company learn from their achievements and celebrate their success. This transition took roughly a year and was backed by a sizeable Azure awareness campaign inside the organization.

 

Having proven the approach and bought into the PaaS-first strategy, the European division was able to share their learnings with their colleagues in other time zones. Having become a “cloud first” division they were able to scale the proven and templatized approach to other parts of the company over the two following years.

 

Many organizations, like the ones we touched on in this article, have already achieved great success through migration or modernization to Azure. If you’d like to find more case studies across a large set of different industries and organization sizes, review our Customer Stories page.

 

 

If you need more guidance, the Migration & Modernization program delivered by accredited and experienced IT professionals is available for organizations that need external support along the way.

 

Understanding the choices in front of you and the tradeoffs involved goes a long way to getting you off to a good start in Azure.

 

About the Authors

 

Harshitha Putta

Harshitha Putta is a Senior Cloud Solutions Architect in the Customer Success Unit at Microsoft. As the cloud business continues to experience hyper-growth, she helps customers build, grow and enable their cloud teams.

 

Daniel Stocker

Daniel Stocker is a Senior Program Manager in Microsoft's App Innovation Tech Strategy team. His background is in DevOps, operational excellence, and organizational change. He leads several programs including the Operational Excellence pillar for Well-Architected.  

 

Continue to website...

More from Azure Migration and Modernization Blog articles

Related Posts