Migrate shared hosting ASP.Net site(s) to Azure
-
So, I've "played" with Azure a couple of times in the past, and found it MASSIVELY confusing - vast number of different services, huge number of (wildly varied) pricing options, dozens of pages of configuration, huge amount of new terminology. Really not into that, I'm a developer at heart, I like writing code. I have a client with a critical line-of-business ASP.Net Webforms website (not web application), plus a separate sub-domain for testing. He would like to move this away from his cheap-as-chips shared hosting, and onto Azure. (Two different hosting providers keep messing us around by changing configurations that break the site). So, is there a SIMPLE migration tool to help me move this site into Azure? A complication is that it uses MySql so we need a MySql service on Azure too (with 2 separate databases, 1 prod 1 UAT). The MS Azure site has reams of stuff about migrating, but it looks like it assumes you control a dedicated server. Doesn't necessarily need to be a tool, a comprehensive tutorial / walkthrough would be fine, BUT it would need to be up-to-date (When tinkering with Azure a couple of years ago I found not only was it complex, it was constantly shifting too!). Also anyone else's experiences with this migration path would be welcome, as I will need to give the client an estimate of my time on this migration. And once done, I will still need to connect from my existing d/b client (e.g. Heidi SQL, MySql Workbench) to the databases, and be able to EASILY upload changed pages, access IIS logs etc. I did at one point get the app running on Azure (linking back to the existing hosted MySql d/b) so I know it will run with minimal changes, just finding the whole thing pretty daunting right now.
-
So, I've "played" with Azure a couple of times in the past, and found it MASSIVELY confusing - vast number of different services, huge number of (wildly varied) pricing options, dozens of pages of configuration, huge amount of new terminology. Really not into that, I'm a developer at heart, I like writing code. I have a client with a critical line-of-business ASP.Net Webforms website (not web application), plus a separate sub-domain for testing. He would like to move this away from his cheap-as-chips shared hosting, and onto Azure. (Two different hosting providers keep messing us around by changing configurations that break the site). So, is there a SIMPLE migration tool to help me move this site into Azure? A complication is that it uses MySql so we need a MySql service on Azure too (with 2 separate databases, 1 prod 1 UAT). The MS Azure site has reams of stuff about migrating, but it looks like it assumes you control a dedicated server. Doesn't necessarily need to be a tool, a comprehensive tutorial / walkthrough would be fine, BUT it would need to be up-to-date (When tinkering with Azure a couple of years ago I found not only was it complex, it was constantly shifting too!). Also anyone else's experiences with this migration path would be welcome, as I will need to give the client an estimate of my time on this migration. And once done, I will still need to connect from my existing d/b client (e.g. Heidi SQL, MySql Workbench) to the databases, and be able to EASILY upload changed pages, access IIS logs etc. I did at one point get the app running on Azure (linking back to the existing hosted MySql d/b) so I know it will run with minimal changes, just finding the whole thing pretty daunting right now.
Quote:
critical line-of-business ASP.Net Webforms website (not web application)
Web Forms _is a web application_, and should be just fine on Microsoft Azure. [ASP.NET Web Deployment using Visual Studio: Introduction | Microsoft Docs](https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/introduction)
Quote:
plus a separate sub-domain for testing.
Microsoft Azure provides this built-in to the platform; [Deployment Slots](https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots).
Quote:
is there a SIMPLE migration tool to help me move this site into Azure?
Depends, if you can connect to the MySQL database locally and create a backup, Microsoft might have some tools to deploy the MySQL snapshot to Azure platform.
Quote:
A complication is that it uses MySql so we need a MySql service on Azure too (with 2 separate databases, 1 prod 1 UAT).
I recommend using Terraform to create the infrastructures; dev and UAT. The UAT environment can be created when test is needed and then disposed when not needed.
Quote:
(When tinkering with Azure a couple of years ago I found not only was it complex, it was constantly shifting too!).
Sadly it still is. But if you can get a subscription for MySQL engine on Azure, running the backup/restore should be just fine.
The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~
-
Quote:
critical line-of-business ASP.Net Webforms website (not web application)
Web Forms _is a web application_, and should be just fine on Microsoft Azure. [ASP.NET Web Deployment using Visual Studio: Introduction | Microsoft Docs](https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/introduction)
Quote:
plus a separate sub-domain for testing.
Microsoft Azure provides this built-in to the platform; [Deployment Slots](https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots).
Quote:
is there a SIMPLE migration tool to help me move this site into Azure?
Depends, if you can connect to the MySQL database locally and create a backup, Microsoft might have some tools to deploy the MySQL snapshot to Azure platform.
Quote:
A complication is that it uses MySql so we need a MySql service on Azure too (with 2 separate databases, 1 prod 1 UAT).
I recommend using Terraform to create the infrastructures; dev and UAT. The UAT environment can be created when test is needed and then disposed when not needed.
Quote:
(When tinkering with Azure a couple of years ago I found not only was it complex, it was constantly shifting too!).
Sadly it still is. But if you can get a subscription for MySQL engine on Azure, running the backup/restore should be just fine.
The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~
Many thanks for your response. :thumbsup:
Afzaal Ahmad Zeeshan wrote:
Web Forms is a web application, and should be just fine on Microsoft Azure.
Nope. ASP.Net webforms allows you to create two types of web site - a "Web Application", which involves pre-compiling code into DLLs (all done by VisualStudio) and you implement the DLLs and .ASPX pages; and "Web Site", where the runtime does the compilation of each code-behind page when first called. It's therefore critical that Azure includes those runtime components or my site would not run as-is.
Afzaal Ahmad Zeeshan wrote:
Microsoft Azure provides this built-in to the platform; Deployment Slots.
But only at the higher-end packages. Because the entire slot is "swapped" there's no way during the swap to also swap from UAT to production database if using a standard connection string. Also the IIS InstanceID presumably changes during the swap, so there is no way for an end-user to determine which environment they're looking at on-screen. (I use the InstanceID to make CSS changes, including adding environment name, to reduce the risk of making "test" transactions in the production environment; see IIS_Environment_Detection[^] A quick scout around just the "Deployment slots" documentation just now confirms Azure remains obscure and overly-complex for "normal" website applications.
-
Many thanks for your response. :thumbsup:
Afzaal Ahmad Zeeshan wrote:
Web Forms is a web application, and should be just fine on Microsoft Azure.
Nope. ASP.Net webforms allows you to create two types of web site - a "Web Application", which involves pre-compiling code into DLLs (all done by VisualStudio) and you implement the DLLs and .ASPX pages; and "Web Site", where the runtime does the compilation of each code-behind page when first called. It's therefore critical that Azure includes those runtime components or my site would not run as-is.
Afzaal Ahmad Zeeshan wrote:
Microsoft Azure provides this built-in to the platform; Deployment Slots.
But only at the higher-end packages. Because the entire slot is "swapped" there's no way during the swap to also swap from UAT to production database if using a standard connection string. Also the IIS InstanceID presumably changes during the swap, so there is no way for an end-user to determine which environment they're looking at on-screen. (I use the InstanceID to make CSS changes, including adding environment name, to reduce the risk of making "test" transactions in the production environment; see IIS_Environment_Detection[^] A quick scout around just the "Deployment slots" documentation just now confirms Azure remains obscure and overly-complex for "normal" website applications.
Quote:
Nope. ASP.Net webforms allows you to create two types of web site - a "Web Application", which involves pre-compiling code into DLLs (all done by VisualStudio) and you implement the DLLs and .ASPX pages; and "Web Site", where the runtime does the compilation of each code-behind page when first called. It's therefore critical that Azure includes those runtime components or my site would not run as-is.
Right, thanks for the information. From what I "think", Visual Studio should be able to handle this situation.
The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~
-
So, I've "played" with Azure a couple of times in the past, and found it MASSIVELY confusing - vast number of different services, huge number of (wildly varied) pricing options, dozens of pages of configuration, huge amount of new terminology. Really not into that, I'm a developer at heart, I like writing code. I have a client with a critical line-of-business ASP.Net Webforms website (not web application), plus a separate sub-domain for testing. He would like to move this away from his cheap-as-chips shared hosting, and onto Azure. (Two different hosting providers keep messing us around by changing configurations that break the site). So, is there a SIMPLE migration tool to help me move this site into Azure? A complication is that it uses MySql so we need a MySql service on Azure too (with 2 separate databases, 1 prod 1 UAT). The MS Azure site has reams of stuff about migrating, but it looks like it assumes you control a dedicated server. Doesn't necessarily need to be a tool, a comprehensive tutorial / walkthrough would be fine, BUT it would need to be up-to-date (When tinkering with Azure a couple of years ago I found not only was it complex, it was constantly shifting too!). Also anyone else's experiences with this migration path would be welcome, as I will need to give the client an estimate of my time on this migration. And once done, I will still need to connect from my existing d/b client (e.g. Heidi SQL, MySql Workbench) to the databases, and be able to EASILY upload changed pages, access IIS logs etc. I did at one point get the app running on Azure (linking back to the existing hosted MySql d/b) so I know it will run with minimal changes, just finding the whole thing pretty daunting right now.