DevOps

What Is DevOps? Lifecycle, CI/CD, Tools and How to Get Started

What DevOps really means beyond the tools, how a CI/CD pipeline works from commit to production, how teams measure it, and what to learn in which order.

Published
Updated
Reading time
7 min read
The four phases of the DevOps lifecycle shown as a loop: plan, develop, deliver and operate.
In this guide

DevOps combines software development (Dev) and IT operations (Ops) into one way of working. Teams share responsibility for planning, building, releasing and running software, and they automate repetitive steps so that changes reach users quickly and safely.

Picture the old way of doing things. Developers finish a feature and hand it over. Weeks later, the operations team tries to deploy it, it fails on their servers, and each side blames the other. DevOps grew up as an answer to that gap. Microsoft describes it as uniting people, process and technology across the application lifecycle.

A common misconception is that DevOps is a list of tools. The tools matter, and this guide covers them, but they will not fix a team that still works in silos.

What are the phases of the DevOps lifecycle?

Microsoft divides the lifecycle into four phases: planning, development, delivery and operations. Each phase relies on the others, and the phases are not tied to particular job roles.

The DevOps lifecycle in practice
PhaseWhat happensTypical tools
PlanDefine work, track bugs and agree prioritiesJira, Azure Boards, GitHub Issues
DevelopWrite, test, review and integrate codeGit, GitHub, automated tests
DeliverBuild artifacts, deploy them and manage releasesGitHub Actions, Azure Pipelines, AWS CodePipeline
OperateMonitor, respond to incidents and maintain reliabilityCloudWatch, Azure Monitor, Prometheus

Treat the tools as examples. Teams use many different combinations, and the phase matters more than the product.

Core DevOps practices

Version control

Everything goes in version control, usually Git: application code, tests, pipeline definitions and infrastructure definitions. It gives you history, review and a way back when something breaks.

Continuous integration (CI)

Continuous integration means merging code changes often and automatically building and testing each one, so that problems surface while they are still small and cheap to fix.

Continuous delivery and continuous deployment (CD)

Continuous delivery keeps software ready to release at any time, often with an approval step. Continuous deployment goes further, and releases every change that passes automated checks with no manual step.

The two are easily confused, as both shorten to CD. AWS's DevOps overview covers these practices too.

Infrastructure as code (IaC)

IaC defines servers, networks and databases in files, not through clicks in a console. Those files can be reviewed and reverted like code, and the same definition can create identical test and production environments. Common tools include Terraform, AWS CloudFormation and Azure's ARM templates and Bicep.

Containers and orchestration

Docker packages an application with everything it needs to run, which reduces "it works on my machine" problems. Kubernetes then runs and manages containers across many machines. Not every project needs Kubernetes. It adds real operating complexity, so a simple app is often better served by a managed platform.

Monitoring and observability

You cannot run what you cannot see. Collect logs, metrics and traces, and alert on what truly needs action. Google's SRE book is a respected reference, and it suggests focusing on latency, traffic, errors and saturation.

Testing throughout the pipeline

Automated testing is what makes frequent releases safe. A sensible pipeline runs fast unit tests first, then API tests, then a smaller number of end-to-end tests. Our Playwright walkthrough shows how to write end-to-end tests that run in CI.

What does a CI/CD pipeline look like?

Here is what happens when a developer opens a pull request on a well-run team:

  1. A change is pushed to a branch in Git.
  2. CI starts automatically: install dependencies, lint, build and run tests.
  3. A teammate reviews the change, with test results on the same page.
  4. The merge produces a versioned artifact, such as a container image.
  5. CD deploys it to staging, where deeper tests run.
  6. It moves to production, by approval or automatically.
  7. Monitoring watches the release, and the team can roll back if error rates rise.

Here is that CI step in GitHub Actions:

name: CI
on:
  pull_request:
  push:
    branches: [main]

jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: lts/*
      - run: npm ci
      - run: npm run build
      - run: npm test

How do you measure DevOps performance?

The most widely used measures come from DORA, a long-running research programme. It tracks five metrics that balance speed against stability, so a team cannot look good by shipping fast and breaking things.

DORA's software delivery metrics
MetricMeasuresGroup
Change lead timeTime from commit to running in productionThroughput
Deployment frequencyHow often deployments happenThroughput
Failed deployment recovery timeTime to recover from a failed deploymentThroughput
Change fail rateShare of deployments needing immediate interventionInstability
Deployment rework rateShare of deployments that are unplanned, triggered by an incidentInstability

Older articles often list only four metrics. DORA's current guide lists these five. Use them to help a team improve over time, and avoid using them to rank individuals or compare unrelated teams.

DevOps on AWS and Azure

Both major clouds provide tools for the full lifecycle. Knowing how they map onto each other makes it easier to move between them.

Equivalent DevOps services
NeedAWSAzure
PipelinesCodePipelineAzure Pipelines
Infrastructure as codeCloudFormationARM templates and Bicep
Managed KubernetesEKSAKS
Serverless functionsLambdaFunctions

If you are still deciding between the two platforms, our guide to cloud computing, AWS and Azure compares them for beginners.

Common DevOps misconceptions

  • "DevOps is a job title." Many companies do hire DevOps engineers, but the idea began as a way of working across a team. Without that culture, a new "DevOps team" can simply become another silo.
  • "Buying tools means we do DevOps." Microsoft warns that you won't gain the full benefits without a shift in culture.
  • "Faster means riskier." Small, frequent, automatically tested changes are easier to review and easier to roll back than large, infrequent releases.
  • "You must use Kubernetes." Use the simplest platform that meets your needs.
  • "Testers are no longer needed." Quality work shifts toward building automated checks and thinking about risk. It does not disappear.

How do you start a DevOps career?

There is a lot to learn, so order matters. In our view, this sequence avoids the common trap of starting with Kubernetes before you understand Linux:

  1. Linux and the command line: files, processes, permissions and basic scripting.
  2. Networking basics: DNS, HTTP and ports. Many production problems come down to these.
  3. Git: branches, pull requests and resolving conflicts.
  4. One programming or scripting language: Python or Bash.
  5. One cloud platform: pick AWS or Azure and learn its core services.
  6. CI/CD: build a pipeline for a small app of your own.
  7. Docker, then infrastructure as code.
  8. Monitoring, then Kubernetes when you have a reason to use it.

A portfolio project

Take a small web app, such as one from our walkthrough of MERN. Add tests, a CI pipeline, a container image, infrastructure defined in code and a dashboard with one alert. Write a short README explaining your decisions. That shows far more than a list of tools on a resume.

At Right & Bright, DevOps practices are taught through our cloud courses. The 8-week AWS course includes CloudFormation and CodePipeline, and the 8-week Azure course includes Azure DevOps, AKS and ARM templates.

Frequently asked questions

Does DevOps require coding?

Yes, though usually less than application development. You will write scripts, pipeline definitions and infrastructure code, and reading application code helps when debugging.

What is the difference between DevOps and SRE?

They overlap heavily. DevOps is a broad set of cultural and technical practices. Site Reliability Engineering, which originated at Google, applies software engineering to operations, with a strong focus on reliability targets.

Can a fresher start a career in DevOps?

Yes, but it takes real effort, because the role draws on many skills. Projects that you can demonstrate will help. Some people also start in testing, support or development and move across.

Is DevOps the same as Agile?

No. Agile focuses on how teams plan and build in short cycles with regular feedback. DevOps extends that thinking through delivery and operations. They work well together.

Should I learn AWS or Azure for DevOps?

Learn one well first, as the concepts carry over. Check which one appears more often in job listings for the employers you are targeting.

Sources and further reading

Share this guide

AWS and Azure DevOps

Practise DevOps on a real cloud platform

Our 8-week AWS course includes CloudFormation and CodePipeline, and our 8-week Azure course includes Azure DevOps, AKS and ARM templates. Book a free demo class to see how they run.