C. one App Service plan per region
An App Service Environment (ASE, option B) is a premium Azure App Service hosting offering that provides fully isolated and dedicated environments for securely running App Service apps at high scale. While it does meet the requirements for App1, it's a costly option compared to the App Service plan (option C).
On the other hand, an App Service plan (option C) represents a set of compute resources that you allocate to host your apps. You can host multiple apps in the same App Service plan, sharing the resources and thereby reducing costs.
For App1, which is planned to have three instances in each of two regions, it would be more cost-effective to use a single App Service plan per region. This would allow the multiple App1 instances in each region to share the resources of the single App Service plan.
I would agree with "C". However the requirment states:
App1 has the following data requirements:
Each instance will write data to a data store in the same availability zone as the instance.
So I tend to go to "D" now.
differentiate between App instance and App service plan. in a single App service plan you can deploy 3 app instances , one per zone which will fulfill the requirememnts.
This approach provides the necessary resources for App1 while leveraging regional deployments for high availability and cost efficiency. By using a single App Service plan per region (East US and West Europe), you can host multiple instances of App1 within each region, benefiting from shared resources and reduced costs compared to having multiple App Service Environments (ASEs) or plans per availability zone. Additionally, App Service plans support Linux runtimes and can be integrated with Azure Key Vault for credential management. For load balancing and WAF, you can use Azure Front Door.
C. One App Service plan per region.
An App Service plan represents the collection of physical resources used to host your apps. All apps associated with a plan run on the same VM instances. By having one App Service plan per region, you can ensure that each instance of App1 runs in the same availability zone as its data store, as required.
Option A and B involving App Service Environment (ASE) would provide network isolation and improved scaling capabilities, but it comes with a significantly higher cost, which might not be necessary given the requirements of App1.
Option D, one App Service plan per availability zone, could lead to unnecessary complexity and potential increased costs, as each App Service plan is billed separately.
Therefore, option C is the most cost-effective solution that meets the requirements for App1. It allows for the necessary distribution of App1 instances across regions, while keeping the associated costs to a minimum.
One App service plan per region should be enough if Contoso has only one application App1 or Contoso does not want isolation of App1 and App2 traffic with each other. Ideally both should be isolated and hence two virtual networks per region - each for one app. So App1 having its own virtual network in this ideal scenario, One ASE per region is better option than one app service plan per region.
C. One App Service Plan per region. To be exact, the Basic App Service Plan offers up to 3 dedicated instances for your app to run.
https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#app-service-limits
In my opinion for two reasons:
- With Premium App Service App is enough in terms of zone redundant. It is offered in P2 and P3.
- Comparing prices with ASE that is Isolated. ASE in zone redundant is charged with nine instances as minimum regardless of using 3 instances. So it is much expensive. See this link in pricing section (Zone redundant App Service Environment v3): https://learn.microsoft.com/en-us/azure/app-service/environment/overview?source=recommendations
what about this requirement:
Connections to App1 must be active-active load balanced between instances.
can App Service Plan handle that or we would need ASE to handle this requirement? I am leaning towards Answer B
So if the answer is "App Service Plan per region" and there should be 6 instances and there are 2 regions, Can anybody tell me what is the reason to have 3 instances of the same Web App sitting on the same App Service Plan?
I have found the answer to my question. Some App Service Plans can be zone redundant. So I suppose the correct answer is C "Azure Service Plan per region"
In
https://learn.microsoft.com/en-us/azure/app-service/overview-hosting-plans#should-i-put-an-app-in-a-new-plan-or-an-existing-plan
Isolate your app into a new App Service plan when:
....
- The app needs resource in a different geographical region.
In
https://learn.microsoft.com/en-us/azure/app-service/manage-move-across-regions
App Service resources are region-specific and can't be moved across regions.
As per case study, data for one instance of App1 must be available to all instances of App1
So I would say B even if it's more expensive
I did think C initially, but am angling towards B now (not withstanding the cost requirement) The only additional thing that I would say should be considered should be the need for the data to be available to App1 across all regions and instances. App service plans are region specific. At https://learn.microsoft.com/en-us/azure/app-service/environment/overview#virtual-network-support its stated "If the App Service Environment virtual network is connected to another network, the apps in the App Service Environment can access resources in those extended networks." Does this not imply that the app can therefore access all data across all six instances? Not sure that having a separate app service plan in each region would allow that portion of the requirement stated
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
GarryK
Highly Voted 2 years, 2 months agoNotMeAnyWay
Highly Voted 1 year, 5 months agoSeMo0o0o0o
Most Recent 2 weeks, 6 days agoSnijdor
2 months, 1 week agocosmicT73
1 month, 2 weeks ago23169fd
5 months, 1 week agoChenn
7 months agoLazylinux
7 months, 1 week agoBShelat
11 months, 3 weeks agoziggy1117
11 months, 4 weeks agoxxavimr
1 year, 2 months agoLeocan
1 year, 2 months agoATLTennis
1 year, 3 months agoDarkeh
1 year, 3 months agoalexander_panfilenok
1 year, 5 months agoalexander_panfilenok
1 year, 5 months agojeanmi312
1 year, 7 months agoSedateBloggs
1 year, 7 months agocurtmcgirt
1 year, 8 months ago