Things to consider when your application takes on the Azure Outfit.
Leading enterprises take on the Cloud approach for critical processes including data transfer, infrastructure migration, new app development, modernization of apps from Legacy systems and more. The top three reasons for Organizations to adopt Cloud strategies include Security, Scalability and Sensibility, and the work and planning required to make the switch to Azure Cloud can be worth it – if you do it right. This blog aims to cover a vast majority of these cases and provides a checklist and ready reckoner for clients/partners intending to migrate their existing applications to Azure App Service.
Things to Consider – Before Migration
|Azure Cloud Migration Checklist||Azure Supported||Recommended Solution|
|Port bindings||80(http), 443 (https)||If you have sites using any other port, remember these (80 & 443) are the only ports that will be used|
|Assemblies in Global Assembly Cache(GAC)||Not supported||Place the assemblies in the local bin folder|
|Multiple App pools||Not supported. Web apps run in the same application pool||Consider running a single application pool with common settings or creating a separate Web App for each application|
|COM and COM+ components||Not supported||Rewrite in managed code and deploy with the Site or application|
Once you evaluate the list above, the following areas need to be considered for migrating applications to Azure App Service.
Things to Consider – After Migration
|After migration Checklist||Azure Feature||Recommended Solution|
|Windows Authentication||Azure Active Directory||Configuration changes for authenticating users via Azure AD|
|Session State||Azure Redis Cache||Change application to be stateless or configure session state to be persisted in Azure Redis Cache|
|Persisting uploaded files||Azure Blob Store||Persist any file outside of App Service, use either Azure Storage SDK or REST APIs for saving and accessing files from/to a blob store|
|App settings/Connection strings different for environments||Portal/Template||Define them on portal/template so that they can be overridden during deployments|
|Logging framework with local log file||Azure Diagnostics||Configure them to either log to Azure diagnostics or a centralized blob store|
|Certificates||Explicitly upload your certificates to be able to work on Azure, as certificates are by default not migrated|
|Custom Domain||CNAME||Can be associated with Azure Web apps via a CNAME record change. Also update App Service to validate the DNS|
|SMTP server for sending emails||Office 365||Use relay services like Office 365|
|Cross database queries||Elastic Pools||Move the database to Elastic pools and use Elastic queries to query across databases|
|SQL Agents||Elastic Jobs||Some functionality of SQL Agents can be achieved using Elastic Jobs, but it’s better to go with Web Jobs and/or Azure functions|
|SSIS (SQL Server Integration Service)||Azure Data Factory||Deploy SSIS on VMs or make use of Azure Data Factory to load or migrate data|
|SSRS (SQL Server Reporting Service)||Power BI||Deploy SSRS on VMs or use power BI for creating reports|
10 Azure Migration Challenges and ways to Overcome them
Thoroughly understand the unique attributes of Azure and the mental shift that can occur in Cloud Adoption
In case of Hybrid Cloud solution, note that traffic which previously ran over high-speed low-latency LAN will now run over the WAN
Carefully estimate the downtime that each migration step can cause and try to spread it out across Azure migration steps to have minimal impact
Various dependencies should be taken into account while migrating an application to Cloud. Connection configurations should be determined to prevent serious service interruptions in Azure migration process
Identify and predict compatibility issues between Azure storage and the existing Application storage, like unsupported or partially supported functions. Azure database specialists can help in fixing them in the Azure migration prcocess
IaaS migration includes many existing virtual machines. Nut verify the compatibility of each VM meant for migration, though Azure is an excellent VM hosting choice, with wide compatibility for VMs from Windowsn Server 2008 R2 to Linux VMs
Consider implementing a Virtual Private Network with end-to-end encryption to safeguard app from data breaches
Ensure that you know the Service Level Agreement and Capacity Planning strategy needed for you Migration Process
Run the application in an Azure test environment to discover any serious compatibility issues and ensure successful migration to Azure without any service disruptions
It is very important to have a robust Disaster Recovery plan in place to overcome any catastrophic data loss or application erorrs
Broadly this checklist will help you assess the fitment of Azure in your existing sites/applications, and areas to focus on after migrating to Azure App Service. Also, Microsoft has launched several tools and resources to help you tap into the power of the Cloud to optimize your business. Cloud Migration Assessment helps you discover the servers across your IT landscape, analyze the hardware configurations, and provides a comprehensive report including the estimated cost you will save from Azure migration. Azure Hybrid Use Benefit can be activated in the Azure Management Portal, simplifying your path to the Cloud in a cost-effective way. Azure Use Benefits allows you to save up to 40% with Windows Server licenses. Azure Site Recovery makes your journey to the cloud as easy as possible. You can use this tool to migrate virtual machines to Azure and it is a great way to move applications whether they run on AWS, VMware, Hyper-V or on physical servers.
With more and more businesses opting for SaaS applications like Azure, the support required to maintain it is significantly reduced. So your existing vendor engagement models like fixed bid or Time and Material does not hold water anymore. Here is where our unique pay-as-you-use services model perfectly complements the SaaS products that you are migrating to. To know more, please write to email@example.com.
Author: PreludeSys .Net CoE