Learning objectives
By the end of this module, you should be able to:
- Define platform capability SLOs and distinguish application, platform-capability and shared-infrastructure incidents.
- Design an intake, prioritization, roadmap, support and on-call operating model for the platform team.
- Use adoption, task success, stakeholder evidence, funding constraints and deprecation signals to evolve the platform responsibly.
The platform has its own SLOs
If repository creation, environment provisioning or deployment orchestration is unreliable, the platform becomes a delivery dependency. Measure availability, latency and failure modes for the capabilities developers rely on.
Adoption without outcome is weak evidence
High portal traffic may coexist with ticket-heavy work. Combine adoption with completion rate, lead time, retry rate, support escalation and developer feedback.
Platforms accumulate consumers
A template/API version cannot be changed as casually after many teams depend on it. Track consumers, announce deprecations, provide migrations and observe adoption before removing old paths.
Day-2 ownership must be explicit
Golden-path services create shared dependencies. Define who is paged when repository creation fails, when the GitOps control plane is degraded, when a shared cluster is unhealthy, and when only one application is broken. Platform teams should own the capabilities they provide, with documented escalation into infrastructure or application owners when the fault domain changes.
- Application incident → application owner
- Platform capability incident → platform on-call
- Shared infrastructure incident → infrastructure/platform escalation
- Cross-boundary incident → explicit handoff with evidence
Platform team operating model: intake, roadmap and stakeholder feedback
A platform team needs a visible intake mechanism, prioritization criteria, capacity for reliability work, and a roadmap tied to developer outcomes. Stakeholder demand, support volume, platform SLOs and adoption evidence should influence funding and sequencing; the loudest request should not automatically win.
Team boundaries matter as much as tooling
Stream-aligned application teams should own their services. The platform team provides reusable paved-road capabilities. Enabling or specialist teams can help teams adopt new practices or supply deep expertise. The names are less important than clear ownership, collaboration modes and avoiding a permanent ticket-based dependency on the platform team.
Field note — AI/LLM and GPU workloads extend the platform contract
AI workloads can add accelerator scheduling, model/artifact registries, inference endpoints, quota and cost controls, data/model provenance, and specialized observability. These are emerging platform capabilities, not a replacement for the core product principles in this course. Treat them as an extension after the general workload contract is sound.
Worked example
Platform product metrics
request success rate · provisioning p95 · self-service completion · support escalation · golden-path adoption · developer feedback
- Operational and product signals need to be read together.
- A platform can be technically available while still failing the developer workflow.
Core lab · account-free
Lab 11 — Evaluate a platform capability SLO
Goal: Calculate success rate and identify whether a product target is met.
Before you start
- No cloud account required.
- Core lab uses bash/Python 3 and local files only.
STEP 1Create measurements
cat > /tmp/platform-slo.json <<'EOF'
{"requests":1000,"successes":985,"target":0.99,"median_minutes":3,"p95_minutes":11,"support_escalations":18}
EOF
STEP 2Evaluate target
python3 - <<'PY2'
import json
x=json.load(open('/tmp/platform-slo.json'))
rate=x['successes']/x['requests']
print(f'success={rate:.2%} target={x["target"]:.2%}')
assert rate < x['target']
assert x['p95_minutes'] >= x['median_minutes']
print('SLO miss detected')
PY2
STEP 3Form a product hypothesis
Use failure/escalation evidence to choose one platform improvement rather than adding an unrelated feature.
STEP 4Map incident ownership
For three failures—one application error, one GitOps control-plane outage and one shared-cluster outage—write the primary pager, escalation target and evidence required at handoff.
Verify
- The 98.5% success rate is correctly identified as below the 99% target.
- An improvement hypothesis references observed failure/escalation evidence.
- Each incident class has an explicit primary owner and escalation boundary.
Expected outcome
- A product/reliability decision based on platform telemetry.
Diagnose / troubleshoot
- If availability is high but support escalations rise, inspect task quality and error messages.
- If old interface usage remains high, do not remove it until migration blockers are understood.
Real-world connectionPlatform teams need the same reliability and product feedback discipline they ask application teams to adopt.
Real-tool practicum · optional but recommended
Optional tool lab — platform telemetry review
Review platform capability telemetry and turn it into an on-call/roadmap decision rather than a dashboard-only exercise.
Prerequisites
- Use a disposable local lab or organization-approved sandbox.
- Pin tool versions in real platform automation; do not blindly depend on latest.
Cost / risk
- Core learning is account-free. Optional external/sandbox tools may consume local CPU/RAM; do not use production credentials or billable cloud resources.
Warnings
- Do not point training automation at production clusters, repositories or cloud accounts.
- A successful command is not proof of a good platform interface; validate the developer outcome and guardrails.
TOOL 1printf '%s
' 'platform_request_success_rate' 'platform_request_duration_seconds' 'platform_request_failures_total{reason=...}' 'platform_capability_users'
TOOL 2printf '%s
' 'application incident -> app team' 'platform capability incident -> platform on-call' 'shared infrastructure incident -> platform/infra escalation'
TOOL 3printf '%s
' 'intake -> prioritize -> roadmap -> deliver -> observe -> feedback -> deprecate'
Avoid these traps
Common mistakes
- Calling portal page views “platform adoption.”
- Deprecating interfaces without tracking consumers.
- Treating platform incidents as someone else’s application problem.
- Leaving platform capability incidents without an on-call owner.
- Funding only feature delivery while platform reliability/support debt grows.
- Treating every developer request as bespoke roadmap work instead of product discovery evidence.
Knowledge check
Can you connect the developer need to a platform contract?
Three concept checks plus one scenario check.
1Why does an internal platform need SLOs?
It is a dependency in delivery workflows, so its reliability and latency affect developer outcomes.
2Why combine adoption with task-success metrics?
Usage alone does not prove that developers complete work efficiently or without support.
3What is required before removing a platform API/template version?
Known consumers, deprecation communication, migration path and evidence that migration is complete or acceptable.
4Scenario: portal visits double but environment tickets also double. Is adoption automatically a success?
No. Investigate self-service completion, failure reasons and why users still require manual support.