DevOps & CI/CD

Chapter 1
DevOps Foundations and Evolution

Advance Diploma in Cloud Computing
DevOps & CI/CD   •   Advance Diploma

DevOps Foundations and Evolution

Introduction

DevOps is an organisational and technical approach to delivering digital products rapidly, reliably, securely, and sustainably. It connects software development, IT operations, quality engineering, security, product management, and business stakeholders around a shared responsibility for delivering customer value. DevOps is therefore more than a collection of tools. It is a sociotechnical system: its outcomes depend on people, processes, architecture, technology, incentives, and organisational learning.

Traditional software delivery often separated development from operations. Developers were expected to produce features, while operations teams were expected to deploy and run them. This separation created predictable problems: long handovers, conflicting goals, slow releases, unclear accountability, and delayed discovery of defects. DevOps emerged as a response to these problems, particularly as organisations adopted agile development, cloud computing, web-scale services, and continuous delivery.

For an advanced diploma student, DevOps should be understood at two levels. At the practical level, it involves source control, automated testing, infrastructure automation, deployment pipelines, monitoring, and incident response. At the systems level, it involves optimising the complete flow from customer need to running service rather than optimising individual departments.

Learning Objectives

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

  • define DevOps and distinguish it from automation or a job title;
  • explain the historical conditions that led to DevOps;
  • describe the principles of flow, feedback, continuous learning, and shared responsibility;
  • apply the CALMS model to an organisation or delivery team;
  • explain systems thinking and the Theory of Constraints in a delivery context;
  • relate DevOps to Agile, Lean, cloud computing, and digital transformation;
  • describe a contemporary software delivery lifecycle;
  • identify useful DevOps performance measures and their limitations;
  • evaluate governance, security, ethical, and organisational concerns in DevOps practice.

1. What DevOps Means

The term DevOps combines “development” and “operations,” but its meaning is broader than the names of two departments. DevOps is a set of cultural values, technical practices, and management approaches that improves the flow of value through the software delivery and service-operation system.

A DevOps organisation attempts to reduce the distance between:

  • business objectives and technical work;
  • code creation and production operation;
  • development responsibility and operational responsibility;
  • customer feedback and product decisions;
  • identifying a problem and learning from it.

DevOps does not necessarily require one combined department. A large organisation may retain specialist teams while creating shared objectives, automated interfaces, common metrics, and collaborative working arrangements. Nor does DevOps mean that every developer must become an expert system administrator. It means that the organisation designs responsibilities and feedback mechanisms so that the whole service can be delivered and operated effectively.

Important terminology

Continuous integration (CI) is the frequent integration of small code changes into a shared repository, supported by automated build and test activities.

Continuous delivery is the capability to keep software in a releasable state through automation, testing, configuration management, and deployment practices. A release may still require a business decision.

Continuous deployment goes further: an approved change that passes the required controls is automatically deployed to production.

Infrastructure as code (IaC) represents infrastructure configuration in machine-readable, version-controlled definitions.

Observability is the ability to understand the internal state and behaviour of a system from its externally available outputs, commonly logs, metrics, traces, events, and profiles.

Site reliability engineering (SRE) is an engineering-oriented approach to operating reliable services, associated with practices such as service-level objectives, error budgets, automation, and blameless incident learning.

Value stream means the complete sequence of activities required to transform a customer or business need into a delivered outcome.

Deployment is the technical act of placing a software version into an environment. Release is making functionality available to users. These events may be separated through techniques such as feature flags or dark launches.

2. Historical Evolution

DevOps did not appear suddenly. It developed from several overlapping movements.

Mainframe and early operations

Early business computing relied on centralised systems, formal change control, and specialist operations teams. Stability was highly valued because computing resources were expensive and production changes were risky. The strengths of this model included discipline and traceability, but its weaknesses included slow delivery and limited experimentation.

The rise of distributed systems

Client-server systems, the internet, open-source software, and web applications increased the frequency and complexity of change. Organisations needed to deploy software more often and manage systems across multiple machines and networks. Manual configuration and informal knowledge became increasingly unreliable.

Agile development

The Agile Manifesto, published in 2001, emphasised individuals and interactions, working software, customer collaboration, and responsiveness to change. Agile methods improved development feedback, but many organisations implemented Agile only within development teams. If operations remained a separate approval gate, the overall delivery process could still be slow.

