Snowflake Environments
Each environment is hand-configured and unique. Nobody knows exactly what is running where. Configuration drift is constant.
9 minute read
Each environment is hand-configured and unique. Nobody knows exactly what is running where. Configuration drift is constant.
9 minute read
Servers are provisioned manually through UIs, making environment creation slow, error-prone, and unrepeatable.
8 minute read
Connection strings, API URLs, and feature flags are baked into the build, requiring a rebuild per environment and meaning the tested artifact is never what gets deployed.
8 minute read
Dev, staging, and production are configured differently, making “passed in staging” provide little confidence about production behavior.
8 minute read
Multiple teams share a single staging environment, creating contention, broken shared state, and unpredictable test results.
10 minute read
Code that behaves differently based on environment name (if env == ‘production’) is scattered throughout the codebase.
10 minute read
Build outputs are discarded and rebuilt for each environment. Production is not running the artifact that was tested.
3 minute read
Schema changes require downtime, lock tables, or leave the database in an unknown state when they fail mid-run.
4 minute read
Tests pass locally but fail in CI, or pass in CI but fail in staging. Environment differences cause unpredictable failures.
3 minute read
Test environments are a scarce, contended resource. Provisioning takes days and requires another team’s involvement.
3 minute read
New team members are unproductive for their first week. The setup guide is 50 steps long and always out of date.
3 minute read
The team cannot run the full regression suite on every change because resetting the test environment and database takes too long.
5 minute read
Deployments pass every pre-production check but break when they reach production.
3 minute read
Services holding in-memory state drop connections, lose sessions, or cause cache invalidation spikes on every redeployment.
3 minute read
Tests share mutable state in a common database. Results vary by run order, making failures unreliable signals of real bugs.
4 minute read
The pipeline fails, the developer reruns it without changing anything, and it passes.
3 minute read
Code that works in one developer’s environment fails in another, in CI, or in production. Environment differences make results unreproducible.
3 minute read