# Azure Devops Deployments
For zero downtime deployments, Deployment slots are a great tool to use.
The process goes as follows:
1. Deployment to `stage` slot
2. Warming up of `stage` slot
3. Shifting of traffic from `production` to `stage` slot, effectively swapping the two
The warming up in Step 2 also works as a health-check so we are only swapping to a healthy Deployment slot to avoid taking the site offline. In order for this health-check to work the Azure DevOps Release Pipeline needs to have access to the `stage` slot.
Without access, you might get this error:
![[Pasted image 20231010161818.png]]
## Access Restriction on AppService
To grant access, instead of whitelisting individual IPs or the Azure IP range directly, there are ServiceTags that can be used to grant access:
`App Service > Deployment Slot 'stage' > Networking > Access Restrictions`
![[azure-devops-deployments-servicetag-1.png]]
![[azure-devops-deployments-servicetag-2.png]]