Platform Engineering in Depth · The Cloud Native Landscape & Choosing Tools

The Cloud Native Landscape & Choosing Tools

Somewhere out there is a wall-sized map with two hundred logos on it, and the first time you see it you feel your stomach drop: am I supposed to know all of these? No. Nobody does, and nobody should. The real skill of a platform engineer is not memorising the map — it is learning to read it, to tell a battle-tested project from a weekend experiment, and to choose the handful of tools your platform will actually run, secure, and love. This page goes past the exam blueprint into the vast surrounding domain: what the CNCF is and why its neutrality matters, how the landscape is organised, how projects mature and are governed, how to evaluate one, and — the part that separates seniors from magpies — how to not adopt everything you touch.

☺ Explain it like I’m 10

Imagine the world’s biggest LEGO store, with a whole wall of bins — thousands of pieces. A little kid wants one of everything and ends up with a pile they can’t build with. A wise builder does the opposite: they pick a small, tidy set of pieces that snap together well, and they build something real. The CNCF landscape is that giant wall of bins. This lesson teaches you to shop like the wise builder — pick a few great pieces on purpose, and leave the rest on the shelf.

🦊🦫Your hosts for this topic: Foxy & Benny the Beaver — Foxy sniffs out the right questions to ask of any project (“who runs it? who pays the maintainers? what happens at 2am?”), and Benny weighs whether it’s actually worth building on. Together they turn a scary wall of logos into a short, defensible shopping list.

The CNCF: a neutral home for cloud native

☺ Like you’re 10: The CNCF is like a fair, grown-up referee who looks after shared toys so no single kid can grab them all and run away.

The Cloud Native Computing Foundation (CNCF) is a non-profit, part of the Linux Foundation, founded in 2015 when Google donated Kubernetes as its seed project. Its purpose is deceptively simple: to be a vendor-neutral home where important cloud native infrastructure software can live, be governed in the open, and outlive any one company. That last clause is the whole point. A platform you build today might run for a decade; the projects underneath it must be able to survive an acquisition, a layoff, or a founder losing interest.

What the CNCF actually is (and isn’t)

The CNCF hosts projects; it does not own them in the way a company owns a product. When a project joins, its trademark and assets move to the foundation, but the code stays open source (almost always Apache-2.0) and the maintainers keep steering it under an open governance model. The CNCF provides the neutral scaffolding around the code: legal and trademark stewardship, CI and infrastructure credits, marketing and events, security audits, mentorship programmes, and a services team. What it deliberately does not do is pick winners by fiat or hand control of a project to whichever member company pays the most. Membership dues fund the foundation; they do not buy technical direction.

Why vendor-neutrality matters for a platform

Neutrality is not idealism — it is risk management, and it is why the CNCF list is a sensible shortlist for platform builders. Because the trademark and governance sit with a neutral foundation, no single vendor can quietly relicense the project out from under you, bolt the good features behind a paid tier, or make you the hostage of their roadmap. If one company walks away, others can keep the lights on because the governance already spreads authority across organisations. Contrast that with a single-vendor open-source project whose licence can change overnight (the industry has watched exactly that happen more than once): the code is “open” right up until the moment it is business-inconvenient for the owner. A CNCF home is a structural promise that the rug is harder to pull.

◆ Key idea

“Is it a CNCF project?” is a useful first-pass filter, not a final answer. It tells you the project has open governance and neutral IP stewardship — a floor of safety. It does not tell you the project is mature, well-run, or right for you. Those you still have to check yourself (that’s the next few sections).

What the CNCF does beyond hosting code

Three CNCF outputs matter directly to your daily work. First, the Landscape — the giant map — which catalogues the ecosystem. Second, conformance and certification: the “Certified Kubernetes” programme guarantees that any distribution wearing the badge passes the same conformance tests, so your manifests are portable across clouds; and the human certifications (CKA, CKAD, CKS, and the platform-engineering CNPE this course targets) standardise skills. Third, community structure — KubeCon, the project maturity ladder, and the Technical Advisory Groups — that turns a pile of repos into a governed ecosystem you can reason about.

Reading the Cloud Native Landscape

☺ Like you’re 10: The map isn’t a to-do list of things to install. It’s a menu, sorted into sections like a restaurant — starters, mains, desserts — so you can find the kind of thing you need.

