DevOps

Chapter 13
Platform Engineering, GitOps, and Enterprise Governance

Bachelors Program in Computer Applications
DevOps   •   Bachelor

Platform Engineering, GitOps, and Enterprise Governance

Introduction

DevOps began as an effort to reduce the separation between software development and IT operations. As organizations adopted continuous integration, cloud infrastructure, containers, and infrastructure as code, a new challenge emerged: development teams were expected to understand an increasingly complex technology landscape while operations teams were expected to support rapid, autonomous delivery. Platform engineering addresses this challenge by creating an internal developer platform (IDP): a product-like collection of tools, services, automation, documentation, and standards that enables developers to deliver software safely with less cognitive overhead.

GitOps extends this model by treating version-controlled repositories as authoritative descriptions of applications and infrastructure. Automated controllers continuously reconcile the actual environment with the desired state declared in Git. Enterprise governance provides the policies, controls, decision rights, architecture standards, risk management, and evidence needed to ensure that self-service delivery remains secure, compliant, reliable, and economically sustainable.

These ideas are complementary. Platform engineering creates paved roads; GitOps automates movement along those roads; governance defines boundaries, accountability, and exceptions. None of them means that every team must use one tool or that central IT should control every technical decision. Their purpose is to create reliable autonomy: teams can move quickly because common risks are handled through reusable capabilities and automated controls.

Learning Objectives

By the end of this chapter, students should be able to:

  1. Explain the purpose, architecture, and operating model of an internal developer platform.
  2. Distinguish platform engineering from traditional infrastructure operations and from DevOps as a broader culture and practice.
  3. Design a self-service workflow using reusable templates, automated pipelines, and policy controls.
  4. Explain GitOps principles, reconciliation, drift detection, promotion, and rollback.
  5. Apply governance mechanisms including standards, architecture decision records, policy as code, and audit evidence.
  6. Evaluate platform adoption, reliability, security, developer experience, and cost using meaningful measures.
  7. Analyze organizational, ethical, regulatory, vendor, and operational risks in enterprise DevOps transformation.

1. From DevOps Toolchains to Internal Developer Platforms

A toolchain is a collection of technical tools used to build, test, release, deploy, observe, and secure software. An internal developer platform is broader. It presents an integrated user experience and hides unnecessary implementation complexity behind supported interfaces. A platform may include source-control conventions, project templates, CI/CD pipelines, cloud environments, secrets management, observability, service catalogs, databases, messaging systems, documentation, and support processes.

The essential design question is not “Which tools should the platform team install?” but “Which developer and business outcomes should the platform make easier?” A platform is successful when developers can complete common tasks safely without opening tickets for routine work, while platform operators retain the ability to evolve the underlying implementation.

Platform engineering and related concepts

ConceptPrimary concernTypical output
DevOpsCollaboration, feedback, and flow between development and operationsShared practices and delivery capability
Infrastructure operationsAvailability and management of computing resourcesNetworks, servers, clusters, storage
DevSecOpsSecurity integrated into the delivery lifecycleAutomated security controls and risk reduction
Platform engineeringProduct-like internal services for delivery teamsSelf-service workflows and golden paths
Site reliability engineeringReliability through engineering, automation, and measurable objectivesSLOs, error budgets, resilient operations

An IDP should not become a ticketing system with a new name. If a developer selects a service template but still waits days for manual approvals, the platform has automated presentation rather than delivery. Similarly, a platform should not force every workload into one architecture. It should provide well-supported defaults while allowing justified exceptions.

Platform as a product

A platform team serves internal developers as customers. Product thinking requires identifying user groups, understanding their journeys, prioritizing capabilities, publishing a roadmap, measuring satisfaction and outcomes, and managing the platform lifecycle. Important practices include:

  • interviewing developers and observing delivery work;
  • defining a minimum viable platform rather than building an all-encompassing system;
  • documenting supported use cases and service-level expectations;
  • providing examples and reference implementations;
  • collecting feedback through usage data, surveys, support requests, and incident reviews; and
  • deprecating capabilities transparently.

