Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Resilient Architecture Simplified - Isabel Palomar - @javaMexico

javaMéxico
November 03, 2022

Resilient Architecture Simplified - Isabel Palomar - @javaMexico

Resilient Architecture Simplified

In this talk, you will learn about some of the concepts frequently used when designing mission-critical applications, some of the concepts are Resilience, Disaster Recovery, High Availability, and Fault Tolerance. I will walk you through some of the examples, as well as present you some of the libraries/integrations that can be used for JVM systems.

javaMéxico

November 03, 2022
Tweet

More Decks by javaMéxico

Other Decks in Technology

Transcript

  1. Who am I ? ISABEL PALOMAR - Staff Software Engineer

    with random hobbies - 12 years of experience - I was born in Cd. Guzman, Jalisco Back Start Table of contents Next
  2. 02 01 What? Table of contents Next Back Start Table

    of contents Why? 03 Core Concepts 05 Resources 04 Conclusions
  3. The normal state of operation is PARTIAL FAILURE Back Start

    Table of contents Partial FAILURE Next
  4. The normal state of operation is PARTIAL FAILURE Back Start

    Table of contents Partial FAILURE Next Etc, etc….
  5. Failure might be critical For some applications failure might not

    be life critical, but it can result in lost revenue and this is why we need to build resilience architecture Next Back Start Table of contents
  6. Yes, there is a cost Next Back Start Table of

    contents Revenue Loss Resiliency Cost ⚖
  7. Is not only about Software… It starts at the infrastructure

    level progresses to network, data and influences your application design Next Back Start Table of contents Build a resilient architecture is not only about software.
  8. 03 The concepts you need to know Next Back Start

    Table of contents CORE CONCEPTS
  9. Resiliency Ability for a system to handle and eventually recover

    from unexpected conditions Next Back Start Table of contents
  10. Disaster Event that prevents your systems from fulfilling its business

    objectives. Next Back Start Table of contents
  11. Nature of a disaster Next Back Start Table of contents

    Technical failure Natural Disaster Human actions
  12. Disaster Recovery Strategy Next Back Start Table of contents Both,

    nature of the disaster and the geographical impact are important considerations to create a: Disaster Recovery Strategy
  13. Amount of impact a business can take during a disaster

    Back Start Table of contents Disaster RECOVERY Next
  14. BCP (Business Continuity Plan) Set of actions a company puts

    into motion when disaster strikes. ---- The primary objective of DR is Business Continuity Next Back Start Table of contents
  15. High Availability Next Back Start Table of contents Refers to

    a system that is designed to avoid loss of service by reducing or managing failures and minimizing planned downtime. Elimination of single points of failure. Reliable crossover. Detection of failures as they occur.
  16. A High available system needs REDUNDANCY Next Back Start Table

    of contents MONITORING MECHANISM FOR FAILOVER OR FALLBACK Availability Zone 1 Availability Zone 2
  17. HA != 100% - HA 99.999 (Five 9s) Next Back

    Start Table of contents https://en.wikipedia.org/wiki/High_availability#Percentage_calculation
  18. Fault tolerance Next Back Start Table of contents Fault tolerance

    refers to the ability of a system (computer, network, cloud cluster, etc.) to continue operating without interruption when one or more of its components fail.
  19. Example of Fault tolerance - Applications running in parallel mirroring

    each other require SYNCHRONIZATION And hence… COST MODE Next Back Start Table of contents
  20. Failure Next Back Start Table of contents Hard Disk Failures

    Network Issues Power Problems And so on… Fault tolerance systems are build for failure
  21. While both fault tolerance and high availability refer to a

    system’s functionality over time, there are differences that highlight their individual importance in your business continuity planning. Back Start Table of contents Fault Tolerance vs High Availability Next
  22. Fault Tolerance vs High Availability Next Back Start Table of

    contents TWIN ENGINE JET CAR WITH SPARE TIRE A twin-engine airplane is a fault tolerant system – if one engine fails, the other one kicks in, allowing the plane to continue flying. Conversely, a car with a spare tire is highly available. A flat tire will cause the car to stop, but downtime is minimal because the tire can be easily replaced No downtime Minimized Downtime
  23. Netflix Hystrix (2012) 󰘬 Back Start Table of contents Resiliency

    in Software Next Resilience4j Failsafe - CircuitBreaker - Bulkhead - RateLimiter - Retry - TimeLimiter - Cache - Fallback
  24. Back Start Table of contents Example Circuit Breaker Next Resilience4j

    The state of the CircuitBreaker changes from CLOSED to OPEN when the failure rate is equal or greater than a configurable threshold. For example when more than 50% of the recorded calls have failed.
  25. Next Back Start Table of contents — WERNER VOGELS, CTO,

    AMAZON “Failures are a given and everything will eventually fail over time: from routers to hard disks, from operating systems to memory units corrupting TCP packets, from transient errors to permanent failures. This is a given, whether you are using the highest quality hardware or lowest cost components.”
  26. Additional resources - Patterns for Resilient Architecture - Adrian Hornsby

    - https://www.youtube.com/watch?v=gET51_C3k5s - 10 lessons from 10 Years at AWS - https://www.allthingsdistributed.com/2016/03/10-lessons-from-10-years-of-aws.html - RPO and RTO targets for cloud - https://aws.amazon.com/blogs/mt/establishing-rpo-and-rto-targets-for-cloud-applications/ - High availability vs Fault Tolerance - https://www.youtube.com/watch?v=miEHdzqlRsY - Fault tolerance - https://www.imperva.com/learn/availability/fault-tolerance/ Next Back Start Table of contents
  27. CREDITS: This presentation template was created by Slidesgo, and includes

    icons by Flaticon, and infographics & images by Freepik Thanks! @IsabelPalomar Next Back Start Table of contents