liveBook · Manning

Chapter 8: Control plane services and extensions

What you will learn in chapter 8 of Effective Platform Engineering

The introduction establishes the platform’s current control plane baseline and identifies services and extensions as the cluster-wide components still to be added.

After this chapter you will be able to

What it builds on

Section by section

Introduction

The introduction establishes the platform’s current control plane baseline and identifies services and extensions as the cluster-wide components still to be added.

Key terms: sandbox, production instance, Elastic Kubernetes Service (EKS), control plane, control plane services, control plane extensions, cluster-wide services

8.1 Value of services and extension domains for smaller teams

This section explains why a platform can start with one small team and how separating control plane services from extensions helps that team deliver to early customers.

Key terms: internal developer pool, platform team, team specialization, alpha customers, product management, feedback skills, domain boundaries, control plane applications, services, extensions

8.2 Value of services and extension domains for scaled platform delivery

This section distinguishes platform services from extensions and explains how that distinction guides delivery responsibilities as a platform grows.

Key terms: service, extension, Kubernetes API, developer experience, abstracted, Karpenter, node pools, release orchestration pipeline, organizational scaling, platform services

8.2.1 Which services or extensions should be a part of every platform from the start?

This section explains how to choose initial control plane services and extensions based on a platform’s needs, while identifying foundational capabilities and practices that support adoption and growth.

Key terms: stakeholders, outcomes, APIs, manual handoffs, software selection criteria, proof of concept, engineering platform infrastructure, operational observability, logs, metrics

8.3 Control plane services

This section proposes a simple starting point for deploying control plane services and extensions and explains why nonproduction environments should test production-like resilience.

Key terms: services, extensions, release pipelines, domain boundary, alpha teams, high-availability (HA), resilience, nonproduction environments, production-like behavior

8.3.1 Services pipeline orchestration

This section outlines how to deploy pinned control-plane services to each cluster with a Kubernetes-focused pipeline, configure and scan their Helm charts, and test that the services work.

Key terms: services pipeline, extensions pipeline, Helm, pinned version, Kubernetes API, set-environment, kubeconfig, pipeline service account, sandbox cluster, nightly job

8.4 Control plane extensions

Introduces common control plane extension categories and previews their treatment in the Epetech example.

8.4.1 Kubernetes storage classes

Explains why Epetech uses AWS-managed Kubernetes storage classes by default and when additional storage capabilities would count as control plane extensions.

Key terms: storage classes, control plane extensions, Kubernetes API, Elastic Block Store, Elastic File System

8.4.2 Service mesh

This section explains how a service mesh adds application-independent traffic capabilities and walks through deploying and testing Istio, cert-manager, and external-dns as platform extensions.

Key terms: service mesh, sidecar proxy servers, control plane, Kubernetes Gateway API, CNI, domains of change, zero-trust networking, Istio ingressgateway, external-dns, Route53

8.4.3 Using operators for persistent data platform capabilities

This section explains how operators can make common persistent data resources available through the Kubernetes API, and why infrastructure starter kits do not offer the same platform-service model.

Key terms: infrastructure operators, Kubernetes API, persistent data resources, Helm chart, operational lifecycle, operator pattern, traditional IaC, Terraform Operator, infrastructure starter kits, self-serve

8.5 Platform management APIs

The section explains how team-based authorization and lightweight management APIs can give developers self-service access to an engineering platform across its many systems.

Key terms: development team, authorization, team onboarding, team membership, authentication, source of truth, GitHub teams, OIDC integration, engineering platform customers, standard team namespaces

8.5.1 Managing teams and namespaces for early adopters

This section describes a temporary way to manage early-adopter teams and namespaces before the platform management API is ready.

Key terms: early-adopter teams, standard namespaces, customer management pipeline, management API, alpha stage

8.6 Summary

Where this is used later

Concepts explained in this chapter

← Chapter 7: Platform control plane foundations Chapter 9: Architecture changes to support scale →

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.