Lean thinking

Lean management contributed concepts such as value, waste reduction, small batches, pull systems, quality at the source, and continuous improvement. DevOps adopted the insight that optimising one department can reduce performance across the whole system. For example, a development team that maximises the number of completed features may overload testing and operations.

Infrastructure automation and cloud computing

Virtualisation, configuration management, containers, and cloud platforms made it possible to provision environments through software. This reduced dependence on manually configured servers and enabled repeatable environments. However, cloud technology alone does not create DevOps; it can also automate a poorly designed process.

The DevOps movement

The term became widely associated with the “DevOps Days” events beginning in 2009 and with practitioners who sought to improve collaboration between development and operations. Books, research, community practice, and commercial tooling subsequently expanded the movement. Today, DevOps often includes security, compliance, data engineering, platform engineering, and product management.

The historical lesson is important: DevOps is an evolutionary response to increasing delivery frequency, system complexity, and customer expectations. It is not simply a product category.

3. Core Principles

Flow

Flow concerns the movement of work from idea to customer. Work flows more effectively when teams use small batches, reduce unnecessary handoffs, limit work in progress, and remove queues. A large feature held for months creates delayed feedback and a large risk profile. Smaller changes are easier to test, review, deploy, and reverse.

A useful conceptual relationship is Little’s Law:

L = λW

Here, L is the average work in progress, λ is the average completion rate, and W is the average time that an item spends in the system. The relationship assumes a reasonably stable system over the period being measured. For example, if a team completes 10 work items per week and an item remains in the system for an average of 2 weeks, the average work in progress is approximately 20 items. The equation does not identify the cause of delay; it shows why reducing excessive work in progress can reduce lead time when throughput is stable.

Feedback

Fast feedback allows defects, security weaknesses, usability problems, and operational risks to be discovered while they are still inexpensive to correct. Feedback may come from code review, automated tests, deployment verification, monitoring, customer analytics, support requests, or incident reviews.

Feedback is useful only when it is actionable and trusted. A test suite that produces frequent false failures will be ignored. A monitoring system that generates thousands of unactionable alerts will create alert fatigue. Teams therefore need feedback quality, not merely feedback quantity.

Continuous learning and experimentation

DevOps treats improvement as an ongoing activity. Teams use retrospectives, blameless post-incident reviews, controlled experiments, and improvement backlogs. Blamelessness does not mean absence of accountability. It means investigating system conditions rather than using individual blame as the primary explanation for failure.

Shared responsibility

A service is not complete when code is committed. It must be secure, deployable, observable, maintainable, compliant, and useful. Shared responsibility clarifies that development, operations, security, and business teams contribute to the service outcome. It does not eliminate specialist expertise; it connects expertise through collaboration and common objectives.

Automation with judgement

Automation reduces repetitive effort and variation, but it must be governed. An automated deployment can propagate a defect quickly; an automated access policy can block essential work; an automated test can encode an incorrect assumption. Effective DevOps combines automation with review, policy, auditability, and appropriate human decision-making.

4. The CALMS Model

CALMS is a practical framework for assessing DevOps capability. Its five dimensions are Culture, Automation, Lean, Measurement, and Sharing.

DimensionMeaningTypical evidence
CultureCollaboration, trust, learning, and shared ownershipCross-functional teams, blameless learning, common goals
AutomationAutomating repeatable delivery and operational workCI pipelines, IaC, automated tests, deployment automation
LeanImproving flow and reducing wasteSmall batches, limited work in progress, shorter queues
MeasurementUsing meaningful evidence for decisionsLead time, reliability, customer outcomes, service metrics
SharingMaking knowledge, feedback, and practices visibleDocumentation, communities of practice, dashboards, peer learning

The model should not be treated as a sequential maturity checklist. An organisation may have excellent automation but poor culture, or strong collaboration but weak measurement. These dimensions reinforce one another. For instance, automation is less effective when teams do not share responsibility for its maintenance.

Culture

Culture is visible in incentives and everyday behaviour, not in slogans. If teams are rewarded for local utilisation rather than customer outcomes, collaboration may remain superficial. Leaders support DevOps by funding improvement work, rewarding learning, making ownership clear, and avoiding punitive responses to honest failure.

