What you will learn in Platform Engineering on Kubernetes
Chapter by chapter
Concepts explained in this book
- contractA platform API is an interface that exposes platform-provided capabilities and workflows to application services or their automation.
- deployment pipelineAn automated sequence of activities that moves software changes toward release and deployment.
- environment pipelineAn environment pipeline is an automated workflow that promotes application versions through environments for testing, validation, and deployment.
- CrossplaneCrossplane is an open-source Kubernetes extension for provisioning and managing infrastructure and cloud services through Kubernetes APIs and declarative resources.
- Crossplane compositionA Crossplane composition is a declarative Crossplane pattern that combines multiple managed resources and configuration into a higher-level infrastructure resource.
- deployment frequencyDeployment frequency is the rate at which an organization deploys software changes to production or other target environments.
- cloud computingA platform is an integrated set of tools, services, workflows, and interfaces that enables teams to consume organizational capabilities through self-service.
- Argo RolloutsThe Argo Rollouts controller is a Kubernetes control-loop component that manages Rollout resources and their application replicas.
- platform engineeringPlatform engineering is the discipline of designing and operating internal platforms that provide reusable capabilities and streamlined workflows for software delivery teams.
- KnativeKnative Serving is the Knative component that provides deployment, revision, networking, and traffic-management capabilities for serverless workloads on Kubernetes.
- canary deploymentA canary release is a deployment technique that gradually routes live traffic to a new software version while retaining traffic on a stable version for early validation and rollback.
- CDEventsCDEvents is an open specification for interoperable events representing activities in software delivery and continuous integration and delivery.
- environmentAn environment is a distinct deployment context in which an application and its supporting resources run.
- walking skeletonA walking skeleton is a minimal but end-to-end cloud-native application that demonstrates integrated architecture and delivery capabilities.
- DaprDapr is an open-source runtime that provides portable building blocks for communication, state, pub/sub, and other concerns in distributed applications.
- composite resource definitionA Crossplane Composite Resource Definition is an API definition that exposes a composite resource type, its schema, and the interface that compositions implement.
- KubernetesA Kubernetes cluster is a group of machines or containerized nodes running Kubernetes to provide coordinated container orchestration.
- blue-green deploymentA blue/green deployment runs an existing version and a replacement version separately, allowing traffic to be switched between them after validating the replacement.
- infrastructure resourceApplication infrastructure is the set of supporting software components and services required by application services, distinct from the underlying infrastructure that runs them.
- cloud-native architectureA cloud-native application is software designed to run using cloud-oriented infrastructure and operational practices, commonly with independently deployable services.
- feature flagA feature flag is a runtime-controlled configuration mechanism that enables or disables application functionality without changing or restarting the application.
- Knative ServiceA Knative Service is a Kubernetes resource that defines and manages the deployment, networking, revision history, and autoscaling of a containerized application service.
- pipeline engineA pipeline engine is software that defines, executes, and coordinates automated stages for building, testing, packaging, or delivering software.
- client libraryA client library is a software library that provides application code with programmatic access to an external service or system.
- repositoryA Git repository is a version-controlled storage location containing project files and their revision history.
- pipelineA workflow is an organized sequence of activities and practices for accomplishing a software delivery or operational objective.
- experimentationA/B testing is a technique that compares alternative versions of an application or feature by exposing different user groups to each version and measuring their outcomes.
- Kubernetes DeploymentA Kubernetes Deployment is a resource that declares and maintains a desired number of replicated application instances and their container configuration.
- DaggerDagger is a programmable, portable engine for defining and executing software delivery pipelines using containerized tasks.
- Helm chartA Helm chart is a package of templated Kubernetes resource definitions and metadata for installing an application or service.
- TektonTekton is an open-source Kubernetes-native framework for defining and executing continuous integration and delivery tasks and pipelines.
- GitOpsGitOps is an operational model in which versioned declarative configuration is the source of truth and software agents automatically apply and reconcile it.
- software artifactA software artifact is a produced, versioned deliverable such as a package, image, binary, or deployment manifest.
- release strategyA release strategy is a planned method for introducing application versions to users or environments, including the timing and scope of rollout.
- data transformationA transformation function is a function that maps an incoming event into a different event representation, optionally enriching its data.
- DORAA DORA metric is a software delivery performance measure from the DORA research program, including delivery speed, throughput, and stability dimensions.
- Kubernetes manifestA Kubernetes manifest is a declarative configuration document that describes Kubernetes resources and their desired state.
- replicaA replica is an additional running instance of a service or application component that provides redundancy and capacity.
- ArgoArgo CD is a declarative continuous delivery tool that synchronizes application and infrastructure configuration from Git repositories to Kubernetes clusters.
- OpenFeatureOpenFeature is an open standard and API for consuming and evaluating feature flags independently of the underlying provider.
- Crossplane Helm providerThe Crossplane Helm provider is a Crossplane provider that manages Helm chart installations as infrastructure resources.
- capabilityA platform capability is a platform-provided function that abstracts infrastructure or operational complexity behind a simpler developer-facing interface.
- HelmHelm is a package manager for Kubernetes applications that packages, configures, and manages deployments through charts and releases.
- Knative RevisionA Knative Revision is an immutable version of a Knative Service configuration to which traffic can be routed.
- rollout resourceA Rollout resource is an Argo Rollouts custom resource that declares an application version and the strategy for progressing it through deployment.
- dapr building block APIThe Dapr components API is the programmatic interface for interacting with configured Dapr components such as state stores and PubSub systems.
- serviceA Kubernetes Service is a stable network endpoint that exposes a set of Kubernetes workload instances to other clients inside a cluster.
- engineering platform teamA platform team is an organizational team responsible for defining, building, and maintaining an internal developer platform.
- trunk-based developmentTrunk-based development is a source-control practice in which the main branch remains continuously releasable through small, validated changes and short-lived feature branches.
- Dapr state store componentA Dapr state store component is a pluggable component that provides key-value state management through Dapr APIs and an underlying storage system.
- multi-cloud deploymentA multi-cloud strategy is an approach for using or operating across services and infrastructure from multiple cloud providers.
- Kubernetes resourceA Kubernetes resource is an API object that declares the desired configuration or state of a workload, service, or cluster capability.
- OpenFeature SDKThe OpenFeature SDK is a software development kit that provides client components for consuming and evaluating feature flags through OpenFeature.
- Kubernetes extensionA Kubernetes extension is an organization-specific addition that expands Kubernetes to address challenges beyond its built-in capabilities.
- header-based routingHeader-based routing directs requests to a specific application version according to a designated HTTP request header.
- service communicationA service-to-service interaction is communication in which one independently deployable service requests or sends data to another service.
- event sourceAn event source is a component that produces events and exposes them for delivery to event consumers.
- traffic splittingPercentage-based traffic splitting distributes requests among application versions according to configured traffic percentages.
- Knative EventingKnative Eventing is a Kubernetes-based eventing system for connecting event producers and consumers through event-driven resources and delivery mechanisms.
- Kubernetes API server event sourceAPIServerSource is a Knative Eventing resource that emits CloudEvents from events observed through the Kubernetes API server.
- asynchronous programmingAsynchronous processing handles work independently of event arrival so producers do not wait for processing to complete.
- vclustervcluster is an open-source tool for creating virtual Kubernetes clusters within a host Kubernetes cluster.
- environment resourceAn environment resource is a declarative platform resource that represents a request for a particular provisioned environment and its configuration.
- stateApplication state is the data that represents an application's current condition and must persist across requests or component executions.
- lead timeLead time for change is the elapsed time from producing a software change to making it available to live customers.
- composite resourceA Crossplane composite resource is a higher-level Kubernetes API resource that represents a composed infrastructure capability backed by underlying managed resources.
- tag-based routingTag-based routing directs requests to a specific Knative revision through a tag-associated URL or routing rule.
- Crossplane providerThe Crossplane GCP provider is a Crossplane provider package that manages Google Cloud Platform resources through Kubernetes APIs.
- databaseA database is an organized data store that supports persistent storage and retrieval of application data.
- Tekton taskA Tekton task is a reusable definition of container-based steps executed to perform a unit of work in a Tekton pipeline.
- Kubernetes APIThe Kubernetes API is the programmatic interface through which Kubernetes resources and cluster behavior are defined and managed.
- resilienceResilience is the ability of an application or service to continue providing useful functionality despite failures in its components or dependencies.
- distributed systemA distributed system is a computing system whose functionality is divided among independently operating services that communicate across process or network boundaries.
- Dapr pubsub componentA Dapr pubsub component is a Dapr component that provides asynchronous message publication and consumption through a messaging backend.
- Dapr resiliency policyA Dapr resiliency policy is a declarative rule for applying failure-handling behavior to Dapr-mediated service and infrastructure interactions.
- driftConfiguration drift is the divergence between the declared configuration of a system and the configuration actually running in that system.
- ingress objectA Kubernetes Ingress is a resource that defines routing for traffic entering a cluster from external clients toward internal services.
- pull requestA pull request is a source-control request for other developers or automation to review and merge a proposed change into a target branch.
- Kindkind is a tool that runs Kubernetes clusters using Docker containers, primarily for local development and testing.
- Kubernetes SecretA Kubernetes Secret is a resource for storing sensitive configuration data with access intended to be protected.
- multitenancyMulti-tenancy is an architecture in which multiple tenants share underlying infrastructure while maintaining controlled separation of resources and access.
- cloud providerA cloud provider is a service provider that supplies on-demand computing, storage, networking, and related infrastructure resources.
- command-line interfaceA software interface operated through textual commands in an operating-system terminal.
- Argo CD applicationAn Argo CD application is a declarative Argo CD resource that associates source configuration with a destination cluster and synchronizes Kubernetes resources.
- namespaceA Kubernetes namespace is a logical scope that isolates and organizes namespaced resources within a cluster.
- scalabilityScaling is the process of increasing or decreasing the capacity or number of running service instances to match workload needs.
- abstractionAn infrastructure abstraction is a simplified interface that hides the implementation details of underlying infrastructure resources.
- package repositoryA package repository is a service that hosts, indexes, and controls access to packages for producers and consumers.
- template engineA templating engine is software that generates concrete configuration files by substituting parameters into reusable resource definitions.
- self-serviceA self-service capability lets development teams provision, configure, or operate platform resources without direct intervention from platform engineers.
- pipeline definitionA pipeline definition is a declarative or procedural specification of the tasks, sequence, parameters, and expected outputs of a pipeline.
- pipeline instanceA pipeline instance is one execution of a pipeline definition with a particular set of parameters and resulting state.
- ReplicaSetA ReplicaSet is a Kubernetes resource controller that maintains a specified number of matching pod instances.
- pipeline executionA pipeline execution is one run of an automated software delivery pipeline with its steps, parameters, status, logs, and produced artifacts.
- service discoveryService discovery is the mechanism by which services locate and communicate with one another through stable names instead of changing network addresses.
- managed resourceA managed resource is a Kubernetes resource whose desired state and lifecycle are reconciled with a corresponding external infrastructure resource by a Crossplane provider.
- monolithic architectureA monolithic application packages its major functionality into a single deployable software unit.
- TaskRunA TaskRun is a Tekton resource that represents one execution of a Tekton task.
- consistencyData consistency is the property that data values and copies satisfy the required rules for agreement and correctness.
- rolling updateA rolling update replaces running application instances incrementally by starting updated instances and terminating older ones after the replacements are ready.
- virtual clusterA virtual cluster is a Kubernetes-like cluster instantiated inside a host Kubernetes cluster with an isolated Kubernetes API server.
- change failure rateChange failure rate is the proportion of software deployments that require remediation because they cause failures or degradations in production.
- mean time to resolutionTime to restore service is the elapsed time required to recover from a production problem and return a service to normal operation.
- service identityA service identity is an identifiable principal representing an application service for authentication and authorization decisions.
- golden pathA golden path is a recommended, supported route for validating and delivering software changes to production.
- Dapr componentA Dapr component is a configurable, pluggable implementation that backs a Dapr API capability with an external service or infrastructure mechanism.
- artifact repositoryAn artifact repository is a repository service that stores, versions, and distributes software artifacts.
- api-first architectureA software development approach in which an API is designed as the primary interface for accessing a service before client implementations are built.
- serviceA service is an independently deployable software component that provides a bounded set of functionality within a distributed application.
- helm releaseA Helm release is a named, managed instance of a Helm chart installed in a Kubernetes environment.
- containers as a serviceA container-as-a-service interface is an application-facing interface for running containers without requiring direct management of the underlying orchestration system.
- serverless computingServerless computing is an execution model in which the provider manages server infrastructure and applications run with capacity allocated on demand.
- managed serviceA managed service is a provider-operated service that abstracts the administration of its software, infrastructure, and operational components.
- deployment hookA deployment hook is a lifecycle-triggered action executed before or after a software deployment.
- Keptn Lifecycle OperatorThe Keptn Lifecycle Toolkit is a cloud-native toolkit for observing deployments, accessing deployment data, and orchestrating deployment checks and actions.
- KeptnTaskDefinitionA KeptnTaskDefinition is a Kubernetes custom resource that declares executable behavior for a Keptn lifecycle task.
- system integrationThe connection and coordination of separate software systems so they operate together as part of a larger system.
- feature flag providerA feature flag provider is a service or component that stores feature-flag definitions and supplies or evaluates their values for applications.
- domain platformA platform designed to support the workflows and requirements of a particular organizational or business domain rather than general use.
- JenkinsJenkins is an open-source automation server that supports building, testing, and deploying software through configurable jobs and pipelines.
- virtual machineA virtual machine is a software-emulated computer that runs an operating system and applications in an isolated environment on physical infrastructure.
- message brokerA message broker is an intermediary service that receives, routes, and delivers messages between application components.
- platform clusterA platform cluster is a Kubernetes cluster dedicated to hosting platform-wide tools and services that manage workload environments.
- helm installhelm install is a Helm command that installs a chart and creates its Kubernetes-managed resources.
- uptimeHigh availability is a system property that minimizes service interruption through redundancy and failure tolerance.
- developer experienceDeveloper experience is the quality and usability of the tools, workflows, and interfaces through which developers build and deliver software.
- configuration as codeConfiguration as code is the practice of representing system and application configuration in version-controlled, machine-readable files.
- internal marketplaceAn internal marketplace is a platform interface where specialized teams publish reusable capabilities for consumption by other teams in the organization.
- KratixKratix is a framework for defining and implementing internal platform experiences that provide capabilities as a service to other teams.
- zero downtimeZero downtime is an operational condition in which a service remains available while software changes are applied.
- configuration repositoryA version-controlled repository containing the configuration that specifies which services and resources belong in a deployment environment.
- environment interfaceAn environment interface is a book-specific API contract representing a request to provision and configure a development environment.
- analysis templateAn analysis template is a reusable Argo Rollouts specification that defines automated measurements and evaluation criteria for validating a release.
- isolationAn isolation level is the degree to which one tenant's resources, operations, and access are separated from those of other tenants.
- tenantA tenant is a team, customer, or other independent consumer that shares a platform while requiring separated access and resources.
- traffic managementTraffic management is the controlled routing and distribution of requests among application versions or service instances.
- identity and access managementIdentity management is the administration of user identities, accounts, credentials, and associated access information across applications and services.
- blast radiusBlast radius is the extent of systems, resources, or users that can be affected by a failure or security compromise.
- retryA retry mechanism automatically repeats a failed operation according to configured retry conditions and timing.
- exponential backoffExponential backoff is a retry-timing strategy that progressively increases the delay between successive attempts.
- webhookA webhook is an HTTP callback that allows one system to notify another system when an event occurs.
- monitoringA log is a recorded event or message describing an operation or condition in software or infrastructure.
- trajectoryTracing is the practice of recording and correlating the operations performed during a request across services and infrastructure.
- telemetryTelemetry is automatically generated data about software and system behavior, including metrics, logs, and traces.
- CloudEventsCloudEvents is a specification for describing event data in a common, interoperable format independent of the transport used to carry it.
- preview serviceA preview service is the Kubernetes Service that exposes the candidate revision for validation without receiving production traffic.
- IstioIstio is an open-source service mesh platform that manages and secures communication between services and provides traffic-routing and observability features.
- application-level pipelineAn application-level pipeline is an automated workflow that packages and publishes artifacts for an entire application.
- progressive deliveryProgressive delivery is a release technique that gradually exposes a new application version while evaluating its behavior and controlling promotion.
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.
