사이트 신뢰성 엔지니어링(SRE) 영역에서 시스템의 신뢰성과 성능을 보장하는 것은 중요한 부분이다.
이러한 부분에서 시스템 건강 상태를 측정하는 명확한 지표는 필수적으로 요구된다.
그리하여 Google은 Four Golden Signals라는 지표를 만들게 되었다.
https://sre.google/sre-book/monitoring-distributed-systems/
Four Golden Signals는 주로 사용자(고객)가 직면하는 시스템에 관한 지표로 책정되었으며, 인프라와 관련된 지표에 국한되지 않고, 애플리케이션 서비스의 지표까지도 사용될 수 있다는 것이 특징이다.
아래는 해당 네 가지(Four)의 지표에 대하여 설명한 것이다.
1. Latency (지연 시간) :
시스템이 요청에 응답하는 데 걸리는 시간으로 사용자 경험의 핵심이라고 할 수 있다.
일반적으로 사용자는 빠른 요청에 대한 응답을 기대하고 있으며, 이는 사용자 경험에 직결되기 때문이다.
이러한 지연 시간은 사용자가 요청을 보내는 시점과 응답을 받는 시점 간의 차이로 측정할 수 있고, 서비스 간 요청과 응답에 대한 지연 시간으로도 측정할 수 있다.
지연 시간의 증가는 네트워크 혼잡, 자원 경쟁, 비효율적인 코드 실행과 같은 문제를 파악할 수 있으며, 기업은 더 나은 사용자 경험을 보장하고, 잠재적인 성능 병목 현상을 완화할 수 있다.
2. Traffic (트래픽) :
트래픽은 시스템에 도달하는 요청의 양을 나타낸다.
아래 항목들은 트래픽에 대하여 어떠한 기준을 세우고 측정할 것인가에 대한 예시이다.
- 웹 서비스의 초당 HTTP 요청
- 백엔드 서비스의 초당 API 요청
- 데이터베이스의 초당 트랜잭션
트래픽에 대한 기준을 세우고 패턴을 모니터링하면, 특정 시점에 대하여 수요가 예측하게 될 것이고, 리소스를 적절하게 확장하여 일관된 서비스 수준을 유지할 수 있다.
반대로 트래픽의 급격한 감소는 장애 또는 서비스 중단과 같은 문제를 의미하기에 즉각적인 대응이 필요하다는 것을 유추할 수 있다.
3. Errors (오류) :
오류란, 모든 요청을 기준으로 명시적/암시적/정책적으로 실패한 요청의 처리 비율을 의미한다.
모든 서비스는 오류를 완전히 없앨 수 없는데, 그로 인하여 발생한 오류를 모니터링하는 것이 신뢰성을 유지하는 데 중요한 역할을 한다.
오류 아래와 같은 원인으로 발생할 수 있다.
- 소프트웨어적 결함(버그)
- 하드웨어 문제(고장)
- 외부 종속성
오류는 문제가 발생한 영역에 따라, 추적 난이도에 차이가 존재(Ex : Server-side vs Client-side)하며, 높은 오류율은 사용자 경험을 저하시키고 서비스에 대한 신뢰도를 저해한다.
4. Saturation (포화도 ) :
포화도는 특 시스템 자원이 얼마나 활용되고 있는지를 나타내는 지표다.
아래는 포화도가 수집되는 시스템 자원의 목록이다.
- CPU
- 메모리
- 디스크
- 네트워크 대역폭
시스템이 포화(100% 사용)가 되면, 요청을 추가적으로 처리하기 어려워지고, 이는 성능 저하와 대기시간 및 오류율 증가를 발생시키며 심각한 경우 완전한 장애(Down)로 이어질 수 있다.
포화도에 대한 대책으로 최근 많이 사용되는 분산 시스템과 클라우드 컴퓨팅을 기반으로 Scale-up / Scale-out이 수월하게 구현 가능하게 되었다.
Four Golden Signals의 네 가지의 지표를 보았을 때, USE Method와 RED Method와 어느 정도 공통점을 가지고 있는 것을 볼 수 있다.
이러한 점에서 Four Golden Signals는 USE Method와 RED Method 두 가지 방법론의 가장 뛰어난 부분을 결합하려고 시도하였다는 것을 유추할 수 있다.
앞서 나온 방법론들은 현대 인프라에서 탄탄하고 신뢰성 있는 서비스를 구축하는 데 필수적인 안내서 역할과 위기 대응 능력을 증진시킬 수 있는 지표가 되었다.
그러나 어떤 방법론이 정답이라는 것이 아닌, 각 방법론과 지표가 지향하는 목적이 존재하고, 그에 따라 처한 상황에 적절한 방법들을 택하는 것이 가장 좋을 것이라 생각된다.
https://ssnotebook.tistory.com/entry/SRE-USE-RED-Method
'SRE > Methods' 카테고리의 다른 글
[SRE] USE / RED Method (0) | 2024.03.30 |
---|