The platform team owns the platform product, but application teams remain responsible for their services and business outcomes. This distinction prevents the platform from becoming a centralized development department.

2. Architecture of an Internal Developer Platform

An IDP commonly has four layers.

Experience layer

This is the developer-facing interface: a portal, command-line interface, APIs, documentation, service catalog, templates, and status information. A portal can expose actions such as “create a service,” “provision a database,” “request a production environment,” or “view deployment health.” The interface should use domain language familiar to developers and should make ownership explicit.

Workflow and automation layer

This layer implements reusable workflows. Examples include repository creation, branch protection, CI configuration, image construction, environment provisioning, deployment, certificate issuance, and access requests. Workflows should be idempotent where possible: repeating an operation should converge on the intended state rather than create duplicated or conflicting resources.

Capability layer

The platform exposes common capabilities such as Kubernetes clusters, virtual machines, cloud accounts, databases, queues, secrets stores, artifact registries, observability systems, and identity services. These capabilities may be implemented by different technologies, but the platform presents stable interfaces and support boundaries.

Control and data layer

This layer contains identity, policy, audit logs, configuration repositories, metadata, cost information, and telemetry. It enables governance and operational analysis. Controls should be integrated into workflows rather than left entirely to manual review.

A useful platform architecture separates the developer-facing contract from implementation details. For example, a service template may promise a secure HTTP service with automated testing, deployment, logging, and alerts. The platform team may later replace one container orchestrator with another without requiring application teams to redesign their services, provided the contract remains valid.

Golden paths and paved roads

A golden path is a recommended, supported route for a common engineering task. It normally includes:

  1. a template with sensible repository structure;
  2. automated build, test, security, and packaging steps;
  3. environment configuration and deployment mechanisms;
  4. observability and operational documentation;
  5. security defaults and ownership metadata; and
  6. an explicit process for upgrades and exceptions.

A golden path is not a mandatory path. It becomes effective when it is easier and safer than alternatives. The platform must therefore invest in usability, speed, documentation, and reliability. An unattractive golden path produces shadow tooling and fragmented practices.

3. Designing Self-Service Workflows

Self-service begins with a well-defined user journey. Consider the journey “create and deploy a new web service.” A robust workflow might be:

  1. The developer selects a supported service type.
  2. The platform creates a repository, ownership metadata, documentation, and baseline pipeline.
  3. The developer configures runtime parameters through validated fields.
  4. The workflow provisions non-production resources using approved modules.
  5. The pipeline runs unit tests, static analysis, dependency checks, container scanning, and integration tests.
  6. A signed artifact is stored in an approved registry.
  7. A Git change updates the desired deployment configuration.
  8. A deployment controller reconciles the target environment.
  9. Health checks, logs, metrics, and traces become available automatically.
  10. Production promotion follows defined approval, risk, and change-management rules.

The workflow should distinguish between information required from the user and information that can be safely defaulted. Excessive questions increase cognitive load; insufficient validation creates operational risk.

Reusable components

Reusable components include:

  • infrastructure modules for networks, databases, identity, and compute;
  • pipeline templates for language and runtime combinations;
  • policy bundles for security and compliance;
  • deployment charts or manifests;
  • observability packages containing dashboards and alerts;
  • documentation templates and runbooks; and
  • test fixtures for common integration dependencies.

Versioning is essential. A template or module is an interface used by many teams. Breaking changes require migration guidance, compatibility periods, and clear ownership. A platform that silently changes production behavior through an unversioned template is difficult to govern.

Separation of responsibilities

Self-service does not eliminate accountability. A typical responsibility model is:

ResponsibilityPlatform teamApplication teamSecurity/governance
Pipeline templateOwns and maintainsUses and configuresDefines mandatory controls
Application codeProvides runtime supportOwnsReviews high-risk patterns
Cluster or cloud capabilityOperatesConsumesSets guardrails
Business service SLOAdvises and supplies toolingOwnsReviews critical services
Policy exceptionImplements workflowRequests and justifiesApproves or rejects

The exact division varies, but ownership must be explicit in service catalogs and operational documentation.

