KCNA — Cloud Native Observability Practice Questions

5 minute read

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.

Chapter 7: Cloud Native App Delivery →

Updated: