[Documentation] Zero/minimal downtime deployment best practices documentation request
- Dominant language
- PowerShell
- Stars
- 1.1k
- Forks
- 215
- Avg merge
- 4h 2m
- Merged PRs (30d)
- 1
Description
Hi,
I am looking for best practices on handling deployment/upgrade scenarios to minimize the downtime. I am also looking for Function App code deployment organization recommendations to help minimizing impact on those deployment scenarios. (Ex: One Function App per version, separate APIs from async triggers processing code (Queues...))
While I found information here and there, scattered around in Github repos and docs.com, I was not able to find a nice summary or reference/guide on the subject that provide best practices.
Some questions to understand what I am looking for :
1. What is the proposed approach to deployment/upgrade scenario while having a currently executing function in Azure Functions? (App with lot of activity)
2. What is the status of deployment slots and should we use them? They have been in preview for a while and still have issues (cannot prevent code from executing, see [reference](https://github.com/Azure/azure-functions-host/issues/2412), meaning that old code after swap will still compete with newer code)
3. Should we separate API Triggers to a different Function App to minimize user impact of upgrades?
4. What is the impact on my Function App when the Functions Runtime is updated?
5. From a coding perspective, what are the recommended approaches to minimize impact of such upgrades (how to detect upgrades)?
Discussion initially started [here](https://github.com/Azure/azure-functions-durable-extension/issues/184#issuecomment-400161424) while brainstorming on a different topic . Quote from @jeffhollan from that thread to get discussion started:
> In order to have "zero down time" deployments with Azure Functions you'd need to do some green/blue deployment with something like traffic manager or proxies if HTTP, or potential phased / competing consumer if non-HTTP.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.