4. GitOps: Desired State and Reconciliation

GitOps is an operational model in which declarative configuration stored in version control describes the desired state of systems, and automated agents reconcile running environments with that state. Four commonly cited principles are:

  1. The desired state is declarative.
  2. The desired state is versioned and auditable.
  3. Changes are approved through a controlled process, commonly pull requests.
  4. Software agents continuously reconcile actual state with desired state.

Declarative configuration specifies what should exist rather than every command required to create it. For example, a deployment description may state that three instances of a service should run with a particular image and resource policy. The controller determines the actions needed to reach that state.

Reconciliation

Let D represent desired state and A represent actual state. A reconciliation controller repeatedly observes A, compares it with D, and applies actions that reduce the difference. Conceptually:

At+1 = R(At, Dt)

Here, At is actual state at time t, Dt is the desired state at that time, and R is the controller’s reconciliation function. This is a conceptual model, not a guarantee that convergence always occurs. Convergence depends on valid configuration, available resources, controller correctness, permissions, and the absence of conflicting actors.

GitOps is therefore more than “put YAML in Git.” It requires a trustworthy control loop, clear repository structure, secure identity, reliable delivery of configuration, and operational handling of failed reconciliation.

GitOps repository patterns

Common patterns include:

  • Application repository: source code, tests, build instructions, and sometimes deployment definitions.
  • Environment repository: desired configurations for development, test, staging, and production.
  • Shared platform repository: reusable modules, policies, base templates, and cluster configuration.
  • Monorepository: multiple applications or environments in one repository, simplifying some dependency changes but increasing scale and ownership complexity.

There is no universally correct layout. The choice should consider access boundaries, promotion flow, team ownership, repository scale, audit requirements, and the risk of coupling unrelated changes.

Promotion and rollback

A strong promotion model moves an immutable artifact through environments. Building a new artifact separately in every environment risks differences between tested and deployed software. A Git change can update the version reference in the next environment repository or branch, subject to automated tests and policy checks.

Rollback should be designed before an incident. For application changes, reverting the desired-state change can restore a previous artifact, but database schema changes may not be reversible. Safe rollback therefore requires backward-compatible migrations, tested recovery procedures, data backups, and clear ownership.

Drift and emergency changes

Drift occurs when actual state differs from the declared state. It may result from manual changes, an unauthorized actor, a controller failure, or an external system. GitOps can detect drift, alert on it, and either restore the declared state or permit a controlled exception.

Emergency changes require special handling. Bypassing Git may be necessary to protect users, but the change should be recorded, reviewed afterward, and reconciled into the repository. Otherwise the next reconciliation may undo the emergency fix or create uncertainty about the real configuration.

5. Enterprise Governance and Architecture Controls

Governance is the system by which an organization directs, constrains, and reviews technology decisions. Good governance is enabling rather than purely restrictive. It makes acceptable choices easy and risky choices visible.

Governance mechanisms

Policies and standards define required outcomes or technical conditions. A policy might require encryption in transit, supported identity integration, vulnerability remediation within defined risk periods, or retention of audit records.

Reference architectures show approved patterns for common systems. They reduce repeated design work while allowing alternatives when justified.

Architecture decision records (ADRs) capture the context, decision, alternatives, consequences, and status of significant technical choices. ADRs preserve organizational memory and make later review more rational.

Policy as code expresses machine-checkable controls in automated form. Examples include rejecting public storage buckets, requiring approved image registries, enforcing resource limits, or preventing deployment of unsigned artifacts. Policy as code must be tested and versioned like software.

Guardrails limit dangerous actions while preserving autonomy. Examples include least-privilege roles, network boundaries, quotas, approved regions, secret scanning, and mandatory metadata.

Exception management provides a documented route for justified deviations. An exception should state its scope, owner, reason, risk treatment, compensating controls, expiry date, and review authority. Permanent exceptions usually indicate that the standard needs revision.

Architecture governance in a platform environment

Architecture review should be risk-based. A low-risk internal service may use a lightweight template and automated checks. A payment, health, or identity service may require threat modeling, resilience analysis, data-classification review, and formal approval. Treating every change as equally significant creates review queues and encourages informal bypasses.

A practical decision sequence is:

  1. Classify the workload by business criticality, data sensitivity, and regulatory exposure.
  2. Select a suitable reference architecture or golden path.
  3. Run automated conformance checks.
  4. Identify residual risks and required human decisions.
  5. Record the decision and ownership.
  6. Monitor whether the architecture remains appropriate as conditions change.

6. Measuring Platform and DevOps Performance

Metrics should support learning and decisions rather than reward superficial activity. Common delivery measures include deployment frequency, lead time for changes, change failure rate, and time to restore service. These measures should be interpreted together. Increasing deployment frequency while increasing failed changes may indicate harmful optimization.

Platform-specific measures can include:

  • time from service request to a working development environment;
  • percentage of services using supported templates;
  • pipeline success rate and median pipeline duration;
  • percentage of deployments with automated rollback or recovery evidence;
  • policy violations detected before production;
  • platform availability and support response time;
  • developer satisfaction and perceived cognitive load;
  • adoption of approved observability and ownership metadata; and
  • infrastructure cost per service or transaction, where allocation is reliable.

Metrics require definitions. For example, change failure rate must specify what counts as a failure, which changes are included, and the observation period. A metric without a stable definition cannot support comparison.

The platform should also measure negative outcomes: unnecessary complexity, unused resources, alert noise, vendor lock-in, security incidents, and time spent complying with low-value controls. Governance quality is not measured by the number of approvals; it is measured by risk reduction and informed decision-making.

7. Operating Models and Organizational Design

A platform team may be centralized, federated, or hybrid.

  • A centralized model provides consistency and economies of scale but can become distant from application teams.
  • A federated model places platform capability within business units, improving local fit but risking duplication.
  • A hybrid model maintains shared foundations centrally while embedding specialists or enabling domain-specific extensions.

Team Topologies offers a useful conceptual distinction between platform teams, stream-aligned teams, enabling teams, and complicated-subsystem teams. A platform team should reduce the cognitive load of stream-aligned teams and provide an effective internal service. It should not become a permanent dependency for every operational decision.

The platform product requires a lifecycle: discovery, design, implementation, adoption, operation, evolution, and retirement. Funding should account for reliability, documentation, support, security patching, and migration—not only initial development.

8. Security, Ethics, and Regulatory Considerations

Platform centralization can improve security because controls are implemented once and reused widely. It can also amplify failures: a faulty template, compromised pipeline, or excessive platform privilege may affect many systems.

Important controls include:

  • strong identity federation and multifactor authentication;
  • short-lived credentials and workload identity where feasible;
  • separation of duties for high-risk production actions;
  • signed commits or artifacts where appropriate;
  • secret storage outside source code;
  • software composition analysis and software bills of materials;
  • protected branches and review requirements;
  • immutable or tamper-evident audit logs;
  • tested backup and recovery procedures; and
  • continuous vulnerability and dependency management.

Privacy and regulatory obligations may affect data residency, retention, access logging, deletion, incident notification, and third-party processing. A platform should support data classification and prevent developers from accidentally selecting an unsuitable region or storage service.

Ethical governance includes accessibility, transparency, and proportionality. Automated policy systems should provide understandable failure messages and a route for appeal. Security controls should not unnecessarily exclude developers with disabilities or create surveillance practices unrelated to legitimate operational needs. AI-assisted coding and operations tools introduce additional concerns: confidential code may be exposed to providers, generated code may contain vulnerabilities, and automated remediation may cause unintended changes. Human accountability remains necessary for consequential decisions.

9. Vendor Evaluation and Technology Selection

Enterprise platforms often combine commercial and open-source products. Evaluation should begin with capabilities and operating requirements rather than brand popularity. Relevant criteria include:

