Skip to content

Implementing the Platform

This section describes how a platform team implements the Managed Cloud Platform (MCP) in a new tenant, from the first workshop to the hand-over. It is written for the platform team: XMMS engineers who deliver the platform under a managed-service contract, or the customer's own engineers who implement it themselves (Operating models). Contract details such as workshop length, contacts and invoicing are not part of the product. They are written as placeholders and come from your contract or project plan.

An implementation builds, in this order, everything that the day-to-day pages in Platform assume:

  • the identities, groups, management group and subscriptions the platform needs,
  • the repositories and the pipelines that run on self-hosted agents,
  • the hub (the canary platform environment first, then prod),
  • one test spoke, and
  • the proof that all of this works, and a hand-over.

Phases

flowchart LR
    plan["1. Plan"] --> prepare["2. Prepare"] --> deploy["3. Deploy"] --> validate["4. Validate"] --> close["5. Closure"]
Phase Result Pages
1. Plan Signed-off scope, a workshop output (design document or discovery sheet), known stakeholders, an implementation plan, and a list of what the customer must arrange Plan, Prerequisites, Discovery output to deployment input
2. Prepare Identities, groups and permissions in place, repositories created, state storage ready, pipelines and agents prepared Identity, Repositories, Pipelines and agents, GitHub variant, Spoke pipeline, Spoke integrations, Module source access
3. Deploy Job runners, the mcp image, the hub in canary and prod, and a first spoke Deploy the platform, Deploy the spoke canvas
4. Validate A second person has checked the result against a checklist and recorded it Validate
5. Closure Technical hand-over held, delivery accepted, next steps agreed Hand-over and reporting

Two more pages cover work that sits beside a new implementation:

I want to… Read
Move spokes or hubs from an older platform version or from bicep-based spokes Migrating from an older platform version
Remove a demo, test or failed deployment, or redeploy from scratch Cleaning up a demo or test deployment

How the implementation relates to the deploy flow

The platform deploy flow describes the technical order: infrastructure, container, hub, spokes. The implementation adds what must exist before that order can start (the prepare phase) and what you do after it (validate and hand over). Where a page here and a page in Platform overlap, this section gives the sequence and the checklists, and the other page gives the details.

Roles in an implementation

Role Responsibility
Engagement lead Runs the meetings and the progress and risk reports. Owns the plan.
Architect Translates the customer's input into values the deployment engineer can use. Talks to the customer about configuration choices.
Deployment engineer Performs the preparation and the deployments from the delivered input.
Second person Validates the deployment. A different person than the deployment engineer.
Customer counterparts Typically an Azure architect, a network engineer, a DevOps engineer, an Azure engineer, a security specialist and a project or delivery manager. They arrange the prerequisites and approve the design.

In the self-managed model one team fills several of these roles. Keep the second person separate where you can: the four-eyes principle applies to the implementation as well.

Skills the deployment engineer needs

Area Skill
Infrastructure as code Terraform and *.tfvars files; PowerShell scripting at a basic level
Life-cycle management Azure DevOps (repositories, pipelines, variable groups, project settings, agent pools, service connections) or GitHub (Actions, environments, apps, rulesets); Git
Cloud Azure infrastructure, landing zones and the Cloud Adoption Framework
Identity Microsoft Entra ID: groups, service principals, roles, administrative units, PIM

Operating-model notes

  • Managed (XMMS): the platform team works in the customer's tenant, usually as guest users, through a group with eligible (PIM) access. The customer arranges the prerequisites before the preparation starts.
  • Self-managed: the same steps apply, but your own team holds the roles and the customer-side prerequisites are internal ones (for example your cloud platform owner arranging subscriptions and groups). At the end, the day-one checklist lists what to set to your own values.