DevOps is about shortening the path from change to production safely: automation, observability, and ownership of runtime behavior. The goal is not tools; it is predictable delivery and fast recovery when things break. Example: a good pipeline makes rollback boring and makes failures visible before users notice.

DevOps, SRE, and Platform Engineering

DevOps is the organizational and technical practice of shortening delivery feedback loops while the team that changes a service remains accountable for its runtime behavior. SRE applies software engineering to operations and makes reliability explicit through SLOs, error budgets, automation, and limits on toil. Platform engineering builds an internal product—a supported self-service path—that reduces repeated cognitive and operational load for application teams.

Use SRE when reliability work needs an explicit operating model and measurable budget. Build a platform when several teams repeatedly solve the same paved-road problem and will actually adopt the product. Neither creates a handoff back to an operations silo: application teams still own service behavior, while SRE or platform teams supply policy, expertise, and reusable mechanisms. A platform with no product owner becomes another ticket queue; SRE without authority over reliability priorities becomes incident cleanup.

Non-normative source visual

The illustrated SRE “handoff” is not the ownership model used here. The application team remains accountable for service behavior; SRE and platform teams provide reliability policy, expertise, and reusable mechanisms without becoming a downstream operations silo.

Twelve-Factor Application and Deployment Contract

The durable Twelve-Factor constraints are one codebase per deployable app, explicit dependencies, configuration outside code, attached resources behind replaceable bindings, separate build/release/run stages, stateless share-nothing processes, self-contained service binding, horizontal process scaling, fast startup and graceful shutdown, development/production parity, event-stream logs, and admin tasks run as one-off processes.

Translate those constraints into current mechanics: build one image, attach environment configuration and secret references to form a release, run disposable replicas, stream structured events, and execute migrations as bounded jobs. The method does not specify containers, Kubernetes, service meshes, zero trust, supply-chain provenance, or modern telemetry; add those controls when the threat model and platform require them instead of pretending the original twelve factors cover them.

DevSecOps Security Gates

BoundaryEvidenceBlocking rule
DesignThreat model and abuse casesBlock unresolved high-impact design threats
Commit/PRSecret scan, SAST, dependency and license policyBlock verified secrets, exploitable critical findings, or prohibited dependencies
BuildSBOM, provenance, IaC and container scan, signatureBlock missing identity/provenance or policy-breaking artifacts
Test environmentDAST and authorization testsBlock reproducible high-impact exploit paths
DeploySignature verification and admission policyReject unknown or noncompliant digests
RuntimeDetection, drift, and incident telemetryPage on active exploitation; create tracked risk for non-urgent findings

Severity alone is not a release rule. Include exploitability, reachability, asset criticality, compensating controls, owner, and expiry. False positives need a documented suppression tied to the exact rule and artifact, not a global disable. Signing an artifact proves identity and integrity; it does not prove the code is safe.

Questions

References

7 items under this folder.