🇸🇦 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!