DevOps Intermediate

DevOps

Culture and set of practices that unites development (Dev) and operations (Ops) teams to deliver software faster, more reliably, and continuously.

Pronunciation

/ˈdev.ɒps/
"DEV-ops"

What is it

DevOps combines the terms Development and Operations. It’s not just a tool or a methodology — it’s a culture of collaboration between those who build software and those who keep it running.

The goal: deliver software changes frequently, reliably, and automatically, breaking down the silos that historically separated developers and system administrators.

The Problem It Solves

In the traditional model:

Dev Team: "The code is ready, let Ops deploy it"

Ops Team: "We can't deploy until we review everything"

Result: Weeks of waiting, production bugs, blame games

With DevOps, both teams share responsibility and work together from the start.

The 4 Core Principles (CALMS)

PrincipleDescription
CultureCollaboration and shared responsibility
AutomationAutomate everything repeatable
LeanEliminate waste from the process
MeasurementMeasure everything to continuously improve
SharingShare knowledge across teams

The DORA Metrics

DORA (DevOps Research and Assessment) identified 4 metrics that predict software team performance:

MetricWhat it measuresElite performers
Deployment FrequencyHow often deploys happenMultiple times per day
Lead Time for ChangesTime from commit to productionLess than 1 hour
Change Failure Rate% of deploys causing incidents0-15%
Time to Restore ServiceRecovery time after failureLess than 1 hour

Typical DevOps Ecosystem Tools

Code → [Git] → CI/CD Pipeline → Tests → Build → Deploy → Monitor
                (GitHub Actions,           (Docker,    (Datadog,
                 GitLab CI,             Kubernetes)   Grafana)
                 Jenkins)

Version Control: Git, GitHub, GitLab
CI/CD: GitHub Actions, GitLab CI, Jenkins, CircleCI
Containers: Docker, Podman
Orchestration: Kubernetes, Amazon ECS
Infrastructure as Code: Terraform, Ansible, Pulumi
Monitoring: Datadog, Grafana, Prometheus, New Relic

DevOps in Practice: A Modern Delivery Cycle

  1. Developer commits → code goes to Git
  2. CI pipeline triggers automatically
  3. Tests run in parallel (unit, integration)
  4. Build is packaged into a Docker image
  5. Automatic deploy to staging environment
  6. Smoke tests confirm it works
  7. Approval (manual or automatic) for production
  8. Deploy to production with automatic rollback if something fails
  9. Continuous monitoring and alerts

All of this can happen in under 30 minutes.

Why It Matters for Companies Hiring Software

When evaluating a software vendor, DevOps practices signal team maturity:

Team with good DevOps practices:

  • Can deliver small, frequent changes (lower risk)
  • Catches problems before they reach production
  • Recovers quickly when something fails
  • Has full visibility into what’s happening in production

Team without DevOps:

  • Large, infrequent, risky deployments
  • Late bug discovery (when the customer already suffered it)
  • Slow, manual incident recovery
  • Little control over the real state of the system
  • [[CI/CD]] - The central DevOps practice: continuous integration and delivery
  • [[Docker]] - Containers that make repeatable deployments possible
  • [[Shift-Left Security]] - Bringing security to the start of the DevOps cycle
  • [[Microservices]] - Architecture that DevOps allows deploying independently

Additional Resources: