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

[RULE] AppService - Deploy zone-redundant App Service Plan #2964

Closed
ReneHezser opened this issue Jul 1, 2024 · 5 comments · Fixed by #2984 or #2985
Closed

[RULE] AppService - Deploy zone-redundant App Service Plan #2964

ReneHezser opened this issue Jul 1, 2024 · 5 comments · Fixed by #2984 or #2985
Assignees
Labels
pillar: reliability Aligned to the Reliability pillar. rule: app-service Rules for App Service
Milestone

Comments

@ReneHezser
Copy link

Existing rule

No response

Suggested rule

An App Service Plan should be configured for multiple Availability Zones, as of Azure Reliability guidance.

Pillar

Reliability

Additional context

ASP-1 - Deploy zone-redundant App Service plans

@ReneHezser ReneHezser added Needs: Triage 🔍 rule The issue relates to a rule labels Jul 1, 2024
@BernieWhite BernieWhite added rule: app-service Rules for App Service pillar: reliability Aligned to the Reliability pillar. and removed rule The issue relates to a rule Needs: Triage 🔍 labels Jul 1, 2024
@BenjaminEngeset
Copy link
Contributor

BenjaminEngeset commented Jul 7, 2024

Since this is not available for all service plans, should we take that into consideration and run the rule body only against supported plans @BernieWhite?

Or should we have all to run the rule body, but fail if the plan does not support it, like we have done for some rules lately. With this option at least customers will be informed that their environments failed because of the plan they used.

@ReneHezser
Copy link
Author

My expectation would be to only execute on supported plans. Another rule can/should check and propose another plan for reliability, but that is up to the caller.

@BernieWhite
Copy link
Collaborator

Since this is not available for all service plans, should we take that into consideration and run the rule body only against supported plans @BernieWhite?

Or should we have all to run the rule body, but fail if the plan does not support it, like we have done for some rules lately. With this option at least customers will be informed that their environments failed because of the plan they used.

Good call out @BenjaminEngeset. The feedback historically has been that AZ + SKU check should be consolidated into a single rule.

i.e. If the region supports availability zones then they should either pass or fail based on if they are enabled or not.

Previously there has been confusion around "why is a rule not failing" for rule tests that choose a lower SKU.

Happy to take further feedback on it @ReneHezser if that is a hard preference.

@BenjaminEngeset
Copy link
Contributor

@BernieWhite @ReneHezser

Another question that comes to mind is whether we should ensure that the instance count is at least 3 to comply with zone redundancy requirements. To qualify for zone redundancy, maintaining a minimum of 3 instances is necessary.

It is possible to overwrite this instance configuration on a single app level by enabling perSiteScaling on the app service plan, but thats not related to this rule.

@BernieWhite
Copy link
Collaborator

@BernieWhite @ReneHezser

Another question that comes to mind is whether we should ensure that the instance count is at least 3 to comply with zone redundancy requirements. To qualify for zone redundancy, maintaining a minimum of 3 instances is necessary.

It is possible to overwrite this instance configuration on a single app level by enabling perSiteScaling on the app service plan, but thats not related to this rule.

Thanks for the call out @BenjaminEngeset. It's a great question.

I think maintaining 3 instances (or at least 2) as a minimum is a separate rule. We already have Azure.AppService.PlanInstanceCount so I think this is covered, but I will log an issue for a documentation update on that rule so that context about AZ can be added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pillar: reliability Aligned to the Reliability pillar. rule: app-service Rules for App Service
Projects
None yet
3 participants