CriterionQuestions
Functional fitDoes it support required workflows, environments, policies, and integrations?
SecurityHow are identity, secrets, isolation, logging, vulnerabilities, and incident response handled?
OperabilityCan the organization monitor, upgrade, back up, and recover it effectively?
IntegrationDoes it work with source control, identity, cloud, observability, and ticketing systems?
Total costWhat are licensing, infrastructure, support, training, migration, and exit costs?
PortabilityCan data, configurations, and workloads be moved if the vendor changes terms?
Ecosystem and skillsAre expertise, documentation, and support available?
GovernanceDoes it support evidence, policy enforcement, segregation of duties, and audit needs?

A weighted decision matrix can make assumptions explicit. If criterion weights wi sum to 1 and a vendor receives score si for each criterion, a simple weighted score is:

S = ∑i=1n wi si

The score is meaningful only if criteria are defined consistently, scores use the same scale, and unacceptable risks are treated as gates rather than averaged away. For example, a vendor failing a mandatory regulatory requirement should not win because it scores highly on usability.

Exit planning should be performed before procurement. Identify proprietary interfaces, data-export capabilities, migration tools, contract termination conditions, and the skills required to operate an alternative. Multi-cloud adoption is not automatically a solution to lock-in; it can increase complexity and cost without improving portability.

10. Applied Case: Northstar Retail Platform

The following is an illustrative case.

Background

Northstar Retail operates online and physical stores across several regions. Product teams previously requested cloud environments through a central operations queue. Releases were infrequent, configuration differed between environments, and security reviews occurred late. Teams adopted unapproved scripts and cloud services to meet deadlines.

Problem

Northstar needed faster delivery without weakening payment security, privacy controls, or operational reliability. Leadership initially proposed a single mandatory Kubernetes platform. Interviews revealed that some workloads were event-driven, some were conventional web services, and several legacy systems could not be containerized economically.

Analysis

The organization mapped developer journeys and identified three common workload types: web services, asynchronous workers, and managed data services. It classified workloads by criticality and data sensitivity. It also found that the largest delays came from environment provisioning, inconsistent pipeline setup, and late security evidence—not from the absence of a particular orchestrator.

Approach

Northstar formed a platform product team with representatives from development, security, operations, and finance. It created three golden paths rather than one universal architecture. Each path included repository templates, build and test workflows, artifact signing, dependency scanning, environment configuration, standard logs and metrics, ownership metadata, and documented service objectives.

Environment and deployment configuration was stored in Git. A reconciliation controller deployed approved artifacts. Pull requests triggered policy checks for identity, network exposure, encryption, data classification, resource limits, and required operational contacts. Production changes for high-criticality services required two-person approval, while low-risk development changes remained largely automated.

The platform portal displayed service ownership, deployment status, vulnerabilities, cost allocation, and runbooks. Exceptions were time-limited and recorded in ADRs. A monthly platform council reviewed adoption, incidents, developer feedback, cost trends, and policies that caused repeated friction.

Outcome

Provisioning became largely self-service, environment differences decreased, and security evidence was generated during delivery rather than assembled after release. Teams retained architectural choice within defined boundaries. The organization did not eliminate all incidents: an incorrect policy initially blocked legitimate deployments, and a database migration caused a rollback challenge. These events led to better policy testing, migration guidance, and recovery exercises.

Learning points

  1. Platform design should begin with user journeys and business risks, not a preferred tool.
  2. Golden paths should be multiple and purposeful, not universal and rigid.
  3. GitOps improves traceability and convergence but does not automatically solve data migration or policy errors.
  4. Governance works best when routine controls are automated and exceptions are explicit.
  5. Platform success requires product management, support, migration planning, and continuous learning.

11. Challenges and Limitations

Platform engineering can create a new central bottleneck if the platform team becomes overloaded or controls too many decisions. Standardization may suppress useful innovation, while excessive flexibility recreates fragmentation. Abstraction can hide important operational behavior and make debugging difficult. A platform may also increase blast radius when shared components fail.

GitOps has limitations. Declarative configuration can become complex, secrets require careful handling, and reconciliation may conflict with external systems that modify resources. Git history is not a substitute for runtime observability. Fast rollback of application configuration may be unsafe for irreversible data changes. Finally, repositories, pipelines, and controllers themselves are critical infrastructure and must be secured and operated.

