Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Staging
- These are recommendations. The team is free to do what they deem best.
- Overarching principle:
- * *Staging is where you validate the known-unknowns of your systems*
- * Known-unknowns:
- * interactions between various systems and edge cases
- * possible to write unit tests, but difficult, especially when UIs are involved
- * Unknown-unknowns:
- * e.g. traffic patterns, traffic loads etc.
- However:
- * expensive - manpower and money
- * will require investment to keep up to date
- * still need to generate data to test with
- Terraform + Kube means we can treat staging like cattle - easily destroy and remake.
- General Dev flow:
- Code -> Unit Test for basic cases and edge cases within an app -> test interactions between apps in Staging -> Prod
- Sometimes we use Staging for scale testing. If possible we try to do this in Prod, since completely replicating Staging to Prod is tricky.
- e.g. Prod testing in Pixel Serving was possible since losing a portion of traffic was deemed an acceptable trade off for speed.
- Donβt expect China services to have scale problems.
- Focus on:
- * Correctness
- * Reproducibility
- * Ease of adoption (POs)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement