인턴 때 그라파나, 로키, 프로메테우스로 모니터링 시스템을 구축하며 자주 보였던 키워드가 Obervability였습니다. 모니터링이 헷갈려서 여러 사람의 글을 찾아봤었는데 저자의 견해를 통해 관찰 가능성을 이루기 위해서는 실질적으로 어떤 것들이 필요한지 알 수 있습니다.
관찰 가능성은 엔지니어였던 루돌프 E. 칼만이 1960년에 처음 사용한 이래에 커뮤니티에 퍼지며 널리 퍼지기 시작했다고 합니다. 그는 수학적 제어 시스템을 설명하기 위해 관찰 가능성이라는 특징을 사용했습니다. 수학적, 공학적 의미에서 처음 사용됐던 것입니다. 이런 개념을 소프트웨어 시스템에 적용하면 - 시스템의 상태가 얼마나 새롭고 이상한지와 관계없이 그 상태를 얼마나 잘 이해하고 설명할 수 있는지를 측정하는 척도입니다. 책에서는 이런 부분을 파고들며 관찰 가능성의 이해하기 위한 필요한 배경지식과 여러 의문을 해결해나갑니다.
저는 관찰 가능성을 metric, log, trace로 바라보는 설명으로 이해를 했는데 다른 정의에 대해서도 생각해보게 합니다. OpenTelemetry나 다른 툴을 사용하기 위한 개념 설명이나 관점을 기대하고 있는데 관찰 가능성을 성공적으로 도입하기 위해서 문화적인 과제도 동시에 존재한다는 말이 기억이 남습니다. 더 나은 사용자 경험과 팀을 위한 관찰 가능성에 대해 고민해볼 수 있었습니다.
뒤에는 허니컴 제품 위주의 설명이 다소 있어서 개인적으로 아쉬웠지만 특정 임계치를 기반으로 정상/비정상으로 구분하는 모니터링을 벗어나 로그, 메트릭 등을 어떻게 수집할 것인지 힌트를 얻을 수 있어 좋았습니다.
추천 대상
모니터링을 도입해보고 직접 팀에서 사용해본 경험이 있다면 더 와닿고 도움될 글일 것이라 생각합니다.
예를 들어서, 서비스를 운영하며 수치를 보고 성능 임계치를 정해서 슬랙으로 알림을 보내는 등 여러 방법을 써봤지만 더 귀찮아지거나 큰 효과를 보지 못했다면 읽어보면 참고할 부분이 많다고 생각합니다.