Reputation: 494
I'm writing an API that will basically provide services to read and write to a Database.
My goal would be to have three environment. Dev, Stage and Production.
The first idea was to have three different resource groups, each with three different App Service Plans to host each environment.
Then i started reading and the recommended strategy seems to be to have all of the environments hosted within one App Service Plan. This way you could take advantage of swapping deployment slots. Also I'd be paying one third of the price.
But i also read that it's good to have a production environment isolated from the rest. So this way I'd need one App Service Plan for Prod, and another one for the rest of my environments.
So my first question is, is there a suggested/standard way to proceed setting up environments?
Is swapping exclusive to environments within a single App Service Plan?
Also i was comparing specs of Standard, Premium and Isolated tiers, and i couldn't find info on if Isolated App Services Plan have 'Staging Slots' for deployment. I know that Standard tier comes with 5 slots and Premium tier has 20. Does Isolated App Service Plans not support multiple deployment slots?
Thanks in advance for any insight that you guys can provide me.
Upvotes: 1
Views: 960
Reputation: 42063
is there a suggested/standard way to proceed setting up environments?
As far as I know, it is convenient for us to create deployment slot in the azure portal when the app is running in the Standard or Premium App Service plan tier.
Add a deployment slot
In the azure portal, open your app's resource blade-->Deployment slots-->Add Slot-->give the slot a name and select Configuration Source. If you have several slots, you could swap them manually or set the Auto Swap.
Configuration for deployment slots
When you using the swap feature, you should know the settings that can be swapped or not. Also, you could set slot setting, note that marking a configuration element as slot specific has the effect of establishing that element as not swappable across all the deployment slots associated with the app.
For more details, you could refer to this article.
Is swapping exclusive to environments within a single App Service Plan?
Per my understanding, App Service Plan is like a VM, it holds your app, deployment slot is like a copy of the web app that you can make different configurations. It also be held with the App Service Plan. If the App Service Plans have different pricing tier, they will have different features. So we could not swap the slots in different Service Plans.
Does Isolated App Service Plans not support multiple deployment slots?
Actually, Isolated App Service Plan supports deployment slots.You could view full details for App Service Plans.The Isolated tier is special.In the Isolated tier, the App Service Environment defines the number of isolated workers that run your apps, and each worker is charged hourly. In addition, there's an hourly base fee for the running the App Service Environment itself. You could select the tier when creating the App Service Plan, but cannot scale up to this tier in the scale up option in the resource blade.
Upvotes: 1