Automation

A sound automation strategy begins with stable, understandable processes. Source control, repeatable builds, automated tests, environment provisioning, deployment, rollback, and monitoring are common targets. Automation should be versioned, observable, secure, and tested like application code.

Lean

Lean asks where work waits, is repeated, handed over, batched, or rejected. Examples of waste include manual environment setup, duplicated approvals, defects discovered late, unused features, and unplanned operational work. Lean does not mean eliminating necessary controls. It means designing controls to protect value without creating avoidable delay.

Measurement

Measurement must connect technical activity with service and customer outcomes. A dashboard of deployment counts alone may encourage risky releases. Metrics should be interpreted as signals within a system, not as isolated targets.

Sharing

Sharing includes code, documentation, operational knowledge, design decisions, incident findings, and reusable platform capabilities. It reduces dependence on hidden expertise and supports organisational resilience.

5. Systems Thinking and the Theory of Constraints

Systems thinking

Systems thinking views delivery as an interconnected system with feedback, delays, dependencies, and unintended consequences. A local improvement can worsen total performance. For example, increasing the number of developers may increase the queue for security review, integration testing, or production deployment.

A systems-thinking analysis asks:

  1. What is the customer outcome?
  2. What activities and queues form the value stream?
  3. Where are dependencies and feedback delays?
  4. Which local measures conflict with system performance?
  5. What behaviour does the organisational reward system produce?

This approach discourages arguments such as “development is fast, therefore delivery is fast.” Delivery is governed by the complete path.

Theory of Constraints

The Theory of Constraints proposes that system performance is limited by one or more constraints. A constraint may be a test environment, a specialist approval, a database migration process, a security review, or a production support team.

The common improvement cycle is:

  1. Identify the system’s current constraint.
  2. Exploit it by ensuring that its capacity is used effectively, without unnecessary interruptions.
  3. Subordinate other activities to the constraint’s needs.
  4. Elevate the constraint by adding capacity, simplifying work, or improving technology.
  5. Repeat, because improving one constraint may reveal another.

Suppose a delivery system can develop 30 changes per month but its release validation team can validate only 10. Increasing development output to 40 changes does not increase delivered value; it increases the queue. Possible responses include automated validation, risk-based testing, improved environments, or additional trained reviewers. The correct intervention depends on evidence rather than assumptions.

6. DevOps and Agile

Agile and DevOps are related but not identical. Agile primarily addresses adaptive product development under changing requirements. DevOps extends the concern across integration, release, deployment, operation, and learning from real use.

Agile emphasisDevOps extension
Iterative developmentContinuous integration and delivery
Customer collaborationOperational and usage feedback
Product backlogEnd-to-end value-stream prioritisation
Working softwareSecure, observable, reliable service
Development team ownershipShared product and service ownership

A team can practise Scrum ceremonies without achieving DevOps if releases remain infrequent and operations are excluded. Conversely, a team may use Kanban or another method and still implement effective DevOps. The essential connection is empirical learning and the reduction of barriers between idea, delivery, and operation.

7. The Contemporary Delivery Lifecycle

A DevOps lifecycle is continuous rather than a one-way sequence. A typical lifecycle includes:

  1. Plan: understand customer needs, risks, constraints, and desired outcomes.
  2. Develop: implement changes using collaborative version control and peer review.
  3. Build: compile, package, and produce traceable artefacts.
  4. Test: conduct unit, integration, security, performance, usability, and acceptance testing as appropriate.
  5. Release: approve and prepare a version for deployment.
  6. Deploy: place the version into an environment using repeatable procedures.
  7. Operate: run the service, manage capacity, reliability, access, and cost.
  8. Observe and learn: analyse system behaviour, customer outcomes, incidents, and improvement opportunities.

These activities may overlap. Testing begins during design; security is integrated throughout; operations informs architecture; and product decisions use production evidence.

Deployment strategies include blue-green deployment, canary release, rolling deployment, and feature flags. A blue-green approach maintains two production environments and switches traffic between them. A canary release exposes a change to a small proportion of users before wider rollout. Feature flags separate code deployment from feature activation. Each strategy has costs and risks, including configuration complexity and the possibility of inconsistent user experiences.

DevSecOps

