Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Guidance on rolling update without downtime #1831

Open
pragnagopa opened this issue Jan 28, 2021 · 3 comments
Open

Guidance on rolling update without downtime #1831

pragnagopa opened this issue Jan 28, 2021 · 3 comments

Comments

@pragnagopa
Copy link
Member

copying from Azure/app-service-announcements-discussions#175 (comment)

cc: @saibaskaran57

Hey everyone,

Could someone share how could we perform the Platform upgrade from Azure Functions v2 -> v3 without any downtimes?

There are two issues I'm currently facing in terms of the platform upgrade:

  1. ARM template changes on FUNCTIONS_EXTENSION_VERSION from ~2.0 to ~3 causes downtime with HTTP 503 Service Unavailable
    I did a simple ping check(every 100ms) on my Azure functions when ARM template is being deployed. I could reproduce this using both Powershell & Azure resource group deployment azure pipeline task as show below:
    functionupgrade

  2. I've changed my strategy to upgrade using Functions deployment staging slots first before making a swap. However, the FUNCTIONS_EXTENSION_VERSION app settings did not bring forward to production slot during this swap.
    Just to test this out, in my staging slot I updated FUNCTIONS_EXTENSION_VERSION from ~2.0 to ~3 and created a new app settings called NewVar. From the screenshot below, only NewVar is brought forward to production slot.
    swaptest

How can we ensure the function app is upgraded with seamless approach without causing service downtime?

Thanks.

@saibaskaran57
Copy link

Thank you @pragnagopa . Appreciate for your help.

@pragnagopa
Copy link
Member Author

@anthonychu - Are you aware of any best practices doc for zero downtime deployment while using slots?

@saibaskaran57
Copy link

Hello @pragnagopa @anthonychu ,

Do we have any best practices document for the above? I'm leveraging Azure App Service for my function deployment. I suppose deployment slots always help us to solve this type of issues but for this scenario, it does not as the FUNCTIONS_EXTENSION_VERSION is not swapped.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants