We compare the features and performance of AWS, Cloudflare, Firebase, Github and Azure serverless cloud platforms for static websites.
Key features of cloud platforms explained. We have tested all 5 clouds from a single application with an identical website to find out which one is the fastest. Find out which cloud is best for your next project by downloading YouDoCMS and run the tests.
AWS
|
|||||
---|---|---|---|---|---|
Free Plan | 12 Months | ||||
CDN | - | ||||
Custom Domain | 2 | ||||
DNS Registry | |||||
SSL Certificate | |||||
Data transfer | 1 TB/month | - | 360 MB/day | 100 GB/month | 100 GB/month |
Files Limit | 5GB | 20k | 10GB | 1GB | 5GB |
File Max SIze | n/a | 25MB | n/a | 50MB | n/a |
File Explorer | |||||
Pretty Urls | |||||
Proxy Pass | |||||
Storage | File | Object | Object | Object | File |
Validate Cache | |||||
Node CLI | |||||
Site Analytics | Logs | Free/Paid | None | Logs |
All of the cloud providers offer a generous free plan within the storage limits. AWS is the only provider which charges for storage however the fees are so low it's inconsequential. When considering which is the best free static website hosting plan file size, storage and traffic limits are more relevant. It's also worth remembering that time is not free and a simple install makes a difference.
AWS and Cloudflare are the only two platforms which currently offer a DNS registry, with Cloudflare offering this service at cost. An integrated DNS registry on a single platform simplifies the management of your static site. However all platforms offer custom domain so this feature is about simplicity and ease-of-use.
File size and storage are key differences between the platforms. Cloudflare is particularly restrictive with maximum file size and files limit. Similarly the storage mechanism makes a difference. AWS and Azure separate the CDN and storage which means you can export individual files with each deployment. Google, Cloudflare and Github use object storage which means you can only see the blob you deployed. Users who like to browse files and images may find this confusing.
AWS, Cloudflare and Google all provide a node.js CLI which is cross platform and easily installed with YouDoCMS. Azure and Github use a binary executable that needs to be downloaded and whilst simple enough on Windows. If you are a Macintosh user the installation requires additional steps. Managing your site through the platform dashboard is similar with the exception of Azure which has a comprehensive but confusing interface.
In our tests we replicated this website on all 5 hosts . Speed matters on mobile for example in the case of the BBC every 1 second delay loading resulted in 10% fewer visitors i.e. a higher bounce rate. In addition site analytics plays an important part. However for optimisation on mobile AWS CloudFront or Cloudflare are the best choice for speed and analytics.
All of the clouds excluding Github Pages support direct deployment from your local machine to the host via the CLI application. YouDoCMS supports building to localhost to preview and test your site before building to the host of your choice and deployment. Our system checks before deploying the site that the domain name matches the target cloud. On upload the CDN cache is cleared to refresh the content. Github uses the Git version control to synchronise to Github.
If you are used to the familiar web hosting control panels such as Plesk or cPanel then you will also be familiar with browsing the contents of your site via FTP when uploading the new content. We have all experienced using the website to store old content particularly old images. With a content management system this is not problem because this content is not linked and therefore unavailable via Joomla! or WordPress. AWS and Azure support file-based storage via buckets which is exactly the same as a control panel. However Cloudflare Firebase and Github are object-based therefore you cannot browse or update individual files. To update the site you have to do a new deployment.
All of the clouds excluding Github Pages support pretty URLs i.e. without the .html extension. Therefore if you intend to use Github Pages and your existing WordPress or Joomla! site is not using the .html suffix this can cause a problem with 404 URLs until your site is completely re-indexed by the search engines.
If you are using pretty URLs then the clouds manage these slightly differently. AWS and Cloudflare append a trailing slash on urls to a directory page via a 302 redirect whereas Google Azure do not. See URL routing.
AWS CloudFront and Azure both offer server logs included in the free plan. Cloudflare also supports logs (paid). YouDoCMS integrates with CloudFront to download and import the logs on demand. Server logs offer a number of benefits compared to JavaScript site analytics because they cannot be blocked by trackers in the browser. Server logs inc 404 errors occurring due to missing content for example when you update or rename a page. YouDoCMS includes automatic deployment of rewrite rules to avoid 404 errors from old non-existent url requests.
YouDoCMS includes server log analytics which is linked to your content to provide common metrics such as entry and exit pages, bounce rate, visitor geolocation and search engine crawl monitoring. AWS CloudFront and Azure both offer analysis via the server logs which means you do not need JavaScript tracking. Firebase is reliant upon Google analytics which can be blocked by browser extensions. However if you are an existing Google analytics user then Firebase is the best option. Cloudflare also provides JavaScript analytics (paid). See site analytics.
We compare the performance of AWS, Cloudflare, Firebase, Github and Azure. GTMetrix test results for our home page tested on 19/12/2022.
To create the tests we built this website using YouDoCMS and published an identical site to our live domain www and additional sub domains www3, www4, www5 and www6. We ran the standard GTMetrix test which includes the lighthouse score using the default Vancouver location.
Time in milliseconds
|
www
|
www5
|
www3
|
www6
|
www4
|
---|---|---|---|---|---|
Largest contentful paint | 460 | 393 | 468 | 1200 | 495 |
Time to first byte | 84 | 65 | 42 | 46 | 134 |
Time to interactive | 375 | 409 | 347 | 542 | 391 |
Fully Loaded | 460 | 689 | 468 | 1200 | 496 |
Largest Contentful Paint (LCP) measures how long it takes for the largest content element e.g. an image or heading text on your page to become visible. For a good user experience, aim for an LCP of 1.2 seconds or less. Time to first byte is amount of time from the start of the request to when we receive the first byte of the response. Lastly time to interactive is how long it takes for your page to become fully interactive.
The 2022 Web Almanac analysis of the performance of hosted content management systems shows that less than half of the tested CMS sites achieve a “good” LCP of under 2.5 seconds for desktop or mobile. YouDoCMS achieve a 100% lighthouse score whereas the average for a hosted content management system such as WordPress is 45%.
“Although not entirely free AWS offers the best balance of features, ease of use and value for money. Firebase is a good alternative if free hosting is essential.”
Paul Dennis
Developer