Security should be integrated into the lifecycle rather than added at the end. Practices include threat modelling, secure coding, dependency scanning, secret management, least-privilege access, software composition analysis, infrastructure policy checks, and runtime monitoring. Security automation supports speed, but high-risk decisions may still require specialist review.

Reliability and operations

Reliable operation requires more than successful deployment. Teams need backups, disaster recovery, capacity planning, incident response, patch management, observability, and clear service ownership. Service-level indicators describe measured behaviour, such as availability or latency. Service-level objectives define desired targets. Service-level agreements may establish contractual commitments to customers.

8. Measuring DevOps Performance

The widely used DORA measures provide a starting point for delivery analysis:

  • deployment frequency;
  • lead time for changes;
  • change failure rate;
  • time to restore service.

These measures should be defined consistently. For example, lead time may mean the period from code commit to production deployment, while another organisation may measure from approved idea to customer availability. A metric without a clear definition is difficult to compare.

Quality and sustainability require additional measures, such as escaped defects, vulnerability remediation time, availability, latency, customer satisfaction, developer experience, operational toil, and cloud cost. Metrics should be used for learning and improvement, not simplistic ranking of teams. If a team is pressured to maximise deployment frequency, it may split changes artificially or reduce testing. Balanced interpretation is essential.

9. Applied Case: Northstar Retail Platform

The following is an illustrative case designed for learning.

Background

Northstar Retail operates an online store. Its development team releases every six to eight weeks. Releases require a weekend change window, manual configuration, and approval from several departments. Customers experience occasional payment failures after releases, while developers receive limited information about production behaviour.

Problem

The organisation believes development is understaffed and plans to hire more developers. However, an initial value-stream analysis shows that coding is not the largest delay. Changes spend most of their time waiting for integration testing, security review, and release scheduling. The payment service is also difficult to test because the test environment differs from production.

Analysis

The team maps work from approved story to production. It identifies:

  • large batches of changes grouped into monthly releases;
  • manual environment configuration;
  • late security testing;
  • no automated deployment verification;
  • incomplete service-level indicators;
  • unclear ownership after production release.

The current constraint is release validation and environment reliability, not developer capacity.

Approach

Northstar forms a cross-functional product team containing developers, testers, an operations engineer, and a security representative. It introduces a version-controlled build pipeline, automated unit and integration tests, infrastructure as code for test environments, early dependency scanning, and production dashboards for payment success rate and latency. It uses a canary release for low-risk changes and retains human approval for high-risk payment changes.

The team limits work in progress and releases smaller changes. After each incident, it conducts a blameless review that identifies contributing conditions, such as missing monitoring or ambiguous rollback procedures.

Outcome

After several months, releases occur more frequently and with smaller change sets. The organisation detects payment regressions earlier and can restore service more quickly. The result is not attributed to a single tool. It follows from addressing the constraint, improving feedback, sharing responsibility, and changing the delivery system.

Learning points

The case demonstrates that DevOps begins with system diagnosis. Hiring more developers would probably have increased the queue at validation. Automation was valuable because it addressed a known delay and was supported by ownership, measurement, and governance. The organisation also avoided equating speed with recklessness by retaining risk-based approval for sensitive changes.

10. Digital Transformation and Organisational Implications

Digital transformation involves changing how an organisation creates value through digital capabilities. DevOps supports transformation by shortening learning cycles between business decisions, software changes, and customer experience. It enables organisations to experiment, respond to market changes, and operate services at scale.

However, DevOps cannot compensate for an incoherent product strategy, poor architecture, weak leadership, or unrealistic incentives. Transformation may require changes to funding models, team boundaries, procurement, compliance processes, architecture, and performance management. Product teams need authority to make decisions, platform teams need clear internal-service responsibilities, and leaders need to protect improvement work from being displaced entirely by urgent delivery.

Platform engineering is a contemporary development in which teams provide reusable internal platforms, templates, deployment capabilities, observability, and security controls. A platform should reduce cognitive load for product teams without becoming another centralised bottleneck. Internal platforms should be treated as products with users, service levels, documentation, and feedback.

Artificial intelligence can assist DevOps through code suggestions, test generation, anomaly detection, log summarisation, incident correlation, and natural-language interfaces to tools. Its use requires governance: generated code may contain vulnerabilities, models may expose confidential information, and automated recommendations may be confidently wrong. Human review, data protection, auditability, and controlled experimentation remain necessary.

