🌍 Cloud Computing · subject
Cloud Computing DevOps, Automation, and Operations Syllabus
The DevOps, Automation, and Operations syllabus for Cloud Computing in full: 5 chapters and 20 topics, every one listed below, plus 50 DevOps, Automation, and Operations flashcards with answers.
DevOps, Automation, and Operations syllabus: all 5 chapters
Expand any chapter to see its topics and sub-topics.
-
Infrastructure as Code (IaC)
5 topics- Declarative vs Imperative IaC
- Terraform
- AWS CloudFormation
- Pulumi and CDK
- Configuration Management (Ansible)
-
CI/CD Pipelines
4 topics- Continuous Integration Concepts
- Continuous Delivery and Deployment
- Pipeline Tools
- Deployment Strategies
-
Observability and SRE
4 topics- Metrics, Logs, and Traces
- Service Level Objectives (SLO/SLI/SLA)
- Error Budgets
- Incident Management and On-Call
-
GitOps and Configuration
3 topics- GitOps Principles
- ArgoCD and Flux
- Drift Detection and Reconciliation
-
Cost Optimization and FinOps
4 topics- Cost Monitoring and Budgets
- Rightsizing and Resource Tagging
- Reserved Capacity and Spot Optimization
- Cloud Waste Reduction
Cloud Computing DevOps, Automation, and Operations flashcards — 50 questions with answers
What distinguishes declarative from imperative Infrastructure as Code (IaC)?
Declarative IaC specifies the desired end state and lets the tool figure out how to reach it (e.g., Terraform, CloudFormation). Imperative IaC specifies the exact sequence of commands/steps to execute to reach that state (e.g., shell scripts, raw AWS CLI). Declarative is idempotent and state-aware; imperative is procedural.
Why is idempotency important in declarative IaC?
Idempotency means applying the same configuration repeatedly produces the same result without unintended changes. It lets you re-run the tool safely; only the difference between actual and desired state is applied, avoiding duplicate resources or errors.
What is Terraform and who develops it?
Terraform is an open-source, cloud-agnostic, declarative IaC tool developed by HashiCorp. It uses HCL (HashiCorp Configuration Language) to define resources across many providers (AWS, Azure, GCP, etc.) and manages a state file to track real infrastructure.
What is the purpose of the Terraform state file (terraform.tfstate)?
It is a JSON mapping between the resources declared in configuration and the real-world infrastructure objects. Terraform uses it to detect drift, plan changes, and track metadata/dependencies. It should be stored remotely (e.g., S3 + DynamoDB lock) for team use and treated as sensitive.
List the core Terraform workflow commands in order.
$\text{init} \to \text{plan} \to \text{apply} \to \text{destroy}$. `init` initializes providers/backend, `plan` shows the execution plan (diff), `apply` makes changes, and `destroy` tears down managed resources.
In Terraform, what is the difference between a provider and a provisioner?
A provider is a plugin that lets Terraform manage a specific platform's API (e.g., AWS provider). A provisioner runs scripts/commands on a local or remote resource after creation (e.g., remote-exec) and is considered a last resort by HashiCorp.
What is a Terraform module?
A reusable, encapsulated container of Terraform configuration (a set of .tf files) that groups resources, exposing input variables and output values. Modules promote reuse and DRY infrastructure; the root module is the working directory itself.
What is AWS CloudFormation and what languages does it use?
CloudFormation is AWS's native declarative IaC service that provisions AWS resources using templates written in JSON or YAML. Resources are deployed as a unit called a stack.
In CloudFormation, what is a stack versus a change set?
A stack is a collection of AWS resources managed together as a single unit from one template. A change set is a preview of how proposed template changes would affect running resources before you execute them (analogous to Terraform's plan).
What is CloudFormation drift detection?
A feature that compares a stack's actual resource configurations against the expected configuration defined in its template, reporting resources that have been changed outside of CloudFormation (out-of-band changes).
What is Pulumi and how does it differ from Terraform?
Pulumi is an IaC tool that lets you define infrastructure using general-purpose programming languages (TypeScript, Python, Go, C#, Java) instead of a domain-specific language. It is declarative in outcome but authored with real code, enabling loops, functions, and classes natively.
What is the AWS CDK (Cloud Development Kit)?
A framework for defining AWS infrastructure using familiar programming languages (TypeScript, Python, Java, etc.). CDK code is synthesized (`cdk synth`) into a CloudFormation template, which is then deployed. It provides high-level reusable components called constructs.
What are the three levels of AWS CDK constructs?
L1 (CFN resources) are direct 1:1 mappings to CloudFormation resources; L2 (curated constructs) provide sensible defaults and boilerplate reduction; L3 (patterns) combine multiple resources into common architecture solutions (e.g., a load-balanced Fargate service).
What is Ansible and what paradigm does it use?
Ansible is an open-source configuration management and automation tool by Red Hat. It is agentless (uses SSH/WinRM), uses YAML playbooks, and is primarily procedural/task-based while striving for idempotent modules.
Define the key Ansible terms: playbook, inventory, and role.
A playbook is a YAML file of ordered plays/tasks. An inventory lists the managed hosts and groups. A role is a reusable, structured bundle of tasks, variables, handlers, and templates for a specific function (e.g., installing nginx).
Why is Ansible described as 'agentless'?
It does not require any daemon or software agent installed on managed nodes. It connects over standard SSH (Linux) or WinRM (Windows) and pushes modules to run, reducing footprint and maintenance on target hosts.
What is Continuous Integration (CI)?
A practice where developers frequently merge code changes into a shared mainline (often several times a day), with each merge triggering an automated build and test suite to detect integration problems early.
What is the primary goal of Continuous Integration?
To reduce integration risk and detect defects quickly by ensuring the codebase is always in a buildable, tested state. Fast, automated feedback on every commit prevents 'integration hell' from long-lived divergent branches.
Distinguish Continuous Delivery from Continuous Deployment.
Continuous Delivery keeps every change deployable and automatically pushed to a staging/production-ready state, but production release requires a manual approval/button. Continuous Deployment removes that manual gate—every change passing the pipeline is automatically released to production.
What is a CI/CD pipeline?
An automated sequence of stages—typically build, test, and deploy—that code changes pass through from commit to production. Each stage must succeed before the next runs, providing a repeatable, gated path to release.
Show the other 30 DevOps, Automation, and Operations flashcards
Name several popular CI/CD pipeline tools.
Jenkins, GitLab CI/CD, GitHub Actions, CircleCI, Travis CI, Azure DevOps Pipelines, TeamCity, Argo Workflows, and Spinnaker (for continuous delivery/deployment orchestration).
What is an artifact in a CI/CD context?
A build output produced by the pipeline (e.g., a compiled binary, container image, JAR, or zip package) that is versioned and stored in an artifact/registry repository, then promoted through environments—built once, deployed many times.
Describe blue-green deployment.
Two identical production environments exist: 'blue' (current live) and 'green' (new version). Traffic is switched from blue to green all at once after green is validated. Rollback is instant by switching traffic back to blue. It requires roughly double the infrastructure.
Describe canary deployment.
The new version is released to a small subset of users/servers first (the 'canary'). Metrics are monitored; if healthy, traffic is gradually shifted to 100%. If problems appear, the canary is rolled back with minimal user impact.
What is a rolling deployment?
The new version is deployed incrementally, replacing instances of the old version in batches until all are updated. There is no separate duplicate environment, but old and new versions run simultaneously during the rollout.
What are feature flags (feature toggles) and how do they relate to deployment?
Runtime switches that enable or disable functionality without redeploying code. They decouple deployment from release, allowing new code to be deployed dark and turned on gradually (or instantly rolled back) for specific users or percentages.
What are the 'three pillars of observability'?
Metrics, logs, and traces. Metrics are aggregated numeric measurements over time; logs are timestamped discrete event records; traces track a single request's path across distributed services.
How do metrics, logs, and traces differ in structure and use?
Metrics are low-overhead numeric time series good for dashboards/alerts. Logs are detailed, high-cardinality event text used for debugging specifics. Traces show causal, end-to-end latency of a request across microservices to locate bottlenecks.
What is distributed tracing, and what is a span?
Distributed tracing follows a request as it propagates through multiple services. A span is a single named, timed operation (one unit of work) within a trace; spans nest to form the complete trace with a shared trace ID.
Define SLI, SLO, and SLA.
An SLI (Service Level Indicator) is a measured metric of service behavior (e.g., latency, availability). An SLO (Service Level Objective) is the internal target for that SLI (e.g., 99.9% availability). An SLA (Service Level Agreement) is a customer-facing contract with consequences (e.g., refunds) if the objective is missed.
How is a typical availability SLI expressed as a formula?
$$\text{Availability} = \frac{\text{good events}}{\text{total valid events}} \times 100\%$$ For example, $\frac{\text{successful requests}}{\text{total requests}}$ over a measurement window.
What is the relationship in strictness between an SLA, SLO, and SLI target?
The SLO is set stricter than the SLA to provide a safety buffer, i.e., $\text{SLO} \geq \text{SLA}$. The SLI is the actual measured value you compare against the SLO. Teams alert on the SLO before the SLA is ever breached.
Define an error budget and give its formula.
An error budget is the maximum allowable amount of unreliability over a period, i.e., the room between perfection and the SLO: $$\text{Error Budget} = 100\% - \text{SLO}$$ For a 99.9% SLO, the error budget is 0.1% of requests/time.
For a 99.9% availability SLO, roughly how much downtime is allowed per month?
About $0.1\%$ of the time. Over a 30-day month ($43{,}200$ minutes), that is $\approx 43.2$ minutes of allowed downtime.
What is the purpose of an error budget in SRE practice?
It balances reliability against feature velocity. As long as budget remains, teams can ship freely. When the budget is exhausted, releases are frozen and effort shifts to reliability work—turning reliability into a shared, data-driven decision.
What is the 'burn rate' of an error budget?
The rate at which the error budget is being consumed relative to the SLO window. A burn rate of $1$ exhausts the budget exactly at the end of the window; a burn rate of $10$ exhausts it $10\times$ faster, triggering high-urgency alerts.
What is incident management?
The structured process of detecting, responding to, mitigating, and resolving unplanned service disruptions to restore normal operation as quickly as possible, while communicating status and later learning from the event.
What is the role of an Incident Commander (IC)?
A single person who owns coordination of an incident response—delegating tasks, tracking status, and communicating—without necessarily doing the hands-on fixing. The IC ensures clear ownership and avoids chaos during major incidents.
What is a blameless postmortem?
A retrospective written after an incident that focuses on systemic causes and improvements rather than blaming individuals. It documents timeline, impact, root cause, and action items, encouraging honest disclosure to prevent recurrence.
Define MTTR, MTTD, and MTBF.
MTTR = Mean Time To Recover/Repair (average time to restore service). MTTD = Mean Time To Detect (average time to notice an incident). MTBF = Mean Time Between Failures (average uptime between incidents): $$\text{MTBF} = \frac{\text{total operational time}}{\text{number of failures}}$$
What is on-call rotation and why is it used?
A schedule assigning engineers responsibility for responding to production alerts during specific time windows. Rotations distribute the operational burden, ensure 24/7 coverage, and typically include primary and secondary (escalation) responders.
What is GitOps?
An operational model where Git is the single source of truth for both application and infrastructure declarative configuration. A controller continuously reconciles the live cluster state to match the desired state committed in Git; changes are made via pull requests.
What are the core principles of GitOps?
1) The entire system is described declaratively; 2) The desired state is versioned in Git; 3) Approved changes are automatically applied; 4) Software agents continuously reconcile actual state to desired state and can self-heal/alert on drift.
What is ArgoCD?
A declarative, Kubernetes-native GitOps continuous delivery tool (a CNCF project). It runs as a controller inside the cluster, monitors Git repositories, and syncs the cluster to match the manifests, providing a UI showing sync and health status.
What is Flux (Flux CD)?
A CNCF GitOps toolkit for Kubernetes that continuously reconciles cluster state from Git sources. It is composed of controllers (source, kustomize, helm, notification) and is often more CLI/GitOps-native and lightweight than ArgoCD.
Compare ArgoCD and Flux at a high level.
Both are CNCF GitOps tools for Kubernetes. ArgoCD is application-centric with a rich web UI and built-in RBAC/SSO, using an Application CRD. Flux is a modular set of controllers, more Git-native and lightweight, integrating tightly with kubectl/Helm and lacking a first-party UI by default.
What is configuration drift?
Divergence between the actual running state of infrastructure and the desired state declared in code/Git, caused by manual changes, hotfixes, or external processes making out-of-band modifications.
What is reconciliation in the context of GitOps and controllers?
The continuous control-loop process where an agent compares actual state to the declared desired state and takes corrective action to converge them. This is the same converge loop Kubernetes controllers use to maintain desired replica counts, etc.
What is cloud cost monitoring and what are budgets/alerts?
Cost monitoring is tracking and analyzing cloud spend over time (e.g., AWS Cost Explorer). Budgets set spending thresholds that trigger alerts (or actions) when actual or forecasted cost exceeds a defined limit, preventing surprise bills.
What are rightsizing and resource tagging in cost management?
Rightsizing means matching provisioned resource capacity (instance type, size) to actual utilization to eliminate over-provisioning waste. Resource tagging assigns key-value metadata (e.g., env, team, cost-center) to resources so costs can be allocated, filtered, and attributed accurately.
Cloud Computing DevOps, Automation, and Operations FAQ
What is in the Cloud Computing DevOps, Automation, and Operations syllabus?
Cloud Computing DevOps, Automation, and Operations is split into 5 chapters: Infrastructure as Code (IaC), CI/CD Pipelines, Observability and SRE, GitOps and Configuration and Cost Optimization and FinOps. Together they contain 20 topics.
How many chapters are in Cloud Computing DevOps, Automation, and Operations?
5 chapters, containing 20 topics. The largest chapter is Infrastructure as Code (IaC), with 5 topics.
Are there flashcards for Cloud Computing DevOps, Automation, and Operations?
Yes — a 50-card DevOps, Automation, and Operations deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.