The CNCF Landscape looks terrifying because it shows the entire ecosystem — CNCF projects, member products, and non-member projects alike — all at once. The trick is to stop reading it as a list and start reading it as a set of layers and categories. Once you know the sections, you never scan the whole wall; you jump straight to the one bin you need and ignore the other 95%.

The four layers and the observability column

The landscape is organised as a stack of layers, each answering a different question, with observability running alongside all of them. From the bottom up: Provisioning (how do I create and secure the raw substrate — automation & configuration, container registries, key management, security & compliance), Runtime (what does a running workload need — container runtime, cloud native storage, cloud native networking), Orchestration & Management (how do many workloads cooperate — scheduling & orchestration, service discovery, service mesh, API gateways), and App Definition & Development (how do humans ship apps — databases, streaming & messaging, application definition & image build, CI/CD). Beside them all sits Observability & Analysis (monitoring, logging, tracing, chaos engineering, continuous optimisation), because you need to see into every layer.

App Definition & Development databases · messaging · image build · CI/CD Orchestration & Management scheduling · service discovery · mesh · API gateways Runtime container runtime · cloud native storage & networking Provisioning automation · registries · key management · security Observability & Analysis metrics · logs traces · costs Four layers of jobs · dozens of tools each · your platform picks a few, on purpose

The columns you actually navigate

Inside every category, each tool is a card, and the cards carry signal if you know how to read them. A coloured outline marks CNCF-hosted projects and their maturity (graduated, incubating, sandbox); other cards are member or non-member products. The interactive landscape lets you filter to “CNCF projects only,” to a single category, or to projects with a completed security audit — which instantly shrinks two hundred logos to a dozen. When you are choosing a component, you navigate to exactly one subcategory (say, “Continuous Integration & Delivery”), filter to graduated/incubating CNCF projects, and read those. That is the entire discipline of using the map.

Companion tools: Artifact Hub and the project list

The landscape tells you what exists; two siblings help you use it. Artifact Hub (itself a CNCF project) is the searchable index of installable cloud native packages — Helm charts, Kubernetes operators, OPA/Gatekeeper and Kyverno policies, Falco rules, Tekton tasks, KEDA scalers — so once you’ve chosen a project, you find the trustworthy way to install it there. And the plain CNCF project list shows every hosted project with its maturity level, which is the fastest way to answer “is this graduated?” without decoding card colours. Keep those two tabs open whenever you shop.

⚠ The map is not the territory

A logo on the landscape means the project exists and was submitted — nothing more. The landscape includes archived projects, single-commit experiments, and commercial products next to graduated infrastructure. Do not treat “it’s on the CNCF landscape” as an endorsement. The colour of the card (maturity) and the filters are the signal; the sheer presence of a logo is noise.

Project maturity & governance

☺ Like you’re 10: Projects grow up in three grades — like a kid moving from a learner’s bike with training wheels, to a real bike, to a motorcycle they can be trusted with on the highway.

The CNCF sorts hosted projects into three maturity levels, and the level is the single most useful piece of information on the whole map. It is set by the Technical Oversight Committee (TOC) — an elected body of senior engineers — after a due-diligence review, not by popularity or marketing. Reading the level correctly tells you how much you can lean on the project.

The bar rises at every step — adoption, governance & scrutiny all increase many projects enter the Sandbox · few reach Graduated Sandbox experimental · early no adoption promise Incubating real production use growing community Graduated mature · trusted security-audited e.g. Kubernetes, Prometheus, Argo

Sandbox → Incubating → Graduated

Sandbox is the entry point for early, promising, experimental projects. It signals “interesting, worth watching” — not “safe to build your platform on.” Sandbox projects can and do get archived; treat them as R&D. Incubating means the project has crossed a real bar: multiple independent adopters using it in production, a healthy flow of contributions from more than one organisation, and demonstrated stability. This is where most sensible production adoption of newer tools begins. Graduated is the top: mature, widely deployed, well-governed, security-audited, and effectively a safe default for its category — Kubernetes, Prometheus, Envoy, Argo, Cilium, Istio, containerd, Helm, and Linkerd all live here.

