Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sandbox environments for development

Luong Vo
October 19, 2018

Sandbox environments for development

Luong Vo

October 19, 2018
Tweet

More Decks by Luong Vo

Other Decks in Programming

Transcript

  1. Problems - Our Staging is having many problems: - It

    is shared among all teams. - One broken changes could bring down the whole staging environment. - Staging is not actually a real staging.
  2. Staging Feature A (owned by team X) Feature B (owned

    by team Y) Feature C (rejected by BA, but not being cleaned up) Half of feature D (owned by team Z) Some random test codes (from unknown members) Blah blah ...
  3. Problems - Staging and Production diverses more and more -

    Testing on Staging doesn’t reflect the production environment. - Teams step on each other’s feet. - Staging is not reliable for business uses (demo / present / walkthrough, etc.) - Inconvenient deployment flow
  4. Solutions - Each team should have their own staging sandbox

    - There should be a pre-production environment
  5. Sandbox Engineering Sandbox Engagement Sandbox Partnership Aon sandbox/engineering-team sandbox/engagement-team sandbox/partnership-team-aon

    Sandbox Partnership AMP sandbox/partnership-team-amp Staging development Production master Feature A Feature B Feature C Smoke tests Manual tests Demo Present
  6. Sandbox isolation - Each sandbox is isolated. - They have

    their own: - Web endpoint - Web server, worker servers, rpc server and OCI server - Database (minimal version, only 2 mb) - Memcache server - Redis server - We don’t need to wait for CI
  7. Migration plan - Please register your team with Engineering team.

    - We’ll test the flow on some teams first (1 or 2 week). - Then, each team will manage their own sandboxes. - After that, the pre-production staging will be reseted to “development” branch. - Finally, a new pre-production cluster will be created.