Archived lecture (Fall 2025), preserved as taught. Its dates, tasks, grading, contact details and figures are not current course information and are not verified sources. Current course: learning path · course specification.محاضرة مؤرشفة من فصل خريف 2025 كما دُرّست. مواعيدها ومهامها ودرجاتها وأرقامها لا تمثل المقرر الحالي.
1 / 20
⚡ Reliability Engineering Excellence
AMIR Framework - Chapter 11: Building Systems That Never Fail
وَأَعِدُّوا لَهُم مَّا اسْتَطَعْتُم مِّن قُوَّةٍ
"And prepare for them whatever you are able of power"
- Qur'an 8:60
⚡ Your Mission: Master reliability engineering to build Saudi's digital infrastructure
افهم
Understand
Reliability vs Availability Fault-Error-Failure model
مارس
Practice
Reliability metrics Fault tolerance techniques
اتقن
Master
N-version programming Statistical testing
ابصر
Envision
Vision 2030 reliability Digital transformation
🔄 The Fault-Error-Failure Chain
افهم
Human Error
Programmer mistake
→
System Fault
Bug in code
→
System Error
Wrong state
→
System Failure
Service lost
🇸🇦 Saudi Example: Absher System
Human Error
Developer forgets to check if national ID = 10 digits
System Fault
Missing validation code in registration module
System Error
System accepts 9-digit ID, creates invalid record
System Failure
Citizen cannot access government services
Key Insight: Not all faults lead to failures! Many bugs never execute, errors may be transient, and protection mechanisms can prevent failures.
⚖️ Reliability vs Availability
افهم
Aspect
Reliability
Availability
Definition
Probability of failure-free operation
Probability system is operational when needed
Focus
Correctness of service
Uptime of service
Measurement
Failures per demand/time
% of time operational
Saudi Example
Tawakkalna app health status accuracy
Tawakkalna app 24/7 accessibility
🏦 Banking ATM Case Study
System A
Reliability: Fails once/year
Recovery: 6 hours
Annual Downtime: 360 minutes
❌ Lower Availability
System B
Reliability: Fails once/month
Recovery: 5 minutes
Annual Downtime: 60 minutes
✅ Higher Availability
💡 Key Lesson:
A less reliable system can have better availability if it recovers quickly!
📊 Reliability Metrics Mastery
مارس
POFOD
Probability of Failure on Demand
Chance of failure when service requested
🇸🇦 Example: NEOM emergency brake system
Required: 0.001 (1 in 1000 chance of failure)
🇸🇦 Example: KACST satellite systems
Target: 10,000 hours operation
AVAIL
Availability
Probability system is operational
🇸🇦 Example: Saudi Central Bank
Required: 0.9999 (52 min downtime/year)
Availability in Practice
Availability
Downtime per Year
Saudi System Example
0.9 (90%)
36.5 days
Development environments
0.99 (99%)
3.65 days
Internal business systems
0.999 (99.9%)
8.76 hours
Absher services
0.9999 (99.99%)
52.6 minutes
Banking systems
0.99999 (99.999%)
5.26 minutes
Hajj crowd management
🛡️ Three Approaches to Reliability
مارس
🚫
Fault Avoidance
Prevent faults from being introduced
→
🔍
Fault Detection
Find and remove faults before deployment
→
🔄
Fault Tolerance
Continue operation despite faults
Implementation Techniques
🚫 Avoidance
Strongly typed languages
Code reviews
Design patterns
SOLID principles
🔍 Detection
Unit testing
Integration testing
Static analysis
Code coverage
🔄 Tolerance
Exception handling
Redundancy
Checkpointing
Graceful degradation
⚠️ The Cost Reality
Finding and removing faults becomes exponentially more expensive as reliability increases. At some point, even for critical systems, accepting some residual faults is more cost-effective than perfect reliability.
🏗️ Fault-Tolerant Architectures
اتقن
Protection Systems Architecture
Protection Systems
Independent monitoring system that takes over when primary fails
Multiple independent implementations, voting system
🇸🇦 Example: KACST satellite guidance
🔀 N-Version Programming Deep Dive
اتقن
Achieving Software Diversity
Diversity Type
Implementation
Saudi Example
Team Diversity
Different development teams, no communication
KFSH medical device teams
Language Diversity
Java, C++, Ada implementations
SABIC control systems
Algorithm Diversity
Different computational approaches
Weather prediction models
Tool Diversity
Different IDEs, compilers, libraries
Banking fraud detection
⚠️ Reality Check:
Studies show N-version systems are 5-9x more reliable than single versions, BUT common specification errors can still cause all versions to fail the same way!
💻 8 Golden Rules of Dependable Programming
مارس
1. 🔒 Control Visibility
Hide data, expose only through interfaces
private double balance; public getBalance() {...}
2. ✅ Check All Inputs
Validate ranges, types, formats
if (age < 0 || age > 150) throw InvalidInput();
3. 🚨 Handle Exceptions
Never let exceptions crash system
try { ... } catch (Exception e) { ... }
4. 🚫 Minimize Error-Prone
Avoid goto, pointers, dynamic allocation
5. 🔄 Provide Restart
Checkpointing for recovery
6. 📏 Check Array Bounds
Prevent buffer overflows
7. ⏱️ Include Timeouts
Don't wait forever for responses
8. 🏷️ Name Constants
TAX_RATE not 0.15
🇸🇦 Practice Exercise:
Apply these rules to a Saudi National ID validator function. Which rules are most critical for this system?
📈 Statistical Testing for Reliability
اتقن
📊
1. Operational Profile
Model real usage
→
🎲
2. Test Data
Generate realistic inputs
→
🧪
3. Execute Tests
Count failures
→
📉
4. Calculate Metrics
POFOD, ROCOF
Operational Profile Example: Hajj App
Challenge: Creating accurate operational profiles for new systems is difficult. Users may use the system in unexpected ways!
🚀 Reliability for Vision 2030
ابصر
Saudi Arabia's Digital Transformation Demands World-Class Reliability
🏙️ NEOM Smart City
Reliability Requirements:
Autonomous transport: POFOD < 0.0001
Power grid: 99.999% availability
IoT sensors: MTTF > 10,000 hours
Architecture: Triple modular redundancy
💳 Digital Banking
Reliability Requirements:
Core banking: 99.99% availability
Mobile apps: ROCOF < 1/10000
Fraud detection: Zero false negatives
Architecture: Active-active clusters
🏥 E-Health Platform
Reliability Requirements:
Patient records: 99.999% availability
Telemedicine: MTTF > 1000 hours
Emergency systems: POFOD < 0.001
Architecture: Protection systems
🕌 Hajj Systems
Reliability Requirements:
Crowd monitoring: Real-time, no failures
Tawaf counter: 99.9% accuracy
Emergency response: < 30 sec activation
Architecture: Self-monitoring systems
💼 Your Reliability Engineering Career
ابصر
Organization
Role
Salary (SAR)
Skills Required
NEOM
Site Reliability Engineer
420,000+
Cloud, Kubernetes, Chaos Engineering
Saudi Aramco
Reliability Systems Architect
380,000
Fault tolerance, SCADA systems
stc
Network Reliability Lead
350,000
5G, Network redundancy, SDN
SAMA (Central Bank)
Banking Systems Reliability
340,000
Financial systems, DR planning
Elm
Government Systems SRE
320,000
High availability, Monitoring
🎯 Skills to Master Now
Technical
Chaos engineering
Load balancing
Database replication
Monitoring tools
Analytical
Statistical analysis
Root cause analysis
Performance tuning
Capacity planning
Soft Skills
Incident management
Documentation
Communication
Problem solving
🛠️ Hands-On: ATM System Reliability
مارس
Scenario: Design reliability for Al Rajhi Bank ATM Network
You're the reliability engineer for 5,000 ATMs across Saudi Arabia
Step 1: Define Requirements
Which metric is MOST important for ATM users?
POFOD - Probability of failure
AVAIL - System availability
MTTF - Mean time to failure
Step 2: Calculate Availability
// Given: // - Each ATM fails once per month on average // - Recovery time: 2 hours per failure // - Month = 720 hours
result = await Promise.race([
operation(),
timeout(5000)
]);
⚔️ Your Choice - Excellence or Mediocrity
Become a Reliability Champion in Saudi's Tech Revolution
افهم
Foundation
Master the fundamentals
Understand failure modes
Learn from disasters
مارس
Application
Apply metrics correctly
Build fault-tolerant code
Test statistically
اتقن
Excellence
Design robust architectures
Achieve high availability
Zero-defect mindset
ابصر
Vision
Shape Saudi's digital future
Lead reliability culture
Innovate solutions
⚠️ The Cost of Unreliability
Every system failure means:
• Lost revenue (millions of riyals)
• Damaged reputation
• User frustration and abandonment
• Potential safety risks
✅ Your Commitment Today:
"I will build systems that Saudi Arabia can depend on. Every line of code, every design decision, will contribute to our nation's reliable digital infrastructure."
🛠️ Tools & Resources
ابصر
📊 Monitoring Tools
Prometheus + Grafana
New Relic
Datadog
AppDynamics
Start with: Prometheus (free & powerful)
🧪 Testing Tools
Chaos Monkey (Netflix)
Gremlin
JMeter (load testing)
Selenium (UI testing)
Start with: JMeter for load testing
📚 Essential Reading
Site Reliability Engineering (Google)
Release It! (Nygard)
Chaos Engineering (Netflix)
The DevOps Handbook
Start with: Google SRE book (free online)
🌐 Communities
SRE Weekly newsletter
r/sre on Reddit
USENIX SREcon
Saudi Tech Reliability Group
Start with: Join Saudi Tech Slack
📅 This Week's Action Items:
✅ Install Prometheus on your local machine
✅ Read one incident postmortem from a major tech company
✅ Calculate the availability of a system you use daily
✅ Write a simple retry mechanism in your preferred language
✅ Start your assignment system analysis
🎮 Test Your Knowledge
1. A system fails once per year but takes 24 hours to recover. Another fails monthly but recovers in 10 minutes. Which has better availability?
First system (fails yearly)
Second system (fails monthly)
2. Which metric is best for a protection system that rarely activates?
POFOD
ROCOF
MTTF
3. What's the main challenge with N-version programming?
Hardware compatibility
Common specification errors
Performance overhead
📚 Chapter 11 References & Next Steps
Key Chapter References:
Foundational Works
Avizienis (1995) - N-Version Programming
Randell (2000) - Fault-Error-Failure Model
Leveson (1995) - Safeware
Musa (1998) - Software Reliability Engineering
Modern Applications
Google (2016) - Site Reliability Engineering
Netflix (2019) - Chaos Engineering
Amazon (2020) - Cell-Based Architecture
Microsoft (2021) - Azure Reliability
Next Chapter Preview: Chapter 12 - Safety Engineering
From reliability to safety - protecting lives through software
Prepare: Think about how safety differs from reliability
Before Next Class:
Calculate the availability of your assignment system
Read about one major system failure (postmortem)
Think: How would you prevent the next big outage?
🙏 Shukran - Build Reliability Into Everything
وَتَعَاوَنُوا عَلَى الْبِرِّ وَالتَّقْوَىٰ
"And cooperate in righteousness and piety"
- Qur'an 5:2
Your reliability engineering skills will power Saudi's digital economy.
This is not just a career - it's nation building.
📧 Contact
Office: Sun-Thu 2-4pm
reliability@university.sa
📅 Next Class
Chapter 12: Safety
Tuesday, 10 AM
📝 Due Soon
Reliability Case: Next Week
Quiz: Thursday
🎯 Join Us
#saudi-sre-community
github.com/saudi-reliability
"Perfect reliability is impossible, but excellence in reliability is achievable."
See you next class, إن شاء الله Start calculating those metrics TODAY!