• Staging environments help you validate the known-unknowns of your systems. Having good tests is not an alternative to staging environments. You must invest time & effort in a proper staging rollout across the company.
  • Your entire engineering team should have a consistent & homogenous deployment pipeline and runtime platform. This consistency will help with disaster recovery if and when it happens.
  • You should match staging & production as closely as possible. Use the same load balancers, security group settings, and deployment tooling.
  • Use a tool that allows teams to roll back the last deployment. No one’s work should be blocked by someone else’s bug.
  • Try to replicate production traffic loads & patterns as much as possible ion staging environments. The staging environment should be at proportionally the same scale as production. Avoid under-provisioning.

Full post here, 12 mins read