What you will learn in Effective Platform Engineering
Build self-service interfaces to boost developer experience
Chapter by chapter
Chapter 1: What is platform engineering?
The introduction defines an engineering platform, outlines the platform engineering approach, and explains why it can improve software delivery in organizations of different sizes.
What you learn in chapter 1 →Chapter 2: Software-defined products and architectures
This introduction argues that successful platform products need an organization capable of product delivery, architectures designed to evolve, and software-defined engineering practices.
What you learn in chapter 2 →Chapter 3: Measuring your way to platform engineering success
The introduction frames platform success as something to measure through its effects on delivery, business value, and developer experience.
What you learn in chapter 3 →Chapter 4: Governance, compliance, and trust
The introduction argues that platform engineering must change how organizations handle governance and compliance without taking control of CI/CD pipelines away from developers.
What you learn in chapter 4 →Chapter 5: Evolutionary observability
The introduction shows how observability data can help an organization understand performance and value, while illustrating the costs of relying on ad hoc spreadsheets to use that data.
What you learn in chapter 5 →Chapter 6: Building a software-defined engineering platform
This introduction explains why Epetech needs an engineering platform before the chapter begins building one.
What you learn in chapter 6 →Chapter 7: Platform control plane foundations
Introduces self-healing as a foundation for Epetech’s engineering platform and explains why Kubernetes serves as its control plane.
What you learn in chapter 7 →Chapter 8: Control plane services and extensions
The introduction establishes the platform’s current control plane baseline and identifies services and extensions as the cluster-wide components still to be added.
What you learn in chapter 8 →Chapter 9: Architecture changes to support scale
The introduction frames platform scaling as a business-driven architectural and organizational decision, not simply an increase in capacity.
What you learn in chapter 9 →Chapter 10: Platform product evolution
Introduces platform product evolution by explaining why a platform strategy matters as organizations and their software ecosystems grow more complex.
What you learn in chapter 10 →Concepts explained in this book
- platform engineeringAn engineering platform is an internal development-oriented product that provides teams with self-service access to tools, infrastructure, and cross-functional capabilities while incorporating organizational requirements.
- self-serviceSelf-service is a pattern in which users obtain resources or perform supported operations directly without depending on an intermediary for each request.
- secret managementA secrets manager is a system that securely stores, controls access to, and rotates sensitive credentials and configuration values.
- observabilityObservability is the ability to determine and explain a software system’s internal state and usefulness from its output data.
- engineering platform teamA platform product team is a team responsible for developing and evolving an internal platform product.
- service accountA service account is a non-human identity used by software or automation to access resources and perform authorized actions.
- deployment pipelineAn automated deployment pipeline is a tool-driven sequence that builds, validates, and deploys software with minimal manual intervention.
- CircleCI orbA CircleCI orb is a reusable package of configuration, commands, jobs, and executors for CircleCI pipelines.
- monitoringStructured logging is the practice of emitting log records in a machine-readable format with consistent fields and values.
- service meshA service mesh is an infrastructure layer that manages communication, routing, security, and observability between application services.
- system boundaryA domain boundary is a defined separation that limits the responsibilities, capabilities, and interactions of a business or technical domain.
- team membershipTeam membership is the association between a user and a team that determines the team-derived resources or permissions available to that user.
- pipelineA pipeline workflow is a defined arrangement of automation steps or jobs that executes as a coordinated process.
- shared pipeline code libraryA shared pipeline code library is a versioned collection of reusable automation code for common pipeline operations.
- identity providerAn identity provider is a system that authenticates entities and supplies identity or authorization information to relying applications and services.
- authentication and authorizationAuthorization is the determination of whether an authenticated caller is permitted to perform a requested action or access a resource.
- trajectoryTracing is the recording and analysis of request paths and spans across components of a distributed system.
- gateway apiThe Kubernetes Gateway API is a Kubernetes API standard for configuring traffic ingress and routing through role-oriented gateway resources.
- proxyA proxy server is an intermediary that forwards, filters, modifies, or manages network traffic between applications or services.
- sidecar processA sidecar proxy is a proxy deployed alongside an application workload to handle communication without requiring application-code changes.
- authenticationAuthentication is the process of verifying the identity of a user, service, or automated process.
- event-driven architectureEvent architecture is a system design pattern in which components communicate and integrate through emitted and consumed events.
- RegoRego is a declarative policy language used by Open Policy Agent to evaluate structured input against authorization and other rules.
- roleA cloud role is a permission-bearing identity configuration that can be assumed by an authorized user, service, or pipeline.
- credential rotationCredential rotation is the practice of replacing authentication credentials periodically or in response to security or lifecycle requirements.
- two-key credential rotationTwo-key credential rotation is a rotation pattern that maintains two simultaneously available credentials so one can remain valid while the other is replaced.
- starter kitA language starter kit is a preconfigured set of resources for beginning development in a particular programming language.
- autonomyAutonomy is the ability of developers or teams to work and make decisions independently within their responsibilities.
- policy as codePolicy-as-code is the practice of representing organizational policies as machine-readable code that can be evaluated and enforced automatically.
- observability systemAn observability platform is a shared system that provides organization-wide capabilities for collecting, integrating, and interpreting observability data and supporting operational decisions.
- infrastructure as codeInfrastructure as code is the practice of defining and managing infrastructure through machine-readable configuration files and automation.
- openid connectOpenID Connect is an identity layer built on OAuth 2.0 that enables clients to verify user identity and obtain standardized identity claims.
- integration testAn integration test evaluates whether multiple software or infrastructure components work together correctly through their real interfaces.
- runnerA pipeline runner is a preconfigured execution component that runs pipeline jobs with specified tools and packages.
- performanceA success measure is a defined indicator used to determine whether an initiative has achieved its intended outcomes.
- static analysisStatic analysis is the automated examination of source code or related artifacts without executing the analyzed software.
- contractAn API is a defined software interface through which programs or users access capabilities or data provided by a system.
- streamingAn event stream is an ordered, continuously produced sequence of events that can be consumed by software systems and is not modified after creation.
- telemetryTelemetry data consists of automatically emitted records such as metrics, logs, and traces that describe software-system behavior, performance, and state.
- complianceCompliance is adherence to applicable laws, regulations, policies, and prescribed controls.
- claimA claim is an assertion about an authenticated entity or its permissions conveyed as identity data or in a token.
- JSON Web TokenA JSON Web Token is a compact, signed token format for conveying claims between parties.
- Open Policy AgentOpen Policy Agent is an open-source policy engine that evaluates declarative policies independently of the application or infrastructure being governed.
- continuous deploymentContinuous deployment is a software delivery practice in which validated changes are automatically released to a target environment.
- authorization serverAn authorization server is a service that issues tokens and communicates authorization information to clients or relying services.
- test-driven developmentTest-driven development is a software development approach in which tests are written to specify expected behavior before implementing the corresponding code.
- control planeThe control plane is the part of a distributed system that manages configuration, coordination, and lifecycle decisions for system resources.
- prototypingA prototype is an early interactive or visual representation of a product feature used to explore and evaluate a design.
- continuous improvementAn iterative development cycle is a repeated, bounded period in which a team plans, builds, evaluates, and improves a software increment.
- Amazon EKS add-onAn Amazon EKS add-on is a software component integrated with Amazon EKS and managed or supported through the cluster service.
- driftConfiguration drift is the divergence between an infrastructure system's actual state and its declared or desired configuration.
- product mindsetProduct thinking is an approach that treats software capabilities as products whose value is determined by the needs and outcomes of their users.
- dashboardA dashboard is a visual interface that presents selected metrics, statuses, and trends for monitoring a system or objective.
- left-of-domain strategyA left-of-domain strategy is a naming pattern for organizing products or capability subsets in DNS subdomains preceding a primary domain.
- platform-managed domainA platform-managed domain is a domain reserved and administered exclusively by an engineering platform for standardized self-service subdomain use.
- right-of-domain patternA right-of-domain pattern is a naming pattern for organizing capabilities and resources beneath a domain selected for a service.
- domain nameA domain name is a human-readable hierarchical identifier used to locate resources in the Domain Name System.
- hosted zoneA hosted zone is an administratively managed collection of Domain Name System records for a domain.
- API gatewayAn API gateway is a service that receives API traffic and applies gateway functions such as routing, access management, and developer credential handling.
- zone delegationZone delegation is the DNS configuration that assigns authority for a domain or subdomain to the name servers of another hosted zone.
- cognitive loadCognitive load is the amount of information and mental effort a person must hold and process in working memory to perform a task effectively.
- stakeholderA stakeholder is a person or group that influences a product's requirements or outcomes without necessarily using the product.
- versioningSoftware versioning is the practice of assigning identifiable versions to software artifacts and managing changes between them.
- shared-responsibility modelA shared responsibility model divides security responsibilities between a platform provider and the users of the platform.
- customer identity abstraction layerA customer identity abstraction layer is an intermediary that decouples platform-user identities and permissions from the identities of underlying infrastructure resources.
- team-based authorization modelA team-based authorization model assigns principal permissions primarily through membership in a development team rather than through individual identity alone.
- resilienceResilience is the ability of a system to continue providing acceptable service or recover when experiencing faults, disruption, or degraded conditions.
- standardStandardization is the adoption of common interfaces, behaviors, and processes so that components can interoperate consistently.
- instrumentationInstrumentation is the addition of code or integration components that emit telemetry from software during execution.
- scalabilityScalability is the ability of a system or organization to handle increasing workload or scope while maintaining required performance and operation.
- preview environmentA preview environment is a nonproduction environment in which a software change can be evaluated before release.
- deployment frequencyDeployment frequency is the rate at which software changes are deployed to a target environment.
- namespace apiA namespace API is an interface that ensures the required team namespaces and their resource configuration exist in designated clusters.
- compliance at the point of changeCompliance at the point of change verifies compliance through a control mechanism before a software change is made.
- admission controllerA mutating admission controller API allows a cluster control plane to modify resource requests before they are persisted or executed.
- clientA customer is a person or group that receives or evaluates the value provided by a product or service.
- DevOpsDevOps is a cultural and organizational approach that integrates software development and IT operations through shared responsibility for building, deploying, and operating software.
- internal developer platformAn internal developer platform is an internal system that provides developers with self-service interfaces, abstractions, automation, and resource-management capabilities for software delivery.
- pipeline commandA pipeline command is a named reusable sequence of pipeline steps that executes an automation operation.
- pipeline injection pointA pipeline injection point is a defined location where callers can supply additional custom pipeline steps.
- jobA pipeline job is an executable unit containing steps and an assigned execution environment.
- Terraform variable fileA Terraform variable file is a configuration file that assigns values to input variables for a Terraform configuration.
- overrideA tool parameter override is a caller-supplied value that changes a shared pipeline's default arguments for a tool.
- tool version overrideA tool version override is a caller-supplied version selection that replaces a shared pipeline's default tool or package version.
- triggerA pipeline trigger is an event or condition that causes an automation pipeline to start.
- AWS-managed node groupAn AWS-managed node group is a set of Amazon EKS worker nodes whose provisioning and lifecycle management are handled by AWS.
- platform cliA platform CLI is a command-line tool that streamlines authentication and access configuration for an engineering platform.
- adoption rateAdoption rate is the proportion of eligible users or teams that use a product, capability, or feature.
- command-line interfaceA command-line interface is a text-based interface through which users or programs invoke commands and interact with software.
- control plane services pipelineA control plane services pipeline is an automated workflow that deploys and tests services managed by a Kubernetes control plane.
- smoke testA smoke test is a shallow test that checks whether a system or service is broadly operational before deeper testing.
- team topologiesA team topology is an organizational model that defines distinct team types and their interaction boundaries for effective software delivery.
- roadmapA product roadmap is a planned sequence of product capabilities and changes intended to guide future product development.
- evolutionary architectureEvolutionary architecture is an architectural approach that preserves the ability to change through small, incremental, and rapid modifications.
- change failure rateChange failure rate is the proportion of software deployments that cause a failure requiring remediation, rollback, or another corrective action.
- custom platform apiA custom platform API is an organization-specific software interface that exposes capabilities of an engineering platform.
- lead timeLead time for change is the elapsed time between initiating a software change and deploying it to production.
- automationAutomation is the execution of tasks by software or machines with reduced need for direct human intervention.
- software-defined platformA software-defined platform is a platform whose integrations, features, automation, and technologies are represented and deployable through software artifacts and versioned source control.
- data governanceGovernance is the set of policies, controls, and decision processes that direct and constrain organizational technology practices.
- resultA business outcome is an observable organizational result produced by an initiative, product, or capability.
- code coverageTest coverage is the proportion of specified code, paths, branches, or behaviors exercised by automated tests.
- KubernetesA Kubernetes cluster is a group of computing nodes managed by Kubernetes to run and coordinate application workloads.
- DORAThe DORA framework is a software delivery performance framework centered on deployment frequency, lead time for changes, change failure rate, and time to restore service.
- enabling teamAn enabling team is a team that temporarily provides specialized expertise and guidance to help other teams build capabilities and develop technical practices.
- stream-aligned teamA stream-aligned team is a team organized around a continuous flow of work for a specific business or customer value stream, with end-to-end responsibility for its delivery and maintenance.
- vulnerability scanningA vulnerability scan is an automated examination of software or artifacts for known security weaknesses.
- event-based triggerAn event-based trigger starts an automation process in response to a defined event rather than an operator manually initiating it.
- software-defined pipelineA software-defined pipeline is an automation pipeline whose behavior is declared and versioned as code in a source repository.
- source of truthA single source of truth is one authoritative location from which a given set of values or facts is obtained.
- template injectionTemplate injection is the automated population of a template with supplied values to produce a concrete file or configuration.
- outcome standardAn outcome standard is a clear and testable requirement that specifies the result a capability must achieve without prescribing its implementation.
- stakeholder mapA stakeholder map is a structured representation of stakeholders and their influence, alignment, constraints, or relationship to a product.
- distributed systemA distributed architecture pattern structures capabilities across multiple coordinating components rather than concentrating them in one component.
- agent orchestrationA container orchestration platform manages the deployment, scheduling, scaling, and operation of containerized workloads.
- customer satisfactionCustomer satisfaction is the degree to which customers judge a product or service to meet their expectations and needs.
- VPCA virtual private cloud is an isolated logical network within a public cloud that contains configurable address space, subnets, routing, and connectivity controls.
- researchUser research is the systematic investigation of users’ needs, behaviors, experiences, and challenges to inform product decisions.
- leading indicatorA leading indicator is a measure that provides early evidence about the likelihood of a later outcome.
- software development life cycleSoftware development is the process of designing, implementing, testing, and maintaining software systems.
- dumb pipelineA dumb pipeline is an automation pipeline whose logic is limited primarily to ordering and invoking reusable implementation code.
- namespace-level pipelineA namespace-level pipeline is an automated delivery path that deploys applications and their resources associated with a particular namespace.
- don't repeat yourself principleThe DRY principle is the practice of avoiding duplicated knowledge or logic by maintaining a single authoritative representation.
- smart scriptA smart script is a reusable script that contains the substantive implementation logic invoked by an automation pipeline.
- trunk-based developmentTrunk-based development is a version-control practice in which developers integrate small changes frequently into a shared mainline.
- ebs storage classAn EBS storage class is a Kubernetes storage configuration that dynamically provisions Amazon Elastic Block Store volumes for persistent storage claims.
- EFS storageAmazon EFS is a managed, elastic file storage service that provides shared, scalable file systems for compute workloads.
- efs storage classAn EFS storage class is a Kubernetes storage configuration that provisions Amazon Elastic File System storage for persistent workloads.
- KarpenterKarpenter is an open-source Kubernetes node provisioning tool that dynamically provisions and consolidates compute capacity.
- affinityNode affinity is a Kubernetes scheduling constraint that attracts pods to nodes matching specified labels.
- node poolA node pool is a managed group of compute nodes sharing a configuration and available for scheduling workloads.
- persistent volume claimA persistent volume claim is a Kubernetes resource that requests persistent storage with specified capacity and access requirements.
- taintA taint is a Kubernetes node property that repels pods unless they declare a matching toleration.
- platform value modelA platform value model is a structured representation of a platform capability’s costs, assumptions, expected benefits, and success measures.
- user experienceUser experience is the overall quality of a user's interaction with a product or service, including its ease, effectiveness, and pleasantness.
- zero-trust networkingA zero-trust network control restricts network access based on explicit verification and policy rather than implicit trust in network location.
- experimentationExperimentation is the systematic evaluation of alternative designs or implementations under realistic conditions to inform decisions.
- facilitation modeA facilitation mode is an interaction mode in which an enabling team helps another team build capabilities without taking over its work.
- interaction modeAn interaction mode is a defined pattern governing how teams collaborate, consume services, or receive assistance from other teams.
- x-as-a-service modeAn X-as-a-service mode is an interaction mode in which one team provides consumable services through defined interfaces and service expectations to other teams.
- control plane extensionA control plane extension is an added capability that extends a system control plane's API or resource-management behavior beyond its existing functionality.
- domain teamA development team is a group responsible for building and operating one or more software applications or services.
- service-level objectiveA service-level objective is a target value or range for a service-level indicator that defines an intended level of service performance or reliability.
- extensibilityExtensibility is the ability of a system to accept additional capabilities or behaviors without modifying its core implementation.
- minimum viable usabilityMinimum viable usability is the threshold of usability at which a platform can be used effectively enough to validate its value and support further improvement.
- reconciliationA reconciliation loop repeatedly compares desired and observed state and takes actions to make the observed state converge on the desired state.
- cross-functional teamA cross-functional team is a team that combines people with different specialized skills and responsibilities to accomplish a shared objective.
- assertionAn assertion is a declarative statement that evaluates as true or false for given data.
- architectural fitness functionArchitecture fitness testing is automated or repeatable testing that verifies whether an architecture continues to satisfy defined structural and quality constraints.
- observability-driven developmentObservability-driven design is a software design approach that incorporates the data and instrumentation needed to understand system behavior.
- developer experienceDeveloper experience is the quality of developers' interactions with the tools, resources, workflows, and platforms involved in software development.
- ArgoArgo CD is a Kubernetes continuous-delivery tool that synchronizes applications with declarative configuration stored in version control.
- deployment serviceA deployment service is a system component that performs application deployments to a target runtime environment.
- api-first architectureAPI-first architecture designs an API as the primary interface of a capability before building user interfaces or other tools on top of it.
- platform product managerA platform product manager is a product manager responsible for understanding users, setting priorities, and guiding the evolution of an internal engineering platform.
- platform value modelingPlatform value modeling is the practice of estimating and evaluating the costs, benefits, and outcomes of platform capabilities.
- return on investmentReturn on investment is a measure comparing the value or financial return generated by an investment with its cost.
- service-level indicatorA service-level indicator is a quantitative measurement of a service’s reliability or performance from the perspective of its users.
- collaborationCollaboration is the coordinated work of multiple people or teams toward shared objectives.
- capabilityA platform capability is a discrete function or service provided by an engineering platform to support software engineering work.
- automated governanceAutomated governance verifies that required security, compliance, or delivery activities occurred through automated platform controls.
- metrics-driven successMetrics-driven success evaluates platform capabilities by measuring whether they deliver their intended technical, operational, or business benefits.
- cloud-native architectureCloud-native technology is software designed to exploit elastic, distributed, and automated cloud computing capabilities.
- serverless computingServerless is a cloud computing model in which a provider manages the underlying infrastructure and runs customer-supplied functions or workloads on demand.
- platform management APIA platform management API is a custom service interface that manages engineering-platform configuration or integrations unsupported by existing tools.
- mean time to resolutionMean time to recover is the average elapsed time from failure detection until service or functionality is restored.
- PrometheusPrometheus is an open-source monitoring system that collects and stores time-series metrics and supports querying and alerting.
- minimal productA minimal viable product is the smallest version of a product that can be delivered to validate its value and assumptions with users.
- webhookA webhook is an HTTP callback mechanism that delivers event notifications from one system to another when specified events occur.
- observability dataObservability data is telemetry describing the internal behavior and external effects of a software system, including its logs, metrics, and traces.
- interviewAn interview is a guided conversation for collecting detailed information about a person’s experiences, views, needs, or problems.
- user surveyA survey is a structured method for collecting responses from people about their opinions, experiences, needs, or characteristics.
- site reliability engineeringSite reliability engineering is a software engineering discipline that applies engineering practices to the reliability, operation, and lifecycle management of systems.
- infrastructure operatorAn infrastructure operator is a controller that provisions and manages infrastructure resources through a platform control-plane API.
- Kubernetes operatorThe operator pattern is a software pattern in which a controller automates the management and lifecycle of resources through an API.
- persistent data resourceA persistent data resource is infrastructure that stores or manages data across application restarts, such as a database, message queue, file share, or cache.
- optimizationContinuous improvement is an iterative practice of making incremental changes based on observed results and feedback.
- Auth0Auth0 is an identity platform that provides authentication, authorization, and identity integration services for applications and systems.
- time-series databaseA time-series database is a database optimized for storing and retrieving timestamped measurements and other time-indexed data.
- uptimeHigh availability is the design of a system to maintain service access despite component failures or maintenance.
- GitHubGitHub is a hosted platform for version control, collaborative software development, and repository-based project management.
- advisory groupAn advisory group is a representative group that provides guidance and strategic feedback about a product, platform, or initiative.
- community forumA community forum is an open discussion space where users exchange questions, experiences, solutions, and feedback about a product or platform.
- reliabilitySystem reliability is the ability of a software system to perform its required functions consistently over an expected period and operating condition.
- end-to-end engineering optimizationEnd-to-end engineering optimization is the practice of assessing and improving the complete process for building, delivering, and operating software rather than optimizing isolated activities.
- developer portalA developer portal is a centralized interface for organizing developer documentation, resources, services, and engineering tools.
- StorageClassA storage class is a Kubernetes resource that describes a category of storage and the provisioner and parameters used to create it dynamically.
- data layerA datastore layer is an architectural layer that encapsulates access to a database technology.
- datastore interfaceA datastore interface is a defined set of database access operations that different datastore implementations must provide.
- repository patternA repository layer is an architectural layer that exposes datastore operations through repository abstractions to higher layers.
- service layerA service layer is an architectural layer containing application service logic that coordinates capabilities without directly accessing datastore functions.
- time-to-marketTime-to-market is the elapsed time required to make a product, feature, or service available to its intended users.
- contract testingA contract test verifies that an implementation conforms to the interface or behavioral contract expected by its consumers.
- extraneous loadExtraneous load is mental effort caused by irrelevant complexity or poor presentation rather than by the inherent difficulty of a task.
- platform productA platform product is an internal product that provides engineering capabilities and services to software development teams.
- eventAn event is a lightweight record indicating that something occurred, optionally including the location and whether the occurrence passed or failed.
- TerraformTerraform is an infrastructure-as-code tool for declaratively provisioning and managing infrastructure resources.
- oauth 2.0 device authorization grantThe OAuth 2.0 device authorization grant is an OAuth flow that lets a device or constrained input interface obtain authorization through a separate user-authorized device.
- unknown unknownAn unknown unknown is a relevant condition, behavior, or failure mode whose possibility has not previously been recognized.
- LaunchPadLaunchPad is Epetech’s internal developer platform for organizing and automating software development services, environments, and deployments.
- integrations APIAn integrations API is a custom service interface that maintains authorization-related configuration in external tools or systems.
- team synchronization eventA team synchronization event is an emitted event carrying team or team-membership changes for consumption by integrated systems.
- GitHub teamA GitHub team is a named group of GitHub organization members used to manage shared repository access and membership.
- cluster role bindingA cluster role binding is a Kubernetes authorization resource that grants the permissions of a cluster role to specified subjects across the cluster.
- EC2NodeClassAn EC2NodeClass is a Karpenter resource that defines the AWS compute configuration from which Kubernetes nodes are launched.
- namespaceA namespace is a logical partition that groups and isolates named resources within a cluster.
- GatekeeperGatekeeper is an open-source Kubernetes admission controller that enforces policies through Open Policy Agent integration.
- guardrailA guardrail is a control that constrains system behavior by preventing or flagging operations outside an allowed threshold or policy.
- validating webhookA validating webhook is an HTTP callback that examines a requested resource operation and accepts or rejects it before the operation proceeds.
- developer productivityDeveloper productivity is a measure of the value and progress developers produce relative to the effort and resources involved.
- transit networkA transit network is a network architecture that centralizes or coordinates connections among multiple networks, regions, accounts, or providers.
- log aggregationA log aggregation system collects logs from multiple sources and makes them available for centralized storage and querying.
- adapterAn adapter pattern is a design pattern that standardizes interaction between incompatible interfaces or data representations by translating one into another.
- total cost of ownershipTotal cost of ownership is the complete cost of acquiring, deploying, operating, maintaining, and retiring a product or system across its lifecycle.
- conversational aiAn intelligent assistant is a software application that interprets user requests and automates tasks or provides information through conversational or other interactive interfaces.
- domain-driven designDomain-driven design is a software design approach that centers the structure and behavior of software on the underlying business domain and its models.
- mean time to detectMean time to detect is the average elapsed time from the occurrence or discovery of a failure until the responsible team is notified and can engage.
- predictive analysis engineA predictive analysis engine is a software system that analyzes data to identify likely future conditions, failures, or weaknesses.
- known knownA known-known is a failure or operating condition whose possibility and specific behavior are already understood.
- known unknownA known unknown is a potentially relevant failure or operating condition whose existence is recognized but whose complete behavior is not understood.
- self-healing mechanismSelf-healing is the capability of a system to detect deviations from its desired state and automatically restore correct operation.
- testAutomated testing is the execution of software tests by tools or scripts with limited or no manual intervention.
- key performance indicatorA key performance indicator is a selected measurable value used to evaluate progress toward an important organizational or operational objective.
- Kubernetes APIThe Kubernetes API is the interface through which clients and components manage Kubernetes resources and cluster state.
- application observabilityApplication observability is an observability practice narrowly focused on the behavior and performance of application software.
- service healthService health is an indication of whether a service and its dependent resources are operating as expected.
- product delivery modelA product delivery model is a model for organizing how a product team functions to deliver and evolve a product.
- single delivery teamA single delivery team is one team responsible for initially building and evolving a product or platform offering.
- top-level product ownerA top-level product owner is the person responsible for maintaining a unified product vision and roadmap across multiple delivery teams.
- early adopterAn early adopter is a user who begins using a new product or capability soon after its introduction and provides evidence about its value.
- content trustContent trust is a mechanism for verifying the authenticity and integrity of published software content through digital signatures.
- CosignCosign is an open-source tool for signing and verifying container images and other software artifacts.
- signed commitA signed commit is a source-control commit accompanied by a cryptographic signature that authenticates its author and protects its contents from undetected modification.
- software bill of materialsA software bill of materials is a structured inventory of the components and dependencies contained in a software product.
- software supply chain securitySoftware supply chain security is the protection of software source code, build processes, dependencies, artifacts, and delivery mechanisms from compromise or unauthorized modification.
- developer satisfactionDeveloper sentiment is a measure of developers’ attitudes, perceptions, and reported experiences with a product or platform.
- control plane serviceA control plane service is a control plane application categorized as a service that provides an independently managed capability within the control plane.
- CircleCICircleCI is a hosted continuous integration and continuous delivery platform that automates software build, test, and deployment workflows.
- infrastructure lifecycle strategyAn infrastructure lifecycle is the sequence of provisioning, configuring, operating, changing, and retiring infrastructure resources.
- ingestion apiAn ingestion API is a software interface that accepts, validates, formats, and routes data into an observability system.
- log management platformA log management system is software that collects, stores, aggregates, searches, and analyzes log records.
- single pane of glassA single pane of glass is a unified interface that presents and enables analysis of data from multiple systems or sources.
- iterative MVP-driven implementationIterative MVP-driven implementation is a delivery approach that releases minimal platform capabilities in short cycles to validate assumptions and guide subsequent changes.
- service templateA service template is a preconfigured starting structure for creating services with prescribed setup and engineering practices.
- intrinsic loadIntrinsic load is the mental effort required to understand and perform a task because of the task's inherent complexity.
- dynamic release pipelineA dynamic release pipeline is an automation pipeline that generates its workflow at runtime from the currently defined deployment targets and roles.
- Dreyfus Skill ModelThe Dreyfus Skill Model is a model of skill acquisition describing progression from novice rule-following to expert and master intuitive performance.
- couplingLoose coupling is an architectural property in which components or domains interact with minimal dependency on one another's internal details.
- feedbackCustomer feedback is information provided by customers about their needs, experiences, problems, or responses to a product or service.
- dedicated platform product codeDedicated platform product code is infrastructure code whose scope is limited to provisioning and managing an engineering platform rather than unrelated enterprise use cases.
- role-based network structureA role-based network structure organizes clusters and their networks according to operational roles such as production, nonproduction, and preview.
- deprecationDeprecation is the formal designation that a feature or interface remains temporarily available but should no longer be adopted and may later be removed.
- Kubernetes upgradeA Kubernetes upgrade is the process of moving a Kubernetes cluster or its components to a newer supported release.
- versionAn API version is an identifier that distinguishes a particular compatibility and behavior contract for an API.
- platform usagePlatform usage is the observed extent and manner in which users or teams use an engineering platform and its capabilities.
- distributed deployment patternA distributed deployment pattern is a deployment arrangement in which independently managed services or extensions each have their own release orchestration pipeline.
- platform extensionA platform extension is a cluster capability that extends the Kubernetes API by exposing a new resource type or developer-configurable experience.
- platform serviceA platform service is a cluster capability deployed as part of standard cluster configuration without exposing a uniquely provisionable resource type to developers.
- pipeline orchestrationA pipeline orchestrator is a system that coordinates the execution, ordering, and status of automated pipeline stages.
- acceptance criteriaAcceptance criteria are conditions that a software change must satisfy to be considered acceptable.
- definition of doneA definition of done is an agreed set of conditions that must be met for a software task to be complete.
- GrafanaGrafana is an open-source observability and visualization platform for querying, displaying, and alerting on data from multiple sources.
- role-based access controlRole-based access control is an authorization method that grants permissions according to assigned roles.
- Amazon Elastic Kubernetes ServiceAmazon Elastic Kubernetes Service is a managed service for running Kubernetes control planes and workloads on AWS.
- moduleA Terraform module is a reusable package of Terraform configuration that groups resources and exposes configurable inputs and outputs.
- domainA domain is a distinct area of business or user capability with its own concepts, responsibilities, and boundaries.
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.