LevelWhat it signalsHow much to lean on it
SandboxEarly, experimental, promising. Adoption not guaranteed; may be archived.Prototype and evaluate only. Never on the critical path without a fallback plan.
IncubatingProven in production by several independent adopters; multi-org contributors; stable enough.Reasonable for production if you also do your own diligence. Many great platform tools sit here (e.g. Crossplane, Flux, OpenTelemetry’s newer signals).
GraduatedMature, widely adopted, open governance, completed security audit, sustainable community.Safe default for its category. The closest thing to a “boring, dependable” choice.

The TOC and the Technical Advisory Groups

Governance of the technical ecosystem runs through the TOC, which defines the maturity criteria, votes projects up the ladder, and sets ecosystem-wide technical policy. It is supported by Technical Advisory Groups (TAGs) — expert communities for domains such as security, observability, network, storage, and app delivery. TAGs do the deep work the TOC can’t do alone: they run reviews, publish white papers and reference guidance, and shepherd projects through due diligence. When you want a neutral, well-reasoned overview of a domain (say, the security TAG’s guidance on supply-chain security), the TAGs are a goldmine that most engineers never open.

The due-diligence & graduation process

Moving up a level is not a rubber stamp. To graduate, a project typically must show a diverse, sustainable community with committers from multiple organisations; a documented, open governance model and code of conduct; a public list of production ADOPTERS; an OpenSSF Best Practices Badge (the successor to the CII badge); and a completed independent third-party security audit whose findings have been addressed — all ratified by a TOC supermajority vote. That checklist is exactly the diligence you would want to do before betting your platform on something — which is why the CNCF level is such a useful shortcut: a graduated badge means a rigorous, public version of your own evaluation has already happened.

The signal you must not miss: archived

The ladder has a trapdoor. Projects that lose their community or are superseded get archived — the CNCF stops supporting them and the badge goes grey. If a tool you rely on is archived, that is a loud, explicit signal to plan your migration. Always check the current status on the project list, not a blog post from two years ago.

Evaluating a project for your platform

☺ Like you’re 10: Before you let a new toy into the house, you check: is it well-made, do other people trust it, is it safe, and can I get the batteries out later if I want to swap it?

CNCF maturity is a great first filter, but you will constantly weigh tools it doesn’t cover — a member’s product, a promising incubating project, two graduated tools in the same category. So platform engineers carry a mental scorecard. Foxy’s version has six lenses; run every candidate through all six before it earns a place on your golden path.

Maturity, adoption & community health

Start with the evidence that other serious teams depend on it. Read the ADOPTERS.md — real company names, not marketing logos — and look for adopters whose scale resembles yours. Then check community health: is the contributor base spread across multiple organisations, or does one vendor write 95% of the commits (a bus-factor and capture risk)? Is there a steady release cadence, or did the last release ship fourteen months ago? Are issues and pull requests triaged, or is the tracker a graveyard? A project can be technically brilliant and still be a bad bet if a single burned-out maintainer is holding it up.

# A five-minute “is this project actually alive?” smell test — run it before you adopt.

# 1. Release cadence — are they shipping, or has it stalled?
gh release list --repo some-org/some-project --limit 8

# 2. Contributor spread — one company, or many? (bus-factor & capture check)
gh api "repos/some-org/some-project/contributors?per_page=10" \
  | jq -r '.[] | "\(.contributions)\t\(.login)"'

# 3. Issue hygiene — do maintainers respond, or is it a ghost town?
gh issue list --repo some-org/some-project --state open --limit 5

# 4. Security posture — OpenSSF Scorecard runs automated best-practice checks
scorecard --repo=github.com/some-org/some-project --show-details

# 5. Who runs it in prod? Real names beat logos.
curl -s https://raw.githubusercontent.com/some-org/some-project/main/ADOPTERS.md

Governance, security posture & docs

Next, the trust surface. Governance: is there a written model, or does one company hold all the keys? Vendor-neutral governance is what lets a project survive its founder leaving. Security posture: has it had an independent audit; does it publish signed releases and an SBOM; does it have a clear, fast CVE-response process; what’s its OpenSSF Scorecard? (These themes connect directly to Security & Policy Enforcement and secrets management — you are, after all, adding this project’s code to your attack surface.) Finally, docs: can a new engineer get from zero to a running instance in an afternoon? Thin day-1 docs are a reliable predictor of painful day-2 operations.