Governance can fail through approval overload, vague policies, stale reference architectures, or metrics used for punishment. The remedy is not to remove governance but to improve proportionality, automation, feedback, and accountability.

12. Contemporary Developments and Best Practices

Current platform initiatives increasingly emphasize developer experience, internal APIs, software supply-chain security, ephemeral environments, workload identity, and cost transparency. Platform teams are also using AI assistants for documentation, code generation, incident analysis, and policy explanation. These tools should operate within approved data boundaries, produce reviewable outputs, and be evaluated for accuracy and security.

Recommended practices are:

  • treat the platform as a product with named users and outcomes;
  • start with a small number of high-value golden paths;
  • expose stable interfaces and version reusable components;
  • make secure defaults the easiest defaults;
  • use GitOps for traceable declarative changes, but design separately for data recovery;
  • implement policy as code with tests and clear failure messages;
  • measure delivery, reliability, security, cost, and developer experience together;
  • use risk-based architecture review and time-limited exceptions;
  • publish ownership, support boundaries, and deprecation plans; and
  • rehearse failure, recovery, migration, and platform exit scenarios.

Chapter Summary

Platform engineering creates internal developer platforms that package infrastructure, automation, standards, security, observability, and documentation into self-service capabilities. Its central idea is to reduce developer cognitive load while preserving accountability. Golden paths provide supported defaults, but they should not become inflexible mandates.

GitOps manages declarative desired state through version control and continuous reconciliation. It improves auditability, repeatability, drift detection, and promotion, but requires secure repositories, reliable controllers, careful secret management, and explicit treatment of database changes and emergencies.

Enterprise governance combines policies, reference architectures, ADRs, policy as code, guardrails, risk-based reviews, and exception management. Effective governance enables autonomy by automating routine controls and reserving human judgment for consequential decisions. Platform operating models may be centralized, federated, or hybrid, and platform teams must be managed as product teams.

Evaluation should include security, integration, operability, total cost, portability, skills, and exit risk. Success must be assessed through balanced measures covering delivery flow, reliability, security, cost, adoption, and developer experience. The overarching goal is reliable autonomy: teams deliver valuable software quickly because the platform and governance system make safe behavior practical and visible.

Key Terms

Platform engineering: The practice of building and operating internal platforms that simplify software delivery.

Internal developer platform: A product-like set of services, tools, workflows, and standards provided to internal engineering teams.

Golden path: A recommended, supported route for completing a common engineering task.

Self-service: The ability to obtain environments or delivery capabilities through automated interfaces without routine manual intervention.

Platform as a product: Managing an internal platform using product discovery, user feedback, roadmaps, support, and lifecycle practices.

Declarative configuration: A description of the desired result rather than a sequence of implementation commands.

GitOps: An operating model using version-controlled desired state and automated reconciliation.

Reconciliation: The process of comparing actual state with desired state and applying corrective actions.

Drift: A difference between declared configuration and running system state.

Policy as code: Machine-readable, versioned rules that automatically evaluate or enforce controls.

Guardrail: A control that prevents or limits dangerous actions while allowing approved autonomy.

Architecture decision record: A concise record of a significant technical decision, its context, alternatives, and consequences.

Service catalog: A structured inventory of services, ownership, dependencies, status, and operational information.

Error budget: The amount of unreliability permitted by a service-level objective during a defined period.

Software supply chain: The people, processes, code, dependencies, tools, and artifacts involved in producing software.

Immutable artifact: A built software artifact whose contents do not change after publication.

Exception management: The controlled process for approving, recording, mitigating, and expiring deviations from standards.

Developer experience: The effectiveness, efficiency, and perceived quality of developers’ interaction with tools and processes.

Vendor lock-in: Dependence on a provider that makes migration difficult or costly.

Reliable autonomy: Organizational independence supported by common automation, standards, and measurable controls.

Review Questions

