OpenTelemetry: Dev vs Ops

개발팀과 운영팀의 역할과 협업

👨‍💻

Dev Team

📝 애플리케이션 계측

코드에 OpenTelemetry SDK를 통합하고 자동/수동 계측을 구현합니다.

📊 커스텀 메트릭 정의

비즈니스 로직에 맞는 커스텀 메트릭과 이벤트를 생성합니다.

🔗 트레이스 컨텍스트 전파

마이크로서비스 간 요청 추적을 위한 컨텍스트를 구현합니다.

🏷️ 속성과 태그 추가

디버깅과 필터링을 위한 의미있는 메타데이터를 추가합니다.

🐛 에러 추적 구현

예외 처리와 에러 정보를 텔레메트리에 포함시킵니다.

🔄
🔧

Ops Team

📡 Collector 배포/관리

OpenTelemetry Collector를 설치하고 파이프라인을 구성합니다.

💾 백엔드 시스템 구축

Prometheus, Jaeger, Elasticsearch 등의 저장소를 관리합니다.

📈 대시보드 구성

Grafana 등을 사용해 모니터링 대시보드를 만들고 관리합니다.

🚨 알람 규칙 설정

임계값 기반 알람과 이상 탐지 규칙을 구성합니다.

성능 최적화

샘플링 전략과 데이터 필터링으로 비용과 성능을 최적화합니다.

🛠️ 주요 도구들

📚
OTel SDK
Dev 도구
📡
OTel Collector
Ops 도구
🔧
OpenTelemetry Operator
K8s 관리
📊
Prometheus
메트릭 저장소
🔍
Jaeger
트레이스 저장소
📝
Elasticsearch
로그 저장소
📈
Grafana
시각화 도구
🌐
Zipkin
트레이스 저장소
🔔
AlertManager
알림 관리

🔄 일반적인 워크플로우

1
👨‍💻 Dev
애플리케이션에 OTel SDK 통합
자동 계측 라이브러리 설치 및 초기화 코드 작성
2
👨‍💻 Dev
커스텀 스팬과 메트릭 추가
중요한 비즈니스 로직에 대한 상세 계측 구현
3
🔧 Ops
Collector 인프라 구축
데이터 수집, 처리, 라우팅을 위한 파이프라인 설정
4
🔧 Ops
백엔드 저장소 연결
메트릭, 트레이스, 로그를 각각의 백엔드로 전송
5
🤝 Dev + Ops
대시보드 구성 협업
비즈니스 메트릭과 인프라 메트릭을 함께 시각화
6
🔧 Ops
알람 및 자동화 설정
임계값 기반 알람과 자동 스케일링 규칙 구성

🤝 협업 포인트

📋
계측 표준 정의

팀 간 일관된 네이밍 규칙과 태그 체계를 함께 만듭니다.

🎯
SLI/SLO 설정

서비스 레벨 지표와 목표를 공동으로 정의하고 추적합니다.

💡
문제 해결

프로덕션 이슈 발생 시 텔레메트리 데이터로 함께 분석합니다.

📚
지식 공유

새로운 기능과 모범 사례를 정기적으로 공유합니다.