Lock-in risk and the exit cost

The lens engineers forget is the way out. Before you adopt, ask how hard it would be to leave. Does the tool speak a standard interface (OpenTelemetry’s wire format, the Prometheus exposition format, standard Kubernetes APIs) so you could swap it for a competitor, or does it trap your data and config in a bespoke format? Proprietary formats, deep proprietary CRDs, and “all-in-one” platforms that own your whole workflow raise the exit cost enormously. You should be able to answer “if this project were archived next year, what’s our migration path?” before you commit — not during the incident.

LensGreen flagsRed flags
MaturityGraduated/incubating; years in productionSandbox on your critical path; pre-1.0 with breaking changes
CommunityMulti-org contributors; steady releases; triaged issuesSingle-vendor; stale releases; ignored issues
GovernanceNeutral foundation; written governance & CoCOne company controls the trademark and roadmap
SecurityAudit done; signed releases; SBOM; fast CVE responseNo audit; no security policy; slow disclosures
Docs & opsZero-to-running in an afternoon; upgrade guidesTribal knowledge; no upgrade path documented
Lock-inStandard APIs/formats; clear exitProprietary data format; “owns” your whole workflow

Build vs buy vs adopt

☺ Like you’re 10: You can bake the cake yourself, buy it from a bakery, or grab a free community recipe and bake it — each has a different price in money and in your time.

For every capability your platform needs — CI, secrets, a service mesh, cost visibility — you face three doors. Build your own. Buy a managed or commercial service. Or adopt an open-source (ideally CNCF) project and run it yourself. There is no universally right answer; there is only the right answer for this capability, for your team, right now. The mistake is picking a door by reflex — engineers reflexively build, budget-holders reflexively buy — instead of by analysis.

The three doors, honestly

Adopt (self-host OSS) gives you no licence fee, full control, and no vendor lock-in — but you own every upgrade, incident, and security patch forever. Buy (managed/commercial) converts operational burden into a predictable bill: someone else runs it at 2am, patches CVEs, and answers the pager — at the cost of money, some lock-in, and less control. Build is the rare right choice only when your need is genuinely unique and strategic; the moment an off-the-shelf project fits, building your own is usually the most expensive option once you count the years of maintenance you just signed up for. As a rule of thumb: adopt for commodity capabilities where a graduated project exists; buy where the operational burden is high and undifferentiated; build only for the sliver that is your actual competitive edge.

TCO and the “who runs it at 2am?” question

The single clarifying question that cuts through most build-vs-buy debates is: who gets paged at 2am when this breaks, and do we want it to be us? Self-hosting a database, a mesh, or a log pipeline means your team owns its worst nights. That can be absolutely worth it — control and cost savings are real — but only if you count the total cost of ownership, not the sticker price. Free-as-in-beer software still costs salaries: the engineer-hours to install, integrate, upgrade, secure, monitor, and debug it, plus the opportunity cost of what those engineers didn’t build for your developers. A $50k/year managed service that frees a platform engineer to pave golden paths is often cheaper than the “free” tool that quietly consumes a third of someone’s week.

DimensionAdopt (self-host OSS)Buy (managed/commercial)Build (in-house)
Up-front costLow (no licence)Medium (subscription)High (engineering time)
Ongoing burdenHigh — you run itLow — they run itHighest — you run and maintain it
Control & fitHighMediumTotal
Lock-inLow (esp. CNCF)Medium–HighLow, but you’re the sole vendor
Who’s paged at 2amYouThemYou (and only you understand it)
Best when…Commodity need; graduated project existsHigh undifferentiated ops burden; small teamGenuinely unique, strategic capability

These are the same trade-offs you’ll formalise in Best Practices & Operating Model and cost out in Platform FinOps; the decision itself belongs in an architecture decision record so the reasoning outlives the debate.

The true cost of a tool

☺ Like you’re 10: Getting a puppy is free at the shelter. Feeding it, walking it, and taking it to the vet for the next twelve years is the actual price. Tools are puppies.

The most expensive myth in platform engineering is that installing a tool is the cost. Installation is the cheap part — an afternoon with a Helm chart. The real bill arrives every day afterward, forever. Sol the Sloth calls it the maintenance tax: the ongoing, compounding, easy-to-ignore cost of keeping a thing alive.

