모범 사례 개요
Observability는 범위가 넓고, 도구 생태계도 성숙한 분야입니다. 하지만 모든 도구가 모든 상황에 적합한 것은 아닙니다! Observability 요구사항을 정의하고, 구성하고, 최종 배포하기까지의 과정을 돕기 위해, Observability 전략 수립에 꼭 필요한 다섯 가지 핵심 모범 사례를 정리했습니다.
모니터링, 뭣이 중요헌디?
Observability에서 가장 중요한 것은 서버, 네트워크, 애플리케이션, 고객이 아닙니다. 가장 중요한 것은 여러분의 비즈니스, 프로젝트 그리고 이것들의 사용자 입니다.
먼저 성공 기준이 무엇인지 정의하세요. 예를 들어, 이커머스 애플리케이션을 운영한다면 지난 1시간 동안의 구매 건수가 성공 지표일 수 있습니다. 비영리단체라면 이번 달 목표 대비 기부금일 수 있고, 결제 처리 시스템이라면 트랜잭션 처리 시간, 대학이라면 학생 출석률이 될 수 있습니다.
성공 지표는 모두에게 다릅니다! 여기서는 이커머스 애플리케이션을 예로 들지만, 여러분의 프로젝트는 전혀 다른 측정 기준을 가질 수 있습니다. 어떤 경우든 핵심 원칙은 같습니다: 정상 상태가 어떤 것인지 알고, 그것을 측정하세요.
어떤 애플리케이션이든, 핵심 지표를 먼저 파악해야 합니다. 그 다음 그 지표에 영향을 미치는 애플리케이션이나 인프라 요소를 역추적(Working Backwards)1 하세요. 예를 들어, 웹 서버의 높은 CPU가 고객 만족도를 위협하고 결국 매출에 영향을 준다면, CPU 사용률을 모니터링하는 것이 중요합니다!
목표를 정의하고 측정하세요!
중요한 최상위 KPI를 파악했다면, 다음 단계는 이를 자동으로 추적하고 측정하는 방법을 마련하는 것입니다. 여기서 핵심은 워크로드 운영을 감시하는 동일한 시스템에서 이 작업을 수행하는 것입니다. 이커머스 워크로드를 예로 들면:
- 매출 데이터를 시계열(time series)로 저장
- 사용자 등록 현황을 같은 시스템에서 추적
- 고객이 웹 페이지에 머무는 시간을 측정하고, 이 데이터도 시계열로 저장
대부분의 고객은 이미 이런 데이터를 보유하고 있지만, Observability 관점에서 적절한 위치에 있지 않은 경우가 많습니다. 매출 데이터와 사용자 등록 정보는 보통 관계형 데이터베이스나 BI 리포팅 시스템에 있고, 방문 시간 데이터는 로그나 Real User Monitoring에서 추출할 수 있습니다.
지표 데이터의 원래 위치나 형식에 관계없이, 반드시 시계열(time series)로 관리해야 합니다. 비즈니스, 개인, 학술, 또는 어떤 목적이든 가장 중요한 모든 핵심 지표는 시계열 형식이어야 다른 Observability 데이터(시그널 또는 텔레메트리라고도 함)와 상관 분석을 할 수 있습니다.
그림 1: 시계열 예시
컨텍스트 전파와 도구 선택
도구 선택은 운영 방식과 문제 해결 속도에 큰 차이를 만듭니다. 하지만 최적이 아닌 도구를 선택하는 것보다 더 나쁜 것은, 기본적인 시그널 유형 중 일부를 수집하지 않는 것입니다. 예를 들어, 워크로드에서 기본 로그만 수집하고 트랜잭션 트레이스를 놓치면 공백이 생깁니다. 그 결과 애플리케이션 전체에 대한 통합된 시각 을 가질 수 없게 됩니다. 현대적인 Observability 접근 방식은 모두 애플리케이션 트레이스를 통해 "점과 점을 연결하는 것"에 기반합니다.
워크로드의 건강 상태와 운영을 완전하게 파악하려면 로그, 메트릭, 트레이스를 수집하고, 상관 분석, 이상 탐지, 대시보드, 알람 등을 수행하는 도구가 필요합니다.
일부 Observability 솔루션은 위의 모든 기능을 포함하지 않을 수 있으며, 기존 시스템을 보완, 확장하거나 부가 가치를 제공하는 것이 목적일 수 있습니다. 어떤 경우든, Observability 프로젝트를 시작할 때 도구 간 상호 운용성과 확장성은 중요한 고려 사항입니다.