question

mrym-9205 avatar image
0 Votes"
mrym-9205 asked mrym-9205 commented

About seamless function deployment

hello. If you 'publish' from an Azure project or 'swap' from a 'deployment slot', the following error will occur if you make a request to an already deployed function before the function app is fully deployed.


///
Invocation of cloud script function FunctionRequest failed with HTTP status ServiceUnavailable and response body The service is unavailable.
///


If your production environment requires critical updates, you don't want a temporary outage during deployment. Is there a way around this?




azure-functions
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

MikeUrnun avatar image
0 Votes"
MikeUrnun answered mrym-9205 commented

Hello @mrym-9205 - Welcome & thanks for posting on MS Q&A! Could you clarify the order of steps described in your statement below?

If you 'publish' from an Azure project or 'swap' from a 'deployment slot', the following error will occur if you make a request to an already deployed function before the function app is fully deployed.

Blue/green deployment pattern for Functions is indeed achieved through the use of deployment slots, and once configured correctly & between swaps, there shouldn't be any outage though.

Referencing the following resources as they may be helpful:

· 2
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Hello @MikeUrnun
Below are the steps I took.

I did this with reference to Azure Functions deployment slots.

Also, since we are currently making requests with PlayFab's CloudScript, we will also describe the settings and execution procedures here.


  1. First deploy the function to the production environment in Azure Function.

  2. Set the URL of the registered function in PlayFab's CloudScript HTTP Trigger.

  3. Locally change the function registered in "1".

  4. Deploy the modified function to the Deploy Quiesce production environment.

  5. Prepare and deploy the product environment Start as is.

  6. Send repeated requests to the trigger URL registered in "2" during the swap


When the above procedure was followed, the "ServiceUnavailable" error was returned in step "6" for about 10 seconds, but I don't know what the missing step is.
If you have any questions about the procedure or setting method, please ask again.


0 Votes 0 ·

Hello @MikeUrnun

It's been over a month now, do you know what the problem is?

I'm sorry, but it would be helpful if you could give me an answer.

0 Votes 0 ·