S SDDO Notes · IE BCSAI 2025
10 · DevOps

Software Deployment

Deployment is the act of moving an artifact from "works on my machine" to "serves real users". The discipline is automation, repeatability, and the ability to undo.

The CI/CD pipeline

A pipeline is a sequence of stages, each running on every change. Typical stages:

  1. Checkout the code.
  2. Install dependencies.
  3. Lint — static checks, formatter.
  4. Test — unit, integration, with coverage gate.
  5. Build — produce the deployable artifact (Docker image, JAR, zip).
  6. Scan — secrets, dependencies, image CVEs.
  7. Publish — push artifact to registry.
  8. Deploy — to staging on every PR, to production on main.

CI = continuous integration: every change is merged often and tested.
CD = continuous delivery (always shippable) or deployment (every green build ships automatically). Pick the level your team and risk tolerance allow.

Artifacts & environments

Build once, deploy many. The same artifact promoted from dev → staging → production. Differences between environments live in configuration, never in the artifact.

Standard environments:

Containers & orchestration

A container packages the app with its OS-level dependencies. Same image runs on a laptop, a CI runner, or a production node. Best practices:

Orchestration (Kubernetes, ECS, Fly Machines, Nomad) handles scheduling, scaling, rolling updates, and self-healing of those containers across many nodes.

Deployment strategies

Rollback

The most important property of a deploy is its inverse. If you cannot answer "how do we go back to the previous version in under 5 minutes?", you do not have a deployment process — you have a hope.

Infrastructure as code

The cloud config — VMs, networks, DNS records, IAM roles — lives in version-controlled files (Terraform, Pulumi, CloudFormation). Changes go through the same PR review as application code. No more "what did Pedro click in the AWS console last Tuesday?"

"If it isn't automated, it doesn't exist."

What to remember at exam time

Source · Slide deck
Software Deployment — main deck + slides
Open PDF