오픈텔레메트리란 무엇인가?
오픈텔레메트리(OpenTelemetry)는 다음과 같다.
을 지원하도록 설계된 옵저버빌리티(observability) 프레임워크이자 툴킷이다.
오픈소스이며 벤더 및 툴 중립적이다. 즉 Jaeger나 Prometheus와 같은 오픈소스 도구를 포함한 다양한 옵저버빌리티 백엔드는 물론 상용 제품과도 함께 사용할 수 있다. 단, 오픈텔레메트리 자체가 옵저버빌리티 백엔드인 것은 아니다.
오픈텔레메트리의 주요 목표 중 하나는 사용 중인 프로그래밍 언어, 인프라, 런타임 환경에 관계없이 애플리케이션과 시스템을 쉽게 계측할 수 있도록 하는 것이다.
텔레메트리 데이터의 백엔드(저장)와 프론트엔드(시각화)는 의도적으로 다른 도구의 몫으로 남겨두었다.
이 시리즈의 추가 영상과 관련 자료는 다음 단계는?을 참고한다.
옵저버빌리티란 무엇인가?
옵저버빌리티란 시스템의 출력을 관찰함으로써 그 내부 상태를 이해할 수 있는 능력이다.
소프트웨어에서는 일반적으로 트레이스, 메트릭, 로그와 같은 텔레메트리 데이터를 분석함으로써 이를 실현한다.
시스템의 옵저버빌리티를 갖추려면 계측이 필요하다. 즉 코드가 트레이스, 메트릭, 로그를 내보내야 한다. 이렇게 계측한 데이터는 옵저버빌리티 백엔드로 전송한다.
왜 오픈텔레메트리인가?
클라우드 컴퓨팅과 마이크로서비스 아키텍처가 부상하고 비즈니스 요구사항이 점점 복잡해지면서, 소프트웨어와 인프라의 옵저버빌리티에 대한 필요성은 그 어느 때보다 커지고 있다.
오픈텔레메트리는 다음 두 가지 핵심 원칙을 따르면서 옵저버빌리티에 대한 필요를 충족한다.
- 직접 생성한 데이터의 소유권은 사용자에게 있다. 벤더 종속(lock-in)이 없다.
- 단 하나의 API와 컨벤션 집합만 익히면 된다.
이 두 원칙이 결합되어 팀과 조직은 오늘날의 현대적인 컴퓨팅 환경에서 필요한 유연성을 확보할 수 있다.
더 알아보고 싶다면 오픈텔레메트리의 미션, 비전, 가치를 참고한다.
오픈텔레메트리 주요 구성 요소
오픈텔레메트리는 다음과 같은 주요 구성 요소로 이루어진다.
- 모든 구성 요소를 위한 명세
- 텔레메트리 데이터의 형태를 정의하는 표준 프로토콜
- 공통 텔레메트리 데이터 유형에 대한 표준 명명 체계를 정의하는 시맨틱 컨벤션
- 텔레메트리 데이터를 생성하는 방법을 정의하는 API
- 명세, API, 텔레메트리 데이터 내보내기를 구현하는 언어별 SDK
- 일반적인 라이브러리와 프레임워크에 대한 계측을 구현하는 라이브러리 생태계
- 코드 변경 없이 텔레메트리 데이터를 생성하는 자동 계측 컴포넌트
- 텔레메트리 데이터를 수신, 처리, 내보내는 프록시인 오픈텔레메트리 컬렉터
- 쿠버네티스용 오픈텔레메트리 오퍼레이터, 오픈텔레메트리 Helm 차트, FaaS용 커뮤니티 자산 등 다양한 기타 도구
오픈텔레메트리는 기본적으로 옵저버빌리티를 제공하기 위해 오픈텔레메트리를 통합한 다양한 라이브러리, 서비스 및 애플리케이션에서 사용되고 있다.
오픈텔레메트리는 수많은 벤더에 지원되고 있으며, 이들 중 다수는 오픈텔레메트리에 대한 상용 지원을 제공하고 프로젝트에 직접 기여하고 있다.
확장성
오픈텔레메트리는 확장 가능하도록 설계되었다. 확장할 수 있는 방법의 예로는 다음이 있다.
- 사용자 지정 소스의 텔레메트리 데이터를 지원하기 위해 오픈텔레메트리 컬렉터에 리시버를 추가하는 것
- SDK에 사용자 지정 계측 라이브러리를 로드하는 것
- 특정 사용 사례에 맞춘 SDK 또는 컬렉터의 배포판을 만드는 것
- 아직 오픈텔레메트리 프로토콜(OTLP)을 지원하지 않는 사용자 지정 백엔드를 위한 새 익스포터(Exporter)를 만드는 것
- 비표준 컨텍스트 전파 형식을 위한 사용자 지정 전파자(Propagators)를 만드는 것
대부분의 사용자는 오픈텔레메트리를 확장할 필요가 없겠지만, 이 프로젝트는 거의 모든 수준에서 확장이 가능하도록 설계되었다.
역사
오픈텔레메트리는 클라우드 네이티브 컴퓨팅 파운데이션(CNCF) 프로젝트로, 이전에 존재하던 OpenTracing과 OpenCensus의 통합으로 탄생했다. 이 두 프로젝트는 모두 코드를 계측하고 텔레메트리 데이터를 옵저버빌리티 백엔드로 전송하는 표준이 없다는 동일한 문제를 해결하기 위해 만들어졌다. 두 프로젝트 모두 이 문제를 독자적으로 완전히 해결하지 못했기 때문에, 서로의 강점을 결합하고 하나의 통합된 솔루션을 제공하기 위해 병합하여 오픈텔레메트리를 이루었다.
현재 OpenTracing이나 OpenCensus를 사용하고 있다면, 마이그레이션 가이드에서 오픈텔레메트리로 전환하는 방법을 확인할 수 있다.
다음 단계는?
- 시작하기 — 바로 시작해보자!
- 오픈텔레메트리 개념에 대해 알아본다.
- OTel for beginners 또는 다른 재생목록에서 영상을 시청한다.
- 무료 강의 오픈텔레메트리로 시작하기를 포함해 교육 과정에 등록한다.
피드백
이 페이지가 도움이 되었나요?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!