Short Answer Questions

  1. What distinguishes an internal developer platform from a collection of DevOps tools?
  2. Define GitOps and state two of its central principles.
  3. What is a golden path, and why should it not always be mandatory?
  4. Explain the meaning of configuration drift.
  5. What information should an architecture decision record contain?

Long Answer Questions

  1. Explain the layers of an internal developer platform and how they support self-service delivery.
  2. Describe a GitOps promotion and rollback model, including the special risks of database changes.
  3. Compare centralized, federated, and hybrid platform operating models.
  4. Discuss how policy as code, guardrails, and exception management can support enterprise governance.
  5. Develop a vendor-evaluation framework for selecting an enterprise platform capability.

Analytical / Application Questions

  1. An organization has rapid deployments but frequent production failures. Which platform metrics and governance mechanisms would you examine, and why?
  2. Design a golden path for a new web service, identifying the developer inputs, automated controls, deployment steps, ownership data, and recovery provisions.
  3. A production engineer manually changes a GitOps-managed resource during an outage. Analyze the immediate and long-term actions required to manage drift, preserve evidence, and prevent recurrence.

Multiple Choice Questions with Answers

Question 1

Which characteristic most clearly distinguishes an internal developer platform from a basic toolchain?

A. It contains only open-source software.

B. It presents integrated, supported self-service capabilities to developers.

C. It eliminates the need for application teams to own services.

D. It requires every application to use the same runtime.

Correct Answer: B. It presents integrated, supported self-service capabilities to developers.

Question 2

In GitOps, what is the usual authoritative source for desired system state?

A. An operator’s local shell history

B. A production database

C. A version-controlled repository

D. An undocumented incident channel

Correct Answer: C. A version-controlled repository

Question 3

What does a reconciliation controller primarily do?

A. Compares actual state with desired state and applies corrective actions.

B. Replaces all human architecture decisions.

C. Compiles application source code into machine language.

D. Approves every business requirement.

Correct Answer: A. Compares actual state with desired state and applies corrective actions.

Question 4

Which is the best example of policy as code?

A. A verbally stated security preference

B. A machine-checkable rule rejecting public storage resources

C. An informal agreement between two developers

D. A vendor advertisement

Correct Answer: B. A machine-checkable rule rejecting public storage resources

Question 5

Why are immutable artifacts valuable in a promotion workflow?

A. They ensure the tested artifact can be identified as the deployed artifact.

B. They allow production code to change without review.

C. They remove the need for testing.

D. They guarantee that database migrations are reversible.

Correct Answer: A. They ensure the tested artifact can be identified as the deployed artifact.

Question 6

Which practice is most appropriate for a high-risk architecture exception?

A. Ignore it if the deployment succeeds.

B. Record its owner, justification, controls, and expiry date.

C. Make it permanent without review.

D. Hide it from the service catalog.

Correct Answer: B. Record its owner, justification, controls, and expiry date.

Question 7

If vendor weights sum to 1 and a vendor’s weighted criterion products total 82, what does 82 represent?

A. The number of supported integrations

B. A weighted evaluation score on the chosen scoring scale

C. The vendor’s annual cost in thousands of dollars

D. The number of users required to operate the platform

Correct Answer: B. A weighted evaluation score on the chosen scoring scale

Question 8

Which situation is an example of configuration drift?

A. A pull request changes the declared desired state.

B. A deployment controller applies the repository configuration.

C. A manual production change differs from the configuration stored in Git.

D. A developer reads a platform document.

Correct Answer: C. A manual production change differs from the configuration stored in Git.

Question 9

What is a major limitation of treating GitOps rollback as a complete recovery strategy?

A. Git cannot store text files.

B. Database schema or data changes may not be safely reversible.

C. GitOps cannot record authorship.

D. Controllers cannot observe running systems.

Correct Answer: B. Database schema or data changes may not be safely reversible.

Question 10

Which platform measure best reflects developer experience rather than mere platform activity?

A. Number of platform servers purchased

B. Number of policy documents published

C. Time required to obtain a working development environment

D. Number of meetings held by the platform team

Correct Answer: C. Time required to obtain a working development environment

DevOps
Chapter 13 of 15