🌳 고급 infrastructure
Observability가 뭔가요?
쉽게 이해하기
병원에서 의사가 환자를 진단할 때를 생각해보세요. 체온, 혈압, 혈액검사 같은 여러 지표를 보고 환자의 상태를 파악하죠. Observability는 소프트웨어의 '건강 상태'를 여러 각도에서 관찰할 수 있게 만드는 거예요. 로그, 메트릭, 추적 데이터를 통해 시스템 안에서 무슨 일이 일어나는지 알 수 있어요.
핵심 정리
시스템의 내부 상태를 외부에서 추론하고 이해할 수 있는 능력이에요.
자세히 알아보기
모니터링(Monitoring)과 Observability는 비슷해 보이지만 차이가 있어요. 모니터링은 '미리 정한 지표'를 확인하는 거예요. 예를 들어 CPU 사용률, 응답 시간 같은 것들이죠. 반면 Observability는 예상하지 못한 문제도 찾을 수 있게, 시스템의 내부 동작을 다양한 각도에서 관찰할 수 있게 하는 거예요.
Observability의 3가지 핵심 요소는 로그(Logs), 메트릭(Metrics), 트레이스(Traces)예요. 로그는 시스템에서 일어난 이벤트 기록, 메트릭은 CPU, 메모리 같은 수치 데이터, 트레이스는 요청이 여러 서비스를 거치는 경로를 추적하는 거예요. 이 세 가지를 함께 보면 문제의 원인을 훨씬 빠르게 찾을 수 있어요.
실무에서는 마이크로서비스 환경에서 특히 중요해요. 하나의 요청이 수십 개의 서비스를 거치는데, 어디선가 느려지거나 에러가 나면 정확히 어디가 문제인지 찾기 어려워요. Datadog, Grafana, New Relic 같은 Observability 도구들은 이런 복잡한 시스템을 시각화해서 한눈에 파악할 수 있게 도와줘요.
Observability를 잘 구축해두면 장애 발생 시 빠르게 대응할 수 있고, 시스템을 개선할 포인트도 쉽게 찾을 수 있어요. 요즘 클라우드 네이티브 환경에서는 필수적인 개념이에요.