Environment Strategy
On this page
Environment Is a First-Class Concern
Local development hides many production realities: real traffic, hostile inputs, constrained memory, noisy neighbors, and secret management. Deployment begins by clearly separating environments and making configuration explicit.
Environment Variables
Use environment variables for configuration, not hardcoded values. This includes database URLs, JWT secrets, API keys, and feature flags.
PORT=3000 DATABASE_URL=postgres://... JWT_SECRET=supersecret NODE_ENV=production
NODE_ENV Implications
Production mode should disable verbose logs, enable performance optimizations, and enforce stricter error handling. Never rely on development defaults in production.
Secrets Management
- Never commit secrets to source control
- Rotate secrets periodically
- Restrict access by role
Production Rule
If configuration differs between environments, document it. Surprises during deploys are usually configuration mismatches, not code bugs.