we're currently setup with a dev, staging, and prod environments on aws. We're finding it hard to do QA properly, since often many commits happen in a short span of time, and are all included in a codepipeline build, which makes it hard to associate failures to a specific commit.
We were looking into spinning up one environment per feature branch, in a manner similar what this aws quickstart example is doing:
However, I'm finding it hard to justify spinning up our entire backend (which is huge) to test, in some cases, a single apigateway->lambda->dynamodb route. Furthermore, this can work for serverless services, but we also use elasticsearch server. In such a case, it doesn't even seem possible to spin an ES server just for testing a new feature branch. But if we point our feature branch to, say, staging's ES server, how do we make sure not to pollute it in case of bugs?
How do people usually go about solving this problem?