I'm generally confident in Azure App Service, however I can't find good documentation on how exactly Azure serves my new application if I deployed to an already scaled out App Service.
Say I have an app running and scaled to 5 instances (manually or auto scale, doesn't matter).
I now deploy a new version without staging slots. Directly into production.
How does Azure handle the scaled units now? Will new workers be warmed up and provisioned before my new application goes 'live'? Will there temporarily be 10 workers running my app? Could it theoretically happen that 2/5 workers run the new version while 3/5 run the old one (for some time)?
Maybe I'm overseeing something or I'm thinking too complicated.
The only documentation I found was this web app architecture post. Still, it doesn't really answer my question.
CodePudding user response:
Since Web Apps use a shared storage that is mapped to all five worker instances, if you deploy without using slots the content is updated on the shared storage and your app will restart to serve the updated application. All 5 instances will restart at the same time. This restart will cause your app experience some down time while it restarts
CodePudding user response:
This is exactly why you use slots, so you can deploy to slots and make sure all is warmed up and then perform a slot swap.
If you deploy directly to production depending on how fast your application starts you might experience down time.