11. Challenges, Limitations, and Governance

Cultural resistance

Teams may fear loss of authority, increased accountability, or job displacement. Leaders should explain objectives, involve practitioners in design, and invest in training. Reorganising teams without improving incentives and workflows rarely produces lasting change.

Tool-first transformation

Purchasing a pipeline platform does not establish continuous delivery. Tools should follow a clear problem statement and value-stream analysis.

Excessive automation

Automation can amplify errors, create opaque dependencies, and make recovery difficult. Critical pipelines require access control, approval policies, audit logs, testing, backup procedures, and rollback or forward-fix strategies.

Compliance and segregation of duties

Regulated organisations must preserve evidence of approvals, access, testing, and change history. Compliance need not require slow manual processes; policy-as-code, immutable logs, automated evidence collection, and risk-based controls can provide both traceability and speed. Requirements differ by jurisdiction and sector, so professional teams must consult applicable law and organisational policy.

Privacy and ethics

Observability data may contain personal or sensitive information. Logs and traces should be minimised, access-controlled, retained appropriately, and protected in transit and at rest. Employee monitoring metrics can damage trust if used without transparency or context.

Reliability versus speed

Fast delivery is valuable only when accompanied by safety and learning. Progressive delivery, automated verification, error budgets, resilient design, and incident preparedness help balance speed and reliability.

Best-Practice Principles

  • Start with customer and organisational outcomes.
  • Map the entire value stream before selecting tools.
  • Keep changes small, reversible, and traceable.
  • Store application, infrastructure, and policy definitions in version control.
  • Automate repeatable checks, but retain appropriate human judgement.
  • Build security and compliance into the normal flow of work.
  • Measure both delivery performance and service outcomes.
  • Treat incidents as opportunities for system learning.
  • Limit work in progress and address the current constraint.
  • Design platforms and pipelines for usability, resilience, and maintainability.
  • Review automation, access, data protection, and AI use regularly.

Chapter Summary

DevOps is a sociotechnical approach to improving the flow of value from idea to reliable running service. It evolved from the interaction of Agile development, Lean thinking, infrastructure automation, cloud computing, and the growing need for frequent digital delivery. Its central principles are flow, rapid and meaningful feedback, continuous learning, shared responsibility, and carefully governed automation.

The CALMS model assesses Culture, Automation, Lean, Measurement, and Sharing. Systems thinking prevents local optimisation from damaging total performance, while the Theory of Constraints directs improvement toward the current limiting factor. DevOps complements Agile by extending adaptive learning beyond development into release, operation, security, and customer feedback.

A contemporary delivery lifecycle includes planning, development, building, testing, releasing, deploying, operating, observing, and learning. DevOps performance should be assessed using balanced measures such as deployment frequency, lead time, change failure rate, restoration time, reliability, customer outcomes, security, cost, and developer experience. DevOps supports digital transformation, but successful transformation also requires suitable governance, incentives, architecture, leadership, and organisational design.

Key Terms

DevOps: A sociotechnical approach for improving software delivery and service operation.

Continuous integration: Frequent integration of code changes supported by automated build and test activities.

Continuous delivery: Maintaining software in a releasable state through repeatable controls and automation.

Continuous deployment: Automatically deploying qualifying changes to production.

Value stream: The complete sequence of activities that transforms a need into a delivered outcome.

Infrastructure as code: Version-controlled, machine-readable infrastructure definitions.

Observability: Understanding internal system state from external outputs such as metrics, logs, and traces.

CALMS: A framework covering Culture, Automation, Lean, Measurement, and Sharing.

Systems thinking: Analysing relationships, feedback, constraints, and consequences across a whole system.

Theory of Constraints: An improvement approach centred on identifying and addressing the current system constraint.

Work in progress: Items that have been started but are not yet completed.

Little’s Law: The stable-system relationship L = λW, linking work in progress, throughput, and flow time.

DevSecOps: Integrating security practices throughout the DevOps lifecycle.

Site reliability engineering: An engineering approach to reliable service operation.

Service-level indicator: A measured characteristic of service performance.

Service-level objective: A target value or range for a service-level indicator.

