Cloud

Setting up a cloud landing zone before you migrate anything

The work you do before the first workload moves determines whether the rest of the migration is uneventful.

Key takeaways

  • Establish the landing zone before the first workload moves.
  • Separate environments and teams into their own accounts.
  • Guardrails must be enforced by policy, not documented as standards.
  • Federate identity and eliminate long-lived credentials from day one.

Why nothing should move first

The instinct on a migration is to demonstrate progress by moving something. Doing that before the account structure, network design and guardrails exist means retrofitting them later across live workloads, which is far harder.

Landing zone work feels like delay and is the reason the rest of the programme is boring.

Account and subscription structure

Separate environments and separate teams into their own accounts or subscriptions. This gives clean blast-radius boundaries, straightforward cost attribution and simpler permission models.

A single account containing production and development is the arrangement most likely to produce an incident that could not otherwise have happened.

Guardrails as code

  • Policy that prevents public storage buckets unless explicitly approved.
  • Mandatory tagging enforced at creation.
  • Region restrictions matching your data residency requirements.
  • Centralised, immutable logging that workload accounts cannot alter.
  • Baseline network segmentation with private subnets by default.

Guardrails enforced by policy hold. Guardrails documented in a standards page do not.

Identity before anything else

Federate to your existing identity provider rather than creating local users. Use short-lived credentials, require multi-factor authentication for anything privileged, and grant access through roles rather than to individuals.

Long-lived access keys in a repository remain one of the most common causes of cloud compromise, and they are entirely preventable at this stage.

Keeping the landing zone current

A landing zone is not a one-off deliverable. Provider services change, new account types are needed, and policies require adjustment as the estate grows.

Treat it as a product with a maintainer: version the configuration, review the guardrails periodically, and have a defined route for teams to request an exception rather than working around a policy quietly.

Exception requests are valuable signal. A guardrail that generates constant exceptions is either wrong or badly explained, and either way it should be revisited rather than endured.


Frequently asked questions

For a straightforward estate, a matter of weeks. Provider frameworks accelerate much of it. The variable is usually how long identity and network decisions take to agree internally.

Yes, but it is considerably more work. Moving live workloads between accounts, changing network layout and introducing tagging retrospectively all carry risk that greenfield setup does not.

A simplified version, yes. Even two or three accounts with enforced tagging, federated identity and centralised logging prevents most of the problems that make estates expensive later.

Working on this?

A conversation with our team, no charge and no obligation.

Book a conversation