re: Should you have a staging server for testing? VIEW POST


I've always worked in environments where people tried to draw distinctions and I don't think it ever ended up well. There is no way around emergent behaviors in complicated software systems. The closer you are to the production environment the better. Better yet, just ship everything to production as safely as possible. That could mean feature flags, fast rollback, immutable infrastructure, or whatever else.

A good example of stuff that always breaks in production is data access. Usually in staging all access patterns fit in memory so everything is always fast. Then one day someone writes a query that goes past the memory limit and the index and working set no longer fit so you start going to disk and everything catches fire. There is no way to catch this anywhere other than production.

code of conduct - report abuse