Things you must plan before starting migration of your web application to Azure PAAS

Many organizations are planning to migrate there existing workload to Azure to achieve performance, scaling, flexibility of resource consumption & Pay as you go plans. There are lot of other benefits to moving application to Azure PAAS. Due to lack of knowledge & proper planning many organizations are not able to move application to Azure. I will try to create a framework/approach which will help any organization to migrate there applications to Azure PAAS.


Image result for migration application to azure paas image


Step 1 : Baseline Analysis


Before starting any migration activity or planning, first list of all components & dependencies of existing application. This list will help you to identify items which required any changes before moving to azure.

You can use below list as starting point-

  1. Technology used for Web Portal - ASP.Net, Java etc.
  2. Current Session management technique- in memory of web server or state server or database server
  3. Any Web API project associated with web application
  4. Database used in web portal - SQL Server, MySQL or any other
  5. User authentication technique (On premises Active Directory)
  6. Integration with any other on premises applications
  7. Windows Service, Background job or Scheduler
  8. MSMQ or any message queue
  9. Application have document/files/image upload functionality
  10. Any third party exe is used in your application to achieve specific task
  11. Any custom installation required on web server
  12. SMTP Server configured for sending email



Step 2 : Migration Plan



ComponentAzure ServiceRemarks
Web PortalAzure Web AppSupport Auto-Scaling
Session ManagementRedis cache or SQL ServerIn memory session storage not support if you have multiple web server instances running.
Web APIAzure API App
DatabaseAzure SQLYou can choose higher or lower capacity or performance on the fly
User AuthenticationAzure Active Directory or on premises ADFS
IntegrationOn Premises Data GatewayIf other applications are available on internet, you can directly connect via Azure Function, Logic App or even from Web App. If it is on-premises application than you can have on premises gateway or site-to-site connectivity.
If other applications are directly connecting with your database than you can allow those server's IP Address in Azure SQL database firewall.
Windows Service or Background JobWeb Job, Azure Function or Batch JobBased on your specific need you can select any one of the list. I personally found Azure Function very promising and easy to develop. Azure Function has in build capability to integrate with Event Hub, Service Bus, Cosmos DB etc. which is helpful in integration scenarios.
Message QueueEvent Hub, Service Bus or Storage QueueChoose based on your application need.
Document or file uploadAzure Blob Storage
SMTP for Sending EmailAzure SendGridIf you have existing office 365 account for sending email, you can use same in Azure
Third party EXE or Custom installation or configuration required on web serverAzure VMCustomization of environment or installation of third party EXE does not supported by Azure PAAS, you need to choose Azure VM for those type of components.



Step 3 : Execution of Migration


If you have completed above two steps carefully, it will cover your 30% Job. Rest migrating the application based on plan & testing it. 

If you have multiple application to be migrate on Azure PAAS, i would recommend to migrate one by one. It will help you to reuse existing application migrations knowledge and components to be used in another applications.

Let me know if you have any query or need any help to migrate your applications on Azure PAAS. All the best for your Azure Journey.

Comments

Popular posts from this blog

Serverless Integration design pattern on Azure to handle millions of transactions per second

Cloud-Neutral Development is the future of IT

Working with Stored Procedure in Azure DocumentDB (CosmosDB)