Every tool is four ongoing jobs

The moment a tool enters production it silently signs you up for four permanent responsibilities. You must run it (capacity, availability, backups, the pager). You must secure it (patch its CVEs, rotate its credentials, scope its RBAC, keep it off the front page). You must upgrade it (track releases, read migration notes, test breaking changes, chase deprecated APIs). And you must monitor it (dashboards, alerts, SLOs — the tool that watches your platform now needs watching itself). None of these ever finish. A tool is not a purchase; it is an annuity you pay in engineer-hours.

The compounding cost of N tools

Here is the trap: those four jobs don’t add up — they multiply. Ten tools is not ten units of burden; it is ten upgrade treadmills running at different speeds, an integration surface where every pair can break, ten sets of CVEs, ten dashboards to keep honest, and ten mental models your on-call engineer must hold at 3am. Each new tool also raises the odds that something in your platform is mid-upgrade or mid-incident at any given moment. This is why a lean, well-run stack of eight tools routinely outperforms a “best of breed” menagerie of thirty: the small stack’s people actually understand what they run.

🦆 Dot’s-eye view

“I don’t see your tools and I don’t care how many you run. I see whether I can ship my feature and get a database without filing a ticket. Every hour your team spends nursing tool number twenty-nine is an hour you didn’t spend paving my golden path. Fewer, better tools — run well — is what actually reaches me.”

The hidden costs: churn, footprint & skills

Three costs hide inside the maintenance tax. Version churn: fast-moving projects with pre-1.0 CRDs can force you into migrations you didn’t schedule. Footprint: each tool drags in dependencies, controllers, and CRDs that widen your cluster’s attack and complexity surface. And skills: every tool is one more thing you must hire for, train on, write runbooks for, and lose institutional knowledge about when someone leaves. A tool your team half-understands is more dangerous than no tool at all — it fails in ways nobody can debug. Count these before you add the twelfth thing to your stack.

Avoiding tool sprawl

☺ Like you’re 10: A restaurant with a 300-item menu makes bad food slowly. A restaurant with 12 dishes it has perfected makes great food fast. Build the 12-dish platform.

Left unchecked, platforms accrete tools like a hoarder accretes newspapers — each one adopted for a good reason, none ever removed. The senior discipline is the opposite instinct: to curate. Your job is not to offer developers every tool on the landscape; it is to offer them a small set of paved, opinionated golden paths that just work.

The paradox of choice & cognitive load

More options do not empower developers; past a point they paralyse them. If every team must choose its own CI system, its own secrets tool, its own deploy mechanism, and its own observability stack, then every team re-solves the same problems, and none of it is interoperable or supportable. That is cognitive load the platform was supposed to remove. A golden path is a gift of subtraction: “here is the supported way to build, ship, and run a service — you don’t have to choose, and if you take this path, everything works and we support you.”

Opinionated defaults, not a buffet

The platform-engineering answer to sprawl is the thinnest viable platform with strong, opinionated defaults: one CI/CD path, one GitOps engine, one policy engine, one metrics stack, one mesh — chosen deliberately, documented, and secure by default. Developers can still go off-path when they truly must (the paved road is a default, not a prison), but off-path means they own the consequences and the support. Encode the chosen stack as GitOps-managed baseline so every cluster gets the same curated set automatically.

# platform-baseline — the opinionated stack every cluster gets, GitOps-managed.
# One curated choice per capability. No buffet, no snowflakes.
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: platform-baseline
  namespace: argocd
