Infrastructure, cloud & DevOps · Beginner

Environments: development, testing and production

In one line: Three environments built from the same definition, differing only in configuration and data — any other difference is a bug waiting to be found.

Why it matters

“It worked on my machine” is almost always an environment difference: a different version, a missing variable, an existing permission. When the environments are built from the same source, the differences shrink to configuration only.

What differs and what's identical

Identical: versions, structure, the deployment process, the database schema. Different: addresses, secrets, resource size, and data.

Production data isn't copied to test environments as-is. If realistic data is needed — mask it or generate synthetic data. That's both a privacy requirement and hygiene.

Ephemeral environments

An environment created for every change and deleted after the merge dramatically shortens reviews: you can see and not just imagine. It pays off from the second team member onward.

Going deeper

Manage the environments as code so an environment can be reproduced from scratch. The test: if all the servers were deleted this morning, how long would it take to rebuild everything? If the answer isn't known, this isn't infrastructure but a pile of manual actions that accumulated.