Monitoring vs Observability
의미가 비슷해보이지만, 다르다!
Monitoring이란
•
IT 시스템에서, CPU 사용량, 메모리 샤용량 같은 데이터를 수집 및 분석
•
시스템에 문제가 있는 것으로 추정되는 이상한 동작, 조건을 감지하고 경고하는게 목표
•
예측 가능한 개별 시스템에 사용
Observability란
•
시스템 내부 동작을 이해하는데 중점
•
시스템 동작을 깊이 이해하고 발생 가능한 모든 문제의 근본 원인을 파악
•
메트릭, 추적, 로그 등을 실시간으로 수집하고 분석하는 것을 포함
Why Observability
1.
문제 해결 속도 향상
2.
전체 시스템 이해도 증가
3.
대규모 시스템 관리 기능
4.
문제 예방 및 최적화
비슷한거 아닌가요?
EX) 피곤하다
피곤하다 → 잠을 잔다??
잠을 자는게 근본적 원인 해결은 아니다. 일시적 해소일뿐(= Monitoring)
Observability는 근본적 원인 해결을 위한 추적을 해준다
메모리 문제, 코드 문제, 유저의 이상 행동 등의 정확한 원인을 추적 가능하게 함
그래서 왜 필요한가요?
24시간 풀가동해서 감시할 수는 없기 때문이다
그래서 Observability가 필요하다
통합 모니터링 환경 700+ 플러그인 실시간 연계분석 스마트한 알람
Infrastructure Monitoring
온프레미스 환경, 멀티클라우드 환경 등 다양한 환경을 모두 지원
Devops 개발자가 있는 경우가 생각보다 많지 않음 → 누구나 모니터링을 쉽게 할 수 있도록 지원
Application Performance Monitoring(APM)
•
서비스 전반에 걸친 문제 원인 파악
•
풀스택 가시성 기반 신속한 문제 해결 가능
•
Trace Search App Analytics
Log(Log Mangement)
누구나 쉽게 사용가능하도록 되어있으니 걱정 안 해도 된다
손쉬운 사용 지속적인 Correlation TroubleShooting 뛰어난 성능
RUM(Real User Monitoring)
Datadog의 RUM은 매우 강력한 도구
웹 로딩 성능, 네트워크 정보, 헤비 유저, 다양한 디바이스 사용자 추적 등 매우 편리
간단한 SDK만 설치하면 편리하게 사용 가능함
어느 페이지 어느 부분에서 에러가 난건지에 대한 상세한 것들도 모두 추적 가능
또한, 유저가 웹 화면에서 뭘 클릭하고 있는지 다 보여줌
결론
다음과 같은 장점을 가질 수 있다
•
VOC(Voice of Cosumer)
•
UI/UX 개선, 새로운 기능 개발
•
하나의 툴로 통합
◦
프론트,백, 인프라, AI 엔지니어 모두 하나의 서비스로 통합
▪
AWS, Azure 등등 왔다갔다하면서 쓸 이유가 없음
•
에러 감소
◦
에러 방지하는건 어렵지만, 유저는 에러가 있어도 보고를 잘 안하기때문에, 우리가 직접 확인하면서 에러를 줄여나갈 수 있다
•
낭비되는 리소스 정리 가능
학생들은, datadog academy를 통해서 무료로 사용가능하기 때문에, 토이 플젝에 테스트해보면서 연습해보면 좋을 거 같다! 빅테크 기업들도 비싼거 알면서 다 도입을 하고 있다 → 비싼 가치가 있다고 생각한다
그래서 써보면 좋을 거 같다
