Today I tried Azure Static Web Apps. The offer tries to enter the growing market of static (or rather said frontend) web development. It supports the major frontend frameworks like Vue, React, Angular and all static HTML/Javascript websites.
The pricing model starts with a free tier that includes:
The paid version (at 9$ per app) includes - still 100 GB Bandwidth ( 0.20$ per GB over that limit) - 5 Custom Domains - 2 GB Storage (0.50 GB per app)
The setup is pretty simple. I had to link my GitHub account and I was almost ready to deploy. First issue (at least to me) is that Azure requires unlimited access to all public and private repositories.
I see this is a problematic. AWS Amplify and other providers have the same issue. I am not sure on why such a level of permissions is required but, given that Cloudflare pages, Vercel and Netlify are able to offer permission per repository this should be possible for Microsoft Azure too.
For the continuous integration Azure Static Web Apps relies on a Github action to publish on push to Azure. This is the first time that I found this type of setup. Cloudflare pages, Vercel and Netlify use a different method that does not require a github action. I like less moving pieces but, generally, deployment worked fine with the action that is pre-set and commited by Azure.
Once you finish the first deployment you can add the custom domains (which involves some ALIAS and CNAME) setup on the DNS but nothing too difficult.
It seems that the Azure Static apps rely on their own edge network so speed is not an issue. Ping seems to be disabled by default but
I am not sure that I was served a local node or not. At sight I would say that is not faster than cloudflare that has really nodes everywhere.
A quick comparison with Cloudflare Pages:
Free Tier:
1 Build at a time
500 builds a month - Unlimited sites (!)
Unlimited requests - Unlimited bandwidth
Pro Version at 20$ a month adds:
5 Concurrent Builds
5000 builds per month
Business at 200$ a month:
20 concurrent builds
20,000 builds per month
In terms of pricing and features cloudflare wins. The unlimited bandwidth is important I think. In my personal experienceon Vercel a small website with moderated traffic somehow consumes 60GB of bandwidth. I think this has something to do with the way the bandwidth is calculated but I am very sceptical of limitations.
Also the unlimited sites is very convenient. If you run multiple websites (e.g. 9$) your cost will be 90$ on Azure and with several limitations.
Cloudflare pages interface is not sophisticated but much more user friendly than Azure Static Web Apps. Additionally, cloudflare does not charge per team member.
Vercel offers a free plan for hobby accounts only (no commercial activities) with 100GB bandwith limit and no limit on the number of sites.
The Business plan at 20$/month increased the bandwidth to 1TB a month but note that it doesn’t come with concurrent builds by default
(that has an extra fee of 50$ a month per concurrent build).
Where Vercel excels is the interface and setup (very easy to use) and build time being for me generally faster than cloudflare.
Under the hood Vercel uses AWS and Google Cloud Platform for their Edge network but even business accounts have limited notes vs Enteprise that benefit for a more extended network.
Vercel is still more convenient compared to Azure Static Web Apps because with 2 websites you already reach this price on Azure and you won’t have unlimited sites and a higher bandwidth (1TB vs 100GB per site on Azure).
This said if you have multiple team members the 20$ would be for each user.
I think Azure Static Web Apps is an excellent addition to other Jamstack / Static Apps providers. The interface is way better than Google Cloud Platform (hosting a static app there is a real headache) and even AWS Amplify I would say. Permissions to all Github repositories (including private ones) is a bit of a deal breaker for me and probably for other users. AWS Amplify is plagued by the same issue.
Azure Static Web Apps also offers the integration with Visual Studio IDE so I think for Azure clients this is an excellent addition.
Cloudflare pages remains the best provider in terms of value: there is also KV database, workers and many possibilities even for more complex apps. Similarly, Vercel offers an integration with Fauna and Severless functions are fairly easy to deploy.
This said, Azure Static Web Apps is a valid alternative, particularly for Azure clients and the Microsoft ecosystem.