Are there any cost advantages to hosting a static site on S3+Cloudfront when compared to other services?
My first thought when reading this blog was that you can get the same results by placing your static content in an Nginx docker container and pushing it to ECS or Triton.
The docker container tagging would also avoid the rollback limitations mentioned in the article.
AWS offers so many ways to accomplish the same things, it's hard to figure out which solution is the most cost effective.
In general if you can make your site static (just flat files), you should serve it from a CDN. It allows you to have edge locations closer to your users, and it gives you something which is (effectively) 100% reliable. You never have to do maintenance, never have to reboot instances or worry about scaling. It's faster, usually cheaper, and more reliable.
In terms of which CDN you should use, there are a few options. CloudFront has the most edge locations, Fastly and MaxCDN are more configurable. At Eager we use CloudFront for our app (https://eager.io), and Fastly (with a CloudFront fallback) for the static files we serve our users. One other note is that Fastly has some cheaper SSL options than CF, particularly if you need support for Windows XP clients.
It seems like this is designed as a s3_website replacement, with file revving? That sounds useful, I use jekyll and have to roll my own revving via weird customized jekyll plugins.
Take a look at the "Why You Need Stout" section near the top for an explanation of what it does. We started with a simple solution, and ended up building Stout to solve versioning and cache synchronization issues we were experiencing.
If you're interested in an option that guarantees atomic deploys and rollbacks across all files in a deploy (not just individual HTML files), handles instant cache invalidation (no 1 minute wait), and comes with built-in continuous deployment, checkout Netlify:
See the first link to Eager under "Why You Need Stout" to see what I mean, where the underline is hidden where there's a descender for "g".