Labels

Aws (32) MySQL (20) Aurora (12) Rds (7) DynamoDB (6) Cloudformation (4) Python3 (4) Unix (3) MongoDB (1)

Friday, 20 September 2024

SLIs / SLOs / SLAs - Service Level Objectives

 It is crucial to observe the system's health and which behaviours really matter.

There are three measurements that I'm going to deep dive in and they are 

  • Service Level Indicators (SLI)
  • Service Level l Objectives (SLO)
  • Service Level Agreements (SLA)

Sunday, 1 September 2024

SRE - Principal Embracing Risk

Reliability comes at a cost: maximising stability limits how fast new features can be developed and how quickly products can be delivered to user.

SRE seeks to balance the risk of unavailability with the goals to innovate and efficient services with features and service and perofmance

Unreilable systems can quickly erode users' confidence.

The cost has two dimensions

  • The cost of redundance machine to allow unforseen maintenance or offline routine
  • The opportunity cost is when an organization allocates engineering resources to build reliable systems

SRE team manage service reliability by managing risk. The SRE identify the appropriate level of tolerance for the serivces they run. They strive to make the service reliable enough but not more reliable than it needs to be.

Measuring Service Risk

The first step in measuring risks is to identify an objective metric that represents the property of the system that we aim to optimize. We can assess our current system performance and track improvements or degradations over time by setting a target. A system can be impaired by many events, we will treat all of them as unplanned downtime. The most straightforward way to figure out the acceptable level of unplanned downtime is to capture the desired level of service availability usually expressed in terms of "nines" like 99,9%. However, the uptime concept can have multiple meanings and for most systems, usually the frontend and backend systems, the definition of availability is aligned to the request success rate. Example: A system that successfully serves 1M requests in a day with a daily availability target of 99,99% can serve up to 100 errors and still hits the target. Using the RSR allows to the wide utilization of this objective metric and use it on multiple-layer systems.