Register for the Cloud Engineering Summit 2021 Join us for this year's summit taking place on October 20!
Testing in production: it's gotten a bad rap. People seem to think it's all about irresponsible YOLO-ing and taking shortcuts around the sacred processes that you rely on to catch bugs in staging, before they make it to prod. Nice theory: completely wrong. Staging areas and controlled environments will never turn up the interesting bugs: that takes real data, real workloads, real concurrency and real chaos. In other words: production.
But it gets worse! Staging isn't harmless; it's a black hole for limited engineering cycles. By sinking time there you starve yourself of the cycles you should be using engineering tooling and guard rails for production.
Production is quite literally the only environment that matters, so every moment you spend working anywhere else is time spent absorbing the wrong instincts, running the wrong workflows, and gaining more false confidence in your code. Only production is production, and the only way to gain confidence in your code is to bake it in production over time and a range of workloads. So let's talk about how to do this responsibly -- without impacting your users — using tools ranging from capture/replay to canaries, production load testing to chaos engineering, and the instrumentation-based observability that must brace and validate every effort if you plan to sleep well at night.