spec:
  generators:
    - list:
        elements:                          # one graduated/incubating tool per need
          - { cap: gitops,   chart: argo-cd }
          - { cap: policy,   chart: kyverno }
          - { cap: metrics,  chart: kube-prometheus-stack }   # Prometheus + Grafana
          - { cap: tracing,  chart: opentelemetry-collector } # → Jaeger backend
          - { cap: cost,     chart: opencost }
          - { cap: infra,    chart: crossplane }
  template:
    metadata: { name: 'baseline-{{cap}}' }
    spec:
      project: platform
      source:
        repoURL: https://github.com/acme/platform-config.git
        path: 'baseline/{{chart}}'
        targetRevision: main
      destination: { server: https://kubernetes.default.svc, namespace: platform-system }
      syncPolicy:
        automated: { prune: true, selfHeal: true }
        syncOptions: [ CreateNamespace=true ]

An intake process: adopt, trial, hold

Curation needs governance, or it decays back into sprawl. Run a lightweight tech-radar-style intake: any new tool must have an owner, a clear capability it fills (that isn’t already filled), and a review date — and just as importantly, adopting a new tool for a capability should mean sunsetting the old one, not running both. Two service meshes is not resilience; it’s double the tax. Keep the registry itself in Git so the decisions are visible and reviewable.

# platform-tech-radar.yaml — the team's curated tool registry, reviewed quarterly.
rings:
  adopt: "Default. Supported, documented, on the paved road."
  trial: "Being piloted by one team behind a flag — not yet a default."
  assess: "Worth a spike; no production use yet."
  hold:  "Start nothing new here; migrate off if you can."

tools:
  - name: Argo CD
    capability: gitops-delivery
    ring: adopt
    cncf: graduated
    owner: delivery-guild
    reviewed: 2026-05
  - name: Crossplane
    capability: infrastructure-apis
    ring: adopt
    cncf: incubating
    owner: platform-apis
    reviewed: 2026-05
  - name: Yet-Another-Mesh
    capability: service-mesh
    ring: hold            # we already run one mesh; a second is pure tax
    cncf: sandbox
    owner: null
    reviewed: 2026-06

Chasing shiny new tools with no owner and no exit plan is a classic anti-pattern — “resume-driven development” dressed up as progress. The cure is treating your platform as a product with a deliberate, curated surface area.

⚠ Resume-driven development

The most expensive sprawl is adopted for the wrong reason: because a tool is new, trendy, or good to have on a CV — not because it fills a real, unfilled need better than what you already run. Every tool must earn its place against the maintenance tax it imposes. “It’s the newest project in the category” is an argument against putting it on the critical path, not for it.

A guided tour of the categories that matter

☺ Like you’re 10: Now we walk the map one more time, but only stopping at the aisles a platform builder actually shops in — and pointing at the specific pieces this course teaches.

Most of the landscape is context, not shopping list. A platform engineer builds an internal developer platform, so only a handful of categories are your regular aisles. Here is the map re-drawn around this course’s five domains and the official CNPE tool list, so the giant landscape collapses into something you can hold in your head.

Landscape categories mapped to platform domains

Each course domain draws from one or two landscape categories, and each category has a small set of graduated/incubating projects worth knowing. Notice how few tools it actually takes to assemble a credible platform — the table below is essentially a complete, opinionated stack.

Course domainLandscape categoryCNPE-listed tools to know
GitOps & Continuous DeliveryApp Definition & Development → CI/CDArgo, Flux, Tekton, Flagger (progressive delivery)
Platform APIs & Self-ServiceAutomation & Configuration; App DefinitionCrossplane (infra APIs), Kubernetes CRDs & operators
Observability & OperationsObservability & AnalysisPrometheus, Grafana, OpenTelemetry, Jaeger, OpenCost
Platform Architecture & InfraRuntime; Orchestration & ManagementKubernetes, Istio / Linkerd (service mesh)
Security & Policy EnforcementProvisioning → Security & ComplianceOPA / Gatekeeper, Kyverno

The CNPE tool list, decoded

The exam’s example tools are not random — each is the graduated or well-established representative of exactly one platform capability, which is why they make a sensible default stack. Delivery: Argo and Flux reconcile Git to cluster; Tekton runs pipelines; Flagger automates canary/blue-green rollouts. Platform APIs: Crossplane turns cloud infrastructure into Kubernetes-native APIs your developers can self-serve. Observability: Prometheus scrapes metrics, Grafana visualises, OpenTelemetry is the vendor-neutral instrumentation standard, Jaeger stores traces, and OpenCost attributes spend. Networking: Istio and Linkerd provide the service mesh (mTLS, traffic shifting). Policy: OPA/Gatekeeper and Kyverno enforce guardrails as admission-time policy. Learn those fourteen and you can read almost any cloud native platform in the wild.

A starter golden-path stack

If you had to stand up a credible platform tomorrow, an entirely defensible opinionated stack — every piece graduated or incubating, every piece filling exactly one need — would be: Kubernetes as the substrate; Argo CD for GitOps delivery with Flagger for progressive rollouts; Crossplane for self-service infrastructure APIs; Prometheus + Grafana + OpenTelemetry + Jaeger for observability; OpenCost for cost; a single mesh (Istio or Linkerd); and Kyverno for policy. That is roughly a dozen tools — small enough to run well, complete enough to serve developers. The full catalogue lives in the Tool Landscape, and every term here is defined in the glossary.

◆ Key idea

The landscape has two hundred logos; a great platform runs about a dozen tools. The distance between those two numbers is the entire craft of this page: read the map, judge maturity, evaluate honestly, count the maintenance tax, and curate ruthlessly. Choosing not to adopt is the most senior move you can make.

🦊 Foxy’s field test · 20 min

Pick one capability your platform needs (say, a policy engine) and two candidate projects from the landscape. Open the CNCF project list and note each one’s maturity level. Then run Foxy’s six-lens scorecard: maturity, community health (contributor spread + release cadence via gh), governance, security (find the audit + OpenSSF Scorecard), docs (time yourself getting to a running instance), and lock-in (what’s the exit?). Write a one-paragraph recommendation — and, crucially, name what you’d sunset if you adopted the winner. You just did real platform-architecture work.

🎬 At the Platform Guild
🦊

Foxy: There are literally two hundred logos on this landscape. Do we… install all of them?

🦫

Benny: Ha — no. The map is a menu, not a shopping list. We pick one good tool per job. Read the card colour: graduated means grown-up and audited, sandbox means science experiment.

🐿️

Nutty: And we only add a tool if Dot actually needs the capability. Thinnest viable platform — start with what she struggles with, not with what’s trending.

👺

Gizmo: Boring! There’s a shiny new sandbox mesh with 900 GitHub stars this week. Just helm install all of them and let the teams pick favourites! 🤑

🦥

Sol: Slow… down. Every tool is four jobs forever — run it, secure it, upgrade it, watch it. Thirty tools isn’t thirty jobs, it’s thirty treadmills. Who patches your ninth mesh at 2am?

🐢

Timmy: And a sandbox project on the critical path is a breach waiting to happen — no audit, no promise it’ll exist next year. If we adopt a mesh, we adopt one, and we sunset the old one.

🦆

Dot: Honestly? I don’t see your tools. I see whether I can ship. Give me one paved path that works — please, not a buffet I have to assemble myself.

Read the map, not the panic. The CNCF gives you a neutral, governed catalogue and an honest maturity signal; your craft is to turn that catalogue into a small, curated, lovingly-run set of golden paths. Keep going: the Tool Landscape catalogues the specifics, Best Practices formalises the decisions, and Anti-Patterns shows what sprawl looks like when curation loses.

🐢 Timmy’s checkpoint

1. What does it mean that the CNCF is “vendor-neutral,” and why does that reduce your platform risk? 2. Name the three project maturity levels in order and what each signals about production readiness. 3. Give three of Foxy’s six evaluation lenses. 4. In build-vs-buy, what is the “who runs it at 2am?” question really asking? 5. Name the four ongoing jobs every adopted tool signs you up for. 6. What is the platform-engineering cure for tool sprawl?

Check your answers
  1. The project’s trademark and governance sit with a neutral foundation (the Linux Foundation), not a single company — so no vendor can relicense it, paywall it, or hold your platform hostage, and the project can survive any one company leaving. It’s a structural reduction of lock-in and abandonment risk.
  2. Sandbox (early/experimental — evaluate only), Incubating (proven in production by several adopters — reasonable with diligence), Graduated (mature, audited, widely adopted — a safe default).
  3. Any three of: maturity, community health & velocity, governance/vendor-neutrality, security posture, docs & operability, and lock-in/exit risk.
  4. Who owns the operational burden — the upgrades, patches, incidents, and pages — for the life of the tool. Self-hosting means your team owns its worst nights; buying moves that burden (and cost) to a vendor. It forces you to count total cost of ownership, not the sticker price.
  5. Run it, secure it, upgrade it, and monitor it — forever. That’s the maintenance tax, and it multiplies with every tool.
  6. Curate golden paths, not a buffet: a thinnest-viable platform with opinionated, supported defaults — one deliberate choice per capability — governed by a lightweight intake process that also sunsets what it replaces.