AWS Public Sector Blog
Escape unfriendly licensing practices by migrating Windows workloads to Linux
Migrating enterprise workloads to Linux removes operating system license cost and frees your organization from disruptions caused by unexpected—and sometimes punitive—license policy changes.
The effort required to re-platform from Windows to Linux varies depending on how the application was implemented. The key is to identify and target workloads with the right characteristics, balancing strategic importance and implementation effort. Applications can be separated into four categories:
- High strategic importance, low effort
- High strategic importance, high effort
- Low strategic importance, low effort
- Low strategic importance, high effort
The relationship between these categories is shown in figure 1.
As shown in Figure 1, you should prioritize migrating workloads with high strategic importance to your organization and low effort of migration implementation (category 1), followed by workloads with high strategic importance but high effort of implementation (category 2).
Once these migrations are completed, IT teams may choose to re-platform non-strategic applications due to the low implementation effort to build experience (category 3).
The fourth category of migrations—complex applications that have little to no strategic importance—are typically not appropriate for re-platforming. These migrations should be the lowest priority.
In some cases, organizations first choose to take on low effort, low strategic importance (category 3) migrations to build the confidence of the migration team. This can be a good way to let your migration team practice a migration with low impact if it fails.
How to define migration implementation effort
While strategic importance is relatively straightforward to define (i.e. the application’s business impact that can be identified by the business users), migration implementation effort can be more difficult to determine. To evaluate the implementation effort, review the tiered components of an enterprise workload, application logic tier, and database tier.
Migrating .NET to .NET core
.NET applications can be migrated to .NET Core first before deploying to Linux. General guidance is available from .NET online documentation.
Migration teams should be aware of .NET features that are not available in .NET core, such as AppDomains, Remoting, Code Access Security (CAS), Security Transparency, and System.EnterpriseServices. If your libraries rely on one or more of these technologies, consider the alternative approaches suggested by Microsoft.
Re-platforming SQL Server from Windows to Linux
For the database tier, you can re-platform SQL Server from Windows to Linux on AWS using AWS’s Windows to Linux re-platforming assistant for Microsoft SQL Server Databases. The re-platforming assistant is a scripting tool to help you move existing Microsoft SQL Server workloads from a Windows to a Linux operating system. Use the re-platforming assistant with any Windows Server virtual machines (VMs) hosted in the cloud or with on-premises environments running Microsoft SQL Server 2008 and later.
There are some SQL Server features in Windows that are not available in Linux—even though the core database engine for SQL Server is the same on Linux as it is on Windows. Evaluate your database implementation and analyze the migration impact by reviewing the list of features that are not supported on Linux.
To help you qualify the type and complexity of workloads that run on Microsoft Windows Severs or Microsoft SQL Server, below are questions to evaluate the breadth and depth of the Windows Server and SQL Server deployments.
Windows Application Server(s)
- What version of .NET does the majority of the workload run under?
- Are IIS web servers multi-tenant or single tenant hosts?
- Do you use a large number of third-party Windows software packages?
- What are the top software packages?
- Are any of the servers resource constrained, either under normal or peak operations?
- Are you using any features and technologies in .NET Framework libraries that are not available for use with .NET Core, such as AppDomains, Remoting, Code Access Security (CAS), Security Transparency, and System.EnterpriseServices?
Windows SQL Server(s)
- How many total database servers do you have in total?
- What is the posture of each database server (HA Production, Production, Development, or Test)?
- What is the “rough” hardware configuration of each database server in terms of CPU, memory, and storage?
- What is the approximate number of “objects” (databases, tables, stored procedure, and views) for each server?
- Are you using specific services like SQL Server Reporting Service or SQL Server Integration Service? If so, can you describe the setup, number or reports, or ETL jobs being run?
- Are any of the databases purpose-built for things like data warehousing, online transaction processing (OLTP), or online analytics processing (OLAP)?
- What are the databases/servers that have unique configurations like memory or disk allocation?
- Are there any databases servers that are resource constrained either under normal or peak operations?
- Are you using any features and services not available for SQL Server 2019 on Linux?
In addition to re-platforming, there are other options to avoid the disruption and cost associated with license dependency. For applications that are complex to re-platform, AWS enables you to modernize your Windows workloads on cloud-native services by using containers, serverless, and databases on AWS.
Next steps to achieving an open-source cloud platform
To get started, the AWS Migration Acceleration Program (MAP) for Windows provides tooling, methodologies, consulting support, and additional incentives when you re-platform and/or modernize your Windows Server and SQL Server workloads.
In addition to substantial cost savings and license freedom, MAP helps you to increase agility and rapidly innovate with AWS Cloud services. Many organizations like Davinci, Visma, NextGen Healthcare, Ancestry, and many others have all chosen AWS to migrate and modernize their Windows workloads on AWS. Read more about customers that are modernizing on AWS on our customer references page.
Contact us or leave a comment in the comments section to discuss your Windows re-platforming or modernization initiatives. Also, check out our new modernization blog channel for weekly modernization stories.