We're working with a partner to implement Umbraco across some 20 sites. We're a Microsoft shop and would very much like to utilize Azure Web Apps. While you do provide documentation on this architecture, the partner is some what strongly recommending against doing so and instead suggesting that we deploy virtual machines (This seems rather archaic to me in a world of containers and PAAS services). Or if we do utilize Azure Web Apps to disable auto-scaling of any kind and only run a single node app service plan (Again seems like a terrible approach). They claim that with multiple nodes / auto scaling there are times when changes are made via the backoffice interface that some nodes do not update their local cache, resulting in changes not being universally applied. Any guidance here would be greatly appreciated, we've read through the documentation and it does not seem difficult to implement Umbraco on Azure Web Apps with Auto-Scaling enabled.
We will deploy and test internally, but the partner mentions that there is not a reliable way to test for this scenario as there are no specific actions which cause the discrepancy between nodes every time ("It just happens periodically"). I'm certainly not trying to discredit the partne,r especially since they have much more experience with the Umbraco platform, I just don't see any documentation from your side calling out these shortcomings.
Lastly there is the thought that v8 may address these issues all together, but I have yet to find any documentation detailing technical changes in 8 vs 7 in regards to Azure Web Apps and Auto-Scaling. Hoping someone can provide some insight, deploying to VMs is quickly becoming a thing of the past and I hope the product is not chaining us to a legacy architecture. Any guidance here would be greatly appreciated, and calling out any updated documentation would be helpful as well.
Yes, I've seen and reviewed this though it has not been updated. Do you have experience with Azure Web Apps and Umbraco 7 or 8? I'm really looking to see others experiences and if at all possible understand changes in 8 that may make scaling out more reliable in this scenario.
Likely not enough load to warrant a lot of scaling. But we want to maintain two nodes minimum for redundancy. Did you experience any issues with changes from the back-office not being reflected on all nodes?
How does the master scheduler get handled when auto/manual scaling? Does it get determined automatically, and the base/root node remains the scheduler?
The guidelines don't make it very clear and make it sound like an advanced option but you should always specify the master/scheduling servers explicitly as per:
Otherwise e.g. scheduled publishing and URL rewrites may not work (if the correct master server isn't selected).
Edit: With regard to scaling - the back office server shouldn't be scaled anyway as Umbraco doesn't support this, you need a separate instance to be the back office and a "scalable" instance that's separate; the back office should also be the "Master" server or the above issues are likely to occur.
Azure Web App Umbraco 8 Auto-Scaling
We're working with a partner to implement Umbraco across some 20 sites. We're a Microsoft shop and would very much like to utilize Azure Web Apps. While you do provide documentation on this architecture, the partner is some what strongly recommending against doing so and instead suggesting that we deploy virtual machines (This seems rather archaic to me in a world of containers and PAAS services). Or if we do utilize Azure Web Apps to disable auto-scaling of any kind and only run a single node app service plan (Again seems like a terrible approach). They claim that with multiple nodes / auto scaling there are times when changes are made via the backoffice interface that some nodes do not update their local cache, resulting in changes not being universally applied. Any guidance here would be greatly appreciated, we've read through the documentation and it does not seem difficult to implement Umbraco on Azure Web Apps with Auto-Scaling enabled.
We will deploy and test internally, but the partner mentions that there is not a reliable way to test for this scenario as there are no specific actions which cause the discrepancy between nodes every time ("It just happens periodically"). I'm certainly not trying to discredit the partne,r especially since they have much more experience with the Umbraco platform, I just don't see any documentation from your side calling out these shortcomings.
Lastly there is the thought that v8 may address these issues all together, but I have yet to find any documentation detailing technical changes in 8 vs 7 in regards to Azure Web Apps and Auto-Scaling. Hoping someone can provide some insight, deploying to VMs is quickly becoming a thing of the past and I hope the product is not chaining us to a legacy architecture. Any guidance here would be greatly appreciated, and calling out any updated documentation would be helpful as well.
I haven't worked too much with umbraco 8 yet but I assume it's the same as 7.
Take a look here. There is no issue with having scaling if it's correctly configured with machine-keys etc. https://our.umbraco.com/documentation/getting-started/setup/server-setup/load-balancing/
Yes, I've seen and reviewed this though it has not been updated. Do you have experience with Azure Web Apps and Umbraco 7 or 8? I'm really looking to see others experiences and if at all possible understand changes in 8 that may make scaling out more reliable in this scenario.
Yes, I have done it with Umbraco 7. It is no problem at all.
But how much load do you really have? I have very few cases where scaling out is necessary, scaling up usually is good enough.
Likely not enough load to warrant a lot of scaling. But we want to maintain two nodes minimum for redundancy. Did you experience any issues with changes from the back-office not being reflected on all nodes?
No, no issues with that as long as it's correctly configured with the machine-key and such.
How does the master scheduler get handled when auto/manual scaling? Does it get determined automatically, and the base/root node remains the scheduler?
The guidelines don't make it very clear and make it sound like an advanced option but you should always specify the master/scheduling servers explicitly as per:
https://our.umbraco.com/documentation/getting-started/setup/server-setup/load-balancing/flexible-advanced
Otherwise e.g. scheduled publishing and URL rewrites may not work (if the correct master server isn't selected).
Edit: With regard to scaling - the back office server shouldn't be scaled anyway as Umbraco doesn't support this, you need a separate instance to be the back office and a "scalable" instance that's separate; the back office should also be the "Master" server or the above issues are likely to occur.
is working on a reply...