Published Sep 3, 2019

Episode 77: Fault Tolerance with Bob Hanmer Pt. 1

Bob Hanmer delves into fault tolerance, clarifying foundational concepts like faults, errors, and failures and their impact on software reliability. He highlights design strategies and architectural patterns essential for creating resilient systems, stressing simplicity, escalation strategies, and thorough testing.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Architectural Patterns

    The discussion on architectural patterns highlights their foundational role in fault-tolerant systems. explains that these patterns, such as "units of mitigation," define the scope and boundaries for containing errors and failures, akin to establishing firewalls between subnets 1. This approach ensures that if one part of the system fails, others remain unaffected, crucial for meeting stringent reliability requirements. emphasizes that while software quality focuses on design and construction, fault tolerance is about integrating specific techniques into the system to ensure resilience 2.

    Quality is about the art of making the software, and fault tolerance is about the software itself and what it does.

    ---

    These architectural patterns set the stage for more detailed fault tolerance strategies discussed later.

       

    Error Handling

    Error handling patterns are essential for detecting, recovering, and mitigating faults in systems. outlines the importance of comprehensive testing and verification to ensure fault recovery techniques are effective 3. This involves planning tests meticulously and inserting defects to measure the system's ability to recover automatically from detected faults. Verification plays a crucial role in maintaining high availability and reliability standards, especially in systems with stringent requirements.

    You can get a measure of how effective your fault recovery techniques are going to be.

    ---

    These patterns are vital for designing systems that can handle errors gracefully, ensuring minimal disruption to operations.

Related Episodes