KCNA — Cloud Native Observability Practice Questions
Cloud Native Observability Practice Questions
Test your understanding of observability pillars, Prometheus, logging, tracing, OpenTelemetry, and cost management.
Question 1
What are the three pillars of observability?
- A) Monitoring, Alerting, Dashboards
- B) Metrics, Logs, Traces
- C) CPU, Memory, Disk
- D) Availability, Latency, Throughput
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | Monitoring, alerting, and dashboards are tools/practices — not the three pillars |
| B | The three pillars of observability are: Metrics (numerical measurements over time), Logs (discrete event records), and Traces (request flow across services) |
| C | CPU, memory, and disk are types of metrics — not the three pillars |
| D | Availability, latency, and throughput are SLIs (Service Level Indicators) |
Question 2
How does Prometheus collect metrics from targets?
- A) Applications push metrics to Prometheus
- B) Prometheus pulls (scrapes) metrics from target endpoints
- C) Metrics are stored directly in etcd
- D) Kubernetes sends metrics to Prometheus via the API
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | Push model is used by StatsD/Datadog — Prometheus uses pull. (Pushgateway exists for short-lived jobs as an exception) |
| B | Prometheus uses a pull model — it actively scrapes /metrics endpoints on targets at regular intervals (default 15s). It discovers targets via service discovery. |
| C | etcd stores Kubernetes cluster state, not application metrics |
| D | K8s API serves cluster management, not metrics delivery — Prometheus scrapes directly |
Question 3
What is the relationship between SLIs, SLOs, and SLAs?
- A) SLA → SLO → SLI (from general to specific)
- B) SLI (measure) → SLO (target) → SLA (promise)
- C) They are all the same thing
- D) SLO → SLI → SLA (from target to measure to promise)
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | The direction is reversed — it goes from measurement to promise |
| B | SLI is what you measure (e.g., p99 latency = 150ms). SLO is your internal target (e.g., p99 < 200ms). SLA is your external promise to customers (e.g., p99 < 500ms or refund). |
| C | They are distinct concepts at different levels |
| D | The sequence starts with measurement (SLI), not target (SLO) |
Question 4
What is the main difference between Fluentd and Fluent Bit?
- A) Fluentd is for metrics; Fluent Bit is for logs
- B) Fluent Bit is lightweight (~450KB) for collection; Fluentd is full-featured for aggregation
- C) Fluentd is open-source; Fluent Bit is proprietary
- D) Fluent Bit replaces Fluentd entirely
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | Both Fluentd and Fluent Bit are for logs, not metrics |
| B | Fluent Bit is a lightweight collector (~450KB, written in C) ideal for DaemonSets on nodes. Fluentd is a full-featured aggregator (~40MB, Ruby+C) with 1000+ plugins for complex log routing. |
| C | Both are CNCF Graduated open-source projects |
| D | They complement each other — Fluent Bit collects, Fluentd aggregates |
Question 5
What is a “span” in distributed tracing?
- A) The complete path of a request through all services
- B) A single unit of work within a trace
- C) A metric type used by Prometheus
- D) A log entry with a timestamp
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | That describes a trace, not a span — a trace is composed of multiple spans |
| B | A span represents a single operation or unit of work within a trace — it has a span ID, parent span ID, operation name, start/end time, and attributes. Multiple spans form a trace. |
| C | Prometheus metric types are Counter, Gauge, Histogram, Summary |
| D | A log entry is part of the logging pillar, not tracing |
Question 6
What did OpenTelemetry merge to create a unified observability standard?
- A) Prometheus and Grafana
- B) OpenTracing and OpenCensus
- C) Jaeger and Zipkin
- D) Fluentd and Fluent Bit
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | Prometheus and Grafana are separate projects — not merged into OpenTelemetry |
| B | OpenTelemetry was formed by merging OpenTracing (tracing APIs) and OpenCensus (metrics + tracing libraries from Google) into a single, unified observability framework |
| C | Jaeger and Zipkin are tracing backends — they weren’t merged, and OTel can export to both |
| D | Fluentd and Fluent Bit are logging tools — separate from OpenTelemetry |
Question 7
What is the FinOps lifecycle?
- A) Plan → Build → Run
- B) Inform → Optimize → Operate
- C) Monitor → Alert → Fix
- D) Collect → Process → Store
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | Plan/Build/Run is a general software lifecycle, not FinOps |
| B | The FinOps lifecycle: Inform (gain cost visibility) → Optimize (take action to reduce waste) → Operate (implement ongoing governance and automation) |
| C | Monitor/Alert/Fix describes incident response, not financial management |
| D | Collect/Process/Store describes a data pipeline |
Question 8
Which Kubernetes resource limits total resource consumption per namespace?
- A) LimitRange
- B) ResourceQuota
- C) PodSecurityPolicy
- D) NetworkPolicy
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | LimitRange sets default and maximum limits per individual container/pod — not total per namespace |
| B | ResourceQuota sets hard limits on the total aggregate resource consumption within a namespace — total CPU, memory, number of pods, etc. |
| C | PodSecurityPolicy (deprecated) controls security context, not resource consumption |
| D | NetworkPolicy controls network traffic rules, not resource limits |
Question 9
What Prometheus metric type monotonically increases over time?
- A) Gauge
- B) Histogram
- C) Counter
- D) Summary
Show Answer
Correct Answer: C
| Option | Explanation |
|---|---|
| A | A Gauge goes up and down — represents a current value (temperature, memory usage) |
| B | A Histogram counts observations in buckets — more complex than a simple counter |
| C | A Counter only increases (or resets to zero on restart). Examples: http_requests_total, errors_total. Use rate() to get the per-second increase rate. |
| D | A Summary calculates quantiles over a sliding time window |
Question 10
Where should cloud-native applications write their logs according to twelve-factor methodology?
- A) To log files on the container’s filesystem
- B) To stdout and stderr
- C) Directly to Elasticsearch
- D) To a shared NFS volume
Show Answer
Correct Answer: B
| Option | Explanation |
|---|---|
| A | Writing to files inside containers is problematic — logs are lost when containers restart and files aren’t easily accessible |
| B | Factor 11 (Logs) states apps should treat logs as event streams — write to stdout/stderr and let the platform (Fluentd, Fluent Bit) collect and route them |
| C | Sending logs directly to Elasticsearch couples the app to the logging backend |
| D | NFS volumes add complexity and latency — not recommended for logging |
Score Yourself
| Score | Rating | Action |
|---|---|---|
| 9-10 | Excellent | Strong observability knowledge. Move to Chapter 7. |
| 7-8 | Good | Review topics you missed, then proceed. |
| 5-6 | Fair | Re-read Prometheus, tracing, and cost management sections. |
| Below 5 | Needs Work | Go back through all Observability sub-topics. |
What’s Next?
You’ve completed Chapter 6 — Cloud Native Observability. Now let’s explore application delivery — CI/CD, GitOps, Helm, and deployment strategies.