Bedrock: Build a "catastrophic event" Firefox download page

Created on 26 Mar 2020  路  11Comments  路  Source: mozilla/bedrock

Description

In the event that we have a catastrophic failure that takes www.mozilla.org offline for an extended period, Cloudflare can serve a single multi-language page. We should design and deliver this page. The page should

  • let visitors in any language download firefox (direct download, most likely)
  • be branded
  • explain that the bigger website is unavailable for some reason

/firefox/all may be a good starting place for this.

@metadave, can you provide links to documentation about how this works on Cloudflare, so we can learn what constraints we may have?

Epic

All 11 comments

on the cloudflare side we'd be pointing it at a new origin that is most likely an s3 bucket with this static page/site, very much like our existing static sites like irlpodcast.org. Do you have any specific features you were curious about?

Well, with a requirement for localization, it would be good to know if the requests are handled by a server that can do content negotiation.

In times of emergency (and who knows what those may be in the world right now), I'd very much favor us building something static, that is both fast and simple (in terms of tech stack).

per a discussion w/ @pmac, we could probably catch all 5xx errors and use a custom Cloudflare error page. This way there wouldn't be any manual intervention needed by support folks.

edit: all credit for the idea goes to @pmac :-)

Thanks Dave. Was just coming here to post that link. I don't think in this situation we'll be able to do anything fancy with translation. It'd be best if we could include some translated text on the page in several of our top languages I think, but it should be a single static page IMO, and has to be that if we want to use the error pages thing that Dave linked.

If we finish #6857 and remove our server-side locale redirects then we could more reasonably host a static version of the full site that would work well enough in an emergency.

I've created a repo and place holder page for this. If we just build it there and host the page with Github Pages we can configure it in CloudFlare and be done :)

Repo: https://github.com/mozmeao/www-error-page

Page: https://mozmeao.github.io/www-error-page/

@hoosteeno Could we get a minimal version of https://www.mozilla.org/en-US/firefox/all/ to host in the www-error-page repo that @pmac setup above?

Okay. I've got a good first take on a minimal version of the /firefox/all/ page. PRs welcome.

https://mozmeao.github.io/www-error-page/

@alexgibson @hoosteeno the error page template above is too large according to cloud flare. Do you have ideas on what we could do to pare it down? Fewer languages perhaps? Maybe only the top 10 or 20?

There are a few questions we could answer, that might make it easier to choose what to do:

Where should we host the static content?

Options:
s3 bucket
cloudflare error pages (@pmac 's discovery seems to be, this won't work)
aws/gcp/azure instance (maybe it's enough to just have a deployable zip file + apache config that works, ansible/chef/puppet to deploy it?)

How should we protect the static content hosting?

Options:
Cloudflare
Cloudfront
Fastly
no-cdn (has $$$ and stability implications)

What should the switch to the page look like (during the scenario we're protecting against)?

Options:
Pre-deploy the content and CDN, make it so it's 'just' a dns switch of moz.org to that CDN.
Switch our existing CDN (cloudflare) to point at new backend. (having the magic error page in cloudflare is a variation on this).

I like the Switch our existing CDN (cloudflare) to point at new backend. option since it keeps our SSL setup the same. We'd just have to have the static site setup such that every URL get the same response and uses cache headers so that it can switch back quickly.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

pmac picture pmac  路  8Comments

hoosteeno picture hoosteeno  路  9Comments

amychurchwell picture amychurchwell  路  12Comments

alexgibson picture alexgibson  路  14Comments

amychurchwell picture amychurchwell  路  10Comments