Any reason not to share Azure Front Door between domains/environments? - azure

I am looking to implement Azure Front Door for multiple web applications and across multiple environments (dev/test/prod). Azure Front Door pricing is a fixed fee of $35/month for Standard tier plus data transfer costs. Within the Front Door instance you are able to create multiple endpoints with each mapped to its own custom domain and origin group. I tested this and I'm able to route two separate domains into Front Door and then each out to separate app services.
I could create a separate Front Door instance for each application and each environment, but is there any reason not to just use a single Front Door instance to take advantage of the fixed fee pricing?

Related

Add an Azure Application Registry to an existing Web App with custom domain

I have my Web App with an application in .NET. The Web App is up and running. In the configuration of the Web App, I set the custom domain and upload the certificate for the SSL.
The Web App is working as I expected.
Now, I like to protect more the Web App in particular for applying OWASP recommendation. So, I created a new Application Gateway. In the Configuration I selected WAF v2, Web application firewall as in the following screenshot
In the Backend polls, I selected the existing Web app.
Now, I was looking for the Custom domain but there is no option for it.
I would remove Application Gateway and instead use Azure Front Door (AFD) in front of App Service. Then restrict access to AppService traffic to only come from Front Door.
This brings you a couple of benefits:
You don't need to worry about scaling up or down, which can be hassle with AppGW. AFD is totally per-per-use.
WAF integrates nicely with AFD
AFD has built-in managed SSL certificates for free. You don't need to worry about renewals etc. You would just connect your custom domain to Front Door instead of AppService
If you don't want to use the Microsoft-managed certificate, you can of course also bring your own
Being a global service (i.e. not bound to any single Azure region), it sets you up for global failover / distribution if you want to add this later
You can restrict access to your AppService to only come from your AFD instance
With the upcoming Front Door Premium, you could even hide your AppService behind private endpoints if Access Restrictions are not good enough for your

Azure: Use App Gateway for Custom B2C Domain instead of Front Door

I have an Azure Front Door providing a custom domain for Azure AD B2C.
Is it possible to use an Azure Application Gateway for that purpose instead?
It seems like the main difference is just the global nature of FD, but I'm not sure if that's important to this scenario, or if there is anything else specific to the implementations of FD vs AGW that would make a difference.
While both Front Door and Application Gateway are layer 7 (HTTP/HTTPS) load balancers, the primary difference is that Front Door is a global service whereas Application Gateway is a regional service. While Front Door can load balance between your different scale units/clusters/stamp units across regions, Application Gateway allows you to load balance between your VMs/containers etc. that is within the scale unit.
Based on this question I suspect this answer is no, but there was no supporting reference and I'm wondering if the App Gateway also being an Azure service makes a difference.
You cannot onboard a custom domain in B2C without Azure Front Door.We can add custom domain to azure ad directly but adding custom domain to azure ad B2C tenant is not available directly.
You can submit your feedback here https://azure.microsoft.com/en-gb/feedback/

should I choose azure application gateway or load balancer or front door or traffic manager?

I have a SaaS web app developed with Angular 8 and Asp.net Core Web API. I have deployed web api to a azure web app and deployed angular front-end web app to another azure web app as well.
The users are from China and Australia and other countries. I want to have region load balance like Chinese users uses web app on china azure region and australian users use Australian azure region web app so that it has best performance. Azure SQL DB will be in one place (in australia).
In addition, i want to prevent attacking to web front app and web api like d-dos, web scraping and SQL injection. For web scraping, i want to add access rate limitation from one ip.
Can you please advise what service i should use? I saw the blog talking about azure application gateway, azure load balancer, azure front door and azure traffic manager. It is a bit confusing to me. I need a best practise based on my this real world scenario. Should I use one of the service or should I use multiple services?
Based on your requirement:
Since the Backend Resource is Web App, you can ignore Load balancer (Layer 4) where you can only add VMs or VMSS
Your another requirement is WAF, and it is only available in AFD and AppGW. But you can use Traffic Manager as first Tier Load balancing and have AppGW in the different regions to provide high resilience.
As you want users from specific country to reach nearest backend resource, it seems like, the best solution for you is AFD.
AFD is a global Load balancer. It has WAF capability. It can Cache the data and provide quicker responses(CDN functionality). AFD uses an intelligent probing mechanism, through which it chooses the endpoint which is closer to the client who is making the request.
Hope this helps.

azure front door - why do we need to add multiple backends to the backend pool

I'm a little confused about deployment architecture of Azure Front Door. for a backend pool, we can add multiple backends (typically from different regions),
such as:
myappbackendpool ->
appbackend-eastus.appservice.com
appbackend-westtus.appservice.com
appbackend-europ.appservice.com
my question is, as the Front Door will eventually be deployed globally, why do we need those "backends" from different regions? Any reasons for that except for the healthy/backup considerations?
Front Door is just a caching and Load balancing solution. What if you have only one App Service and if it fails then then entire service will be down.
Also , another important aspect is, POP servers are located throughout the world and if you deployed your App Service in different regions, then POP servers will choose the endpoint which is closest to it.

How can you make an Azure Logic App highly available across multiple regions?

How can you make an Azure Logic App highly available (HA), specifically across multiple regions?
Say we have two Logic Apps, one in North Europe, one in West Europe, just in case one region dies .... I know unlikely, but ...
So we have ...
https://prod-18.northeurope.logic.azure.com ... etc.
https://prod-12.westeurope.logic.azure.com ... etc.
I've looked at Traffic Manager, but it only offers ...
Cloud Service
App Service
App Service slot
Public IP ... checked this in case it could be the IP of the Logic, but TM only shows App Service's in the subscription
It is not possible to put Traffic Manager in front of the Logic App URLs as of today (the SSL certificates returned by the Logic Apps service would no longer match, and custom SSL certs are not supported yet).
As an alternative you can put API Management in front of your two Logic Apps. This would enable load balancing and failover between the two Logic Apps. Here are a few good links to learn about setting up Logic Apps + API Management:
https://channel9.msdn.com/Blogs/Microsoft-Integration/Protecting-Azure-Logic-Apps-using-Azure-API-Management
https://blogs.msdn.microsoft.com/mvpawardprogram/2017/02/21/protecting-azure-logic-apps/
Note that Logic Apps have native / built-in support inside the Azure API Management UX.

Resources