CloudServices/Working with the Cloud

From MozillaWiki
Jump to: navigation, search

Server Environments

What server endpoint should I use? Dev, Stage, Prod?

  • In early development 'Dev' servers and endpoints are recommended to simplify early development.
  • Anytime code lands on gaia, mozilla-central, or Nightly channels, we recommend using Production endpoints.
    • Production server stacks have security standards that protect PII and other exploits
    • Production servers has a defined process for deploy, testing, and updating servers.
    • Using the Production endpoint also reduces the need to update URLs in src code.

Don't cross the streams

Most of our server architecture is multi-tier. It's tempting to have Stage Server X use Prod Server Y. We do not recommend such crossing of environments as complexity grows. Here's an example of Firefox Accounts with Find My Device

env FxAccts-OAuth SimplePush Fmd-app
Dev Dev-OAuth Dev-Push Dev-FMD
Stage Stage-OAuth Stage-Push Stage-FMD
Prod Prod-OAuth Prod-Push Prod-FMD

Testing with the Cloud

We recommend writing mocks for client side code, however, testing against public servers can be especially useful locally. Tinderbox and RelEng servers do not allow tests to access the public internet. You can add tests that have external access following these guidelines.

QA/External_Tests