2

We have multiple clients and we use Azure web sites to host our web application. When we upgrade a client to a newer version of our software we have to upgrade all of our clients to the latest version.

We would like to be able to upgrade a subset of clients when we release a new version. This would give us the ability to test that the new solution is working properly before we bring all of our clients to the new version. We would like to offer a beta version option to selected clients so that they can access new features of our software and are aware that the version they are using is still in a 'beta' mode.

When we deploy a new version we would like to create a web site just for this new version whilst leaving the other clients on the more stable previous version. To do this we are thinking of writing a reverse proxy that directs traffic to the different versioned web sites depending on the client.

Can we host multiple versions of the web site using the same Azure web site. (IIS directories) The documentation I have read relating to this does not mention being able to build multiple versions of the web site based on different code bases.

Is there a way to set up the build so that each new version is deployed to a directory on the Azure same web site so we can effectively host multiple versions of our app under the same azure web site?

We could do every versioned build to a new Azure web site but this could get quite expensive as we run two instances so as to maintain a good SLA. It is feasible that we could end up with ten versions in the wild at once, running 20 Azure web sites to support these versions could get expensive. How can we save on costs and give our clients a good experience?

Aran Mulholland
  • 23,006
  • 28
  • 134
  • 225
  • Hi how did you solve it finally ? I have a similar question just not about azure in particular https://stackoverflow.com/questions/68268420/how-to-set-up-and-maintain-2-versions-of-my-multi-tenant-web-app – Qiulang Jul 07 '21 at 09:36
  • 1
    @Qiulang with Azure FrontDoor you can give clients a different site to use that works in a poor fashion. Really for this to work well you need a proxy that directs requests based on login or headers. Azure Service Fabric would probably work well in this situation. – Aran Mulholland Jul 07 '21 at 09:41
  • Thanks I am also thinking about add a proxy because my problem is that a client may want the latest release this time but the stable one next time. – Qiulang Jul 07 '21 at 09:43

2 Answers2

1

You can have up to 5 deployment slots including production on azure web apps. Each slot can use a different branch of your source control system like git or tfs. If you use any of these two, deploy is also automatic (continuous deployment) and you can swap slots any time very fast with minimium to none downtime. Each slot has it's own url for external access.

To save costs, you can run multiple web apps on the same hosting plan. There's no limit for the number of web apps running on the same hosting plan. For each hosting plan it's possible to have 10 small/medium/large instances.

Set up staging environments for web apps in Azure App Service

https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/

Azure App Service plans in-depth overview

https://azure.microsoft.com/en-us/documentation/articles/azure-web-sites-web-hosting-plans-in-depth-overview/

Bruno Faria
  • 5,020
  • 3
  • 22
  • 27
  • We use multiple deployment slots at the moment. In my understanding a deployment slot is somewhere that you deploy a build to. When the build is deployed you swap the slot to now be the production slot. So you are saying I can use these 5 slots to have 5 different web sites? – Aran Mulholland Jul 31 '15 at 01:35
  • From the article you mentioned I notice that it has the following caveat: "Scaling is not available for non-production slots." - This would invalidate this solution for us. I think I need multiple web sites deployed to different directories under IIS as then the whole of IIS would scale. – Aran Mulholland Jul 31 '15 at 01:38
  • I see. I know what you want is possible with cloud services but i'm not sure with web apps. In the end, everything is running on IIS, it may be possible. – Bruno Faria Jul 31 '15 at 12:50
0

Yes this is possible. In management portal, You need to configure the details for the IIS virtual directory or application in the website’s configuration. Ref - http://blogs.msdn.com/b/tomholl/archive/2014/09/22/deploying-multiple-virtual-directories-to-a-single-azure-website.aspx

Mahesh Jasti
  • 552
  • 3
  • 18