Overview
Syllabus
Intro
URAL Telekom . Secure Communication software . Software Refactoring for Testability Performance optimization
Fault-tolerant System design • Robust Software Development Tools and techniques
Fault Handling Techniques . Fault Avoidance • Fault Detection • Masking Redundancy • Dynamic Redundancy
Failure Response Stages . Fault detection and Diagnosis • Fault isolation • Reconfiguration • Recovery
Reliability Models . Serial Parallel
Reconfigure . Use redundant system Graceful degradation • Indicate degraded state
Data separation . Separate Metadata from data Separate control from workload
Reliability . Can be accomplished using redundancy Except for design faults
Software faults are mostly . Software specifications • Design error • Developer error • Unexpected conditions
Separation of Concerns • Split code into modules • No direct data access • No direct data modification! • Update data through a dedicated Repository or Service
Exception handling • Handle unknown and unpredictable faults Adds to Fault tolerance • Decide where to catch those exceptions
Error recovery • Backward recovery Forward recovery
Edge case handling . Code review
Taught by
International PHP Conference