Canary release: Gradually exposing a change to a limited user or infrastructure population.

Feature flag: A control that separates deployment of code from activation of functionality.

Platform engineering: Building internal platforms that provide reusable capabilities to delivery teams.

Digital transformation: Organisational change that uses digital capabilities to create or improve value.

Review Questions

Short Answer Questions

  1. Define DevOps and explain why it is more than a collection of tools.
  2. What are the five dimensions of the CALMS model?
  3. Distinguish continuous delivery from continuous deployment.
  4. What is the purpose of limiting work in progress?
  5. Why should security be integrated throughout the delivery lifecycle?

Long Answer Questions

  1. Explain the historical evolution from traditional operations and Agile development to contemporary DevOps.
  2. Discuss how systems thinking and the Theory of Constraints can improve a software delivery value stream.
  3. Explain the relationship between Agile and DevOps, identifying both their common ground and differences.
  4. Describe a complete DevOps delivery lifecycle and the controls required for reliable operation.
  5. Evaluate the CALMS model as a framework for organisational DevOps improvement.

Analytical / Application Questions

  1. A team deploys frequently, but production incidents are increasing and restoration is slow. Analyse the situation using CALMS and propose a balanced improvement plan.
  2. A security review is the main queue in a delivery process. Apply the five steps of the Theory of Constraints to this situation.
  3. Design a DevOps transformation approach for a regulated financial service that needs faster releases while preserving auditability, privacy, and segregation of duties.

Multiple Choice Questions with Answers

Question 1

Which statement best defines DevOps?

A. A programming language for automating deployments

B. A sociotechnical approach that improves the flow from development to reliable operation

C. A replacement for all specialist technology teams

D. A mandatory cloud-computing architecture

Correct Answer: B. A sociotechnical approach that improves the flow from development to reliable operation

Question 2

In the CALMS model, what does the letter L represent?

A. Leadership

B. Logging

C. Lean

D. Licensing

Correct Answer: C. Lean

Question 3

What is the primary purpose of continuous integration?

A. To delay integration until the end of a project

B. To frequently integrate changes and obtain automated build and test feedback

C. To eliminate the need for source control

D. To deploy every change directly to production

Correct Answer: B. To frequently integrate changes and obtain automated build and test feedback

Question 4

A team completes 8 work items per week, and an item spends an average of 3 weeks in the system. Under stable conditions, what is the approximate average work in progress?

A. 11 items

B. 24 items

C. 5 items

D. 2.67 items

Correct Answer: B. 24 items

Question 5

What does the Theory of Constraints advise an organisation to do first?

A. Increase every team’s workload

B. Identify the current system constraint

C. Purchase a new deployment tool

D. Remove all approval controls

Correct Answer: B. Identify the current system constraint

Question 6

Which practice separates placing code in production from making a feature available to users?

A. Feature flags

B. Manual compilation

C. Capacity planning

D. Source deletion

Correct Answer: A. Feature flags

Question 7

Which activity belongs most directly to the operate stage of a DevOps lifecycle?

A. Writing the initial product vision

B. Managing service reliability, access, capacity, and incidents

C. Selecting a programming language before requirements exist

D. Removing monitoring after deployment

Correct Answer: B. Managing service reliability, access, capacity, and incidents

Question 8

Why is a high deployment frequency not sufficient as a standalone DevOps performance measure?

A. Deployment frequency cannot ever be measured

B. It may encourage risky or artificial releases unless interpreted with quality and reliability measures

C. Frequent deployment always reduces customer value

D. It measures only employee satisfaction

Correct Answer: B. It may encourage risky or artificial releases unless interpreted with quality and reliability measures

Question 9

What is a central purpose of blameless incident review?

A. To avoid identifying any contributing factors

B. To assign punishment quickly

C. To understand system conditions and improve future performance

D. To eliminate the need for incident records

Correct Answer: C. To understand system conditions and improve future performance

Question 10

Which statement about automation is most accurate?

A. Automation removes the need for governance

B. Automation is valuable when it addresses a known problem and remains observable, secure, and maintainable

C. Automation should be introduced before understanding the process

D. Automation guarantees that failures cannot occur

Correct Answer: B. Automation is valuable when it addresses a known problem and remains observable, secure, and maintainable

DevOps & CI/CD
Chapter 1 of 15