Show
In my work as an architect for resiliency and site reliability engineering (SRE) at Capital One, the concepts of resiliency, recovery, and reliability are fundamental to architecting proven applications. Each concept builds on the other to provide a framework of architectural considerations through different lenses that together enable a more reliable product. But first, let’s level our understanding on the 3 R’s and their definitions. Defining Resiliency, Recovery, and Reliability
Using the 3 R’s to Design a SystemNext, let’s take a look at how to apply the 3 R’s to designing a system. Let’s assume it is a very simple AWS application like so, where the compute layer is a web tier servicing customer transactions, and the database stores transactional information: The Resiliency LensApplying the resiliency lens allows us to examine this architecture to consider the following:
Such considerations could lead to the following: Our simple application has now been extended to be ‘highly available’:
The Recovery LensApplying the recovery lens allows us to examine this architecture for additional considerations:
Such considerations could lead to the following: Our highly available, resilient application is now augmented by an ecosystem of tools and services to support recovery activity:
The Reliability LensApplying the reliability lens allows us to examine this architecture for additional considerations:
Such considerations could lead to the following: Our recoverable, resilient system is now augmented by an ecosystem of tools and services designed to improve reliability:
The 3 R’s in Your ApplicationsA thorough understanding of resiliency, recovery and reliability is essential to architecting reliable applications. Reviewing an architecture through each of these lenses allows for thinking through considerations to make comprehensive architecture decisions that affect high availability, restoration, and stability. Note that each decision has a tradeoff with cost and complexity. Thus, understanding and defining the actual customer expectations for reliability must be the starting point of any architecture striving to be resilient, recoverable and reliable. For example, if the customer only expects one transaction to be highly available and reliable, then the investment in resiliency, recovery, and reliability should be on the components that support that one transaction, not all the components that comprise the application. I encourage you to use the three lenses of resiliency, recovery, and reliability for all of your applications going forward. Tanu McCabe’s job as a solution architect allows her to provide leadership and guidance that leverages the latest technological developments. As part of her job, Tanu positions the company on the best solution designs, projects, and company-wide initiatives. DISCLOSURE STATEMENT: © 2020 Capital One. Opinions are those of the individual author. Unless noted otherwise in this post, Capital One is not affiliated with, nor endorsed by, any of the companies mentioned. All trademarks and other intellectual property used or displayed are property of their respective owners. Related ContentWhat are the two forms of software programs or processes that provide network access to the application layer?Two types of software provide access to the network within the application layer:. network-aware applications, such as email; and.. application-level services, such as file transfer or print spooling.. What factors are to be considered in the selection of networking devices?Devices in a Small Network. Speed and Types of Ports/Interfaces.. Expandability.. Operating System Features and Services. VoIP. Layer 3 switching. NAT. DHCP.. What Windows 10 tool is useful to determine which applications are using network services on a host?Thankfully, the Windows Resource Manager has a built-in tool for tracking network activity. Here's how to use it: Step 1: Start by opening the Resource Monitor. Although this can be done several different ways, the fastest way is to head to Start > Run > type resmon and press enter.
|