# Reliability and Predictability

> Chapter 8 of the Courseiva AZ-900 curriculum — https://courseiva.com/learn/az-900/reliability-predictability

**Official objective:** 1.5 — Cloud Concepts

## Introduction

This chapter covers reliability and predictability — two related concepts about how consistently a cloud system performs. AZ-900 tests this under objective 1.5, alongside the other cloud-benefit concepts covered in nearby chapters.

## A Train That Always Arrives vs. One That Arrives on Time

Imagine two train lines. One almost never breaks down — it reliably gets you to your destination, even if the exact arrival time varies a little. The other has a published schedule and reliably sticks to it, arriving at a predictable time every day, assuming nothing goes wrong. The first line is optimized for reliability (it consistently works and gets you there), while the second is optimized for predictability (you can plan around it with confidence). In cloud computing, reliability is about a system consistently performing its intended function, while predictability is about performance and behavior being consistent enough to plan around — related ideas, but not quite the same thing.

## Core explanation

### What reliability means
Reliability refers to a system's ability to consistently perform its intended function correctly, recovering from failures when they occur. A reliable system minimizes both the frequency of failures and their impact when they do happen.

### What predictability means
Predictability refers to consistency in a system's behavior and performance — knowing what to expect in terms of both performance (will it respond quickly and consistently?) and cost (will the bill stay within an expected range?). A predictable system behaves consistently under normal conditions, making it easier to plan around.

### How Azure supports both
Azure supports reliability through redundancy and recovery features (some covered in dedicated chapters, like Availability Zones and Region Pairs), and supports predictability through consistent service performance and tools for monitoring and forecasting cost and usage.

### Why both matter together
An organization needs both dimensions: a system that's reliable but wildly unpredictable in performance or cost is hard to plan around, while a system that's predictable but unreliable isn't trustworthy even if its behavior is consistent. Cloud platforms aim to offer both together, though achieving them well still requires deliberate architecture choices by the customer, not just relying on the platform alone.

## Real-world context

A financial services application is designed with redundancy so it continues operating correctly even if an individual component fails — a reliability concern. Separately, the same organization monitors the application's response times and cost trends to ensure both stay within expected ranges over time — a predictability concern.

A common real-world gap: an organization builds a highly reliable system that survives failures well, but doesn't monitor cost closely, leading to unpredictable and sometimes surprising bills — reliability and predictability were not equally prioritized, even though both matter for a well-run system.

## Exam focus

Objective 1.5 expects candidates to understand reliability and predictability as related but distinct concepts, alongside high availability and scalability covered in a separate chapter.

A common wrong answer is treating reliability and predictability as identical — reliability is about a system correctly performing its function and recovering from failure, while predictability is about consistent, expected behavior (in performance and cost) over time. Another trap is thinking predictability only applies to cost — it applies to performance consistency too.

Stable terms: **reliability**, **predictability**. These are broad, conceptual terms rather than specific numeric facts, and the exam generally tests understanding of the concept rather than a memorized figure.

Memory trick: reliability = the system works correctly and recovers from failure. Predictability = you know what to expect from it, in both performance and cost.

## Step by step

1. **Design for failure recovery** — Reliability starts with assuming failures will happen and designing systems to recover from them — through redundancy, retries, and failover mechanisms, rather than assuming failures won't occur.
2. **Monitor for consistent performance** — Predictability requires monitoring actual performance over time to confirm a system behaves consistently, rather than assuming it will without verification.
3. **Plan around predictable cost** — Predictability extends to cost as well as performance — using budgeting and cost-monitoring tools helps keep spending within an expected range, rather than being surprised by unexpected usage.
4. **Combine both for production systems** — Production systems generally need to be designed with both reliability (surviving failures) and predictability (consistent performance and cost) in mind together.

## Comparisons

### Reliability vs Predictability

**Reliability:**
- Focuses on correct function and failure recovery
- Achieved through redundancy and resilient design
- Answers: 'Does the system work correctly, even after a failure?'

**Predictability:**
- Focuses on consistent, expected behavior over time
- Achieved through monitoring and forecasting
- Answers: 'Can I plan around this system's performance and cost?'

## Common misconceptions

- **Misconception:** Reliability and predictability mean the same thing. **Reality:** Reliability is about a system consistently performing correctly and recovering from failures; predictability is about consistent, expected behavior in performance and cost. They're related but distinct.
- **Misconception:** Predictability only refers to cost. **Reality:** Predictability applies to both performance consistency and cost consistency — knowing what to expect from a system in either dimension.
- **Misconception:** A reliable system is automatically cost-predictable. **Reality:** A system can reliably perform its function while still having unpredictable costs if usage isn't actively monitored — the two need to be managed together, not assumed to come as a package.

## Key takeaways

- Reliability is a system's ability to consistently perform its intended function correctly and recover from failures.
- Predictability is consistency in a system's behavior — both performance and cost — that makes it easier to plan around.
- The two concepts are related but distinct, and a well-run system generally needs both.
- Predictability applies to performance consistency as well as cost consistency, not just billing.

## FAQ

**What's the difference between reliability and predictability?**

Reliability is about a system correctly performing its function and recovering from failures when they happen. Predictability is about consistent, expected behavior over time — both in performance and cost — making the system easier to plan around. They're related but not the same concept.

**Does predictability only mean predictable costs?**

No — predictability applies to performance as well as cost. A predictable system behaves consistently under normal conditions in both dimensions, not just billing.

**How does Azure help with reliability and predictability?**

Azure offers redundancy and recovery features (like Availability Zones and Region Pairs) that support reliability, along with monitoring and cost-management tools that support predictability — though achieving both well still requires deliberate architecture and monitoring choices by the customer.

---

Interactive version with quiz and diagrams: https://courseiva.com/learn/az-900/reliability-predictability
