배포판

배포판은 오픈텔레메트리 컴포넌트를 커스터마이징한 버전이며, 포크와 혼동해서는 안 된다.

오픈텔레메트리(OpenTelemetry) 프로젝트는 여러 시그널을 지원하는 여러 컴포넌트로 구성된다. 오픈텔레메트리의 참조 구현체는 다음과 같은 형태로 제공된다.

모든 참조 구현체는 커스터마이징하여 배포판으로 만들 수 있다.

배포판이란?

배포판은 오픈텔레메트리 컴포넌트를 커스터마이징한 버전이다. 일부 커스터마이징이 적용된 업스트림 오픈텔레메트리 저장소를 감싸는 래퍼(wrapper)다. 배포판을 포크와 혼동해서는 안 된다.

배포판에는 다음과 같은 커스터마이징이 포함될 수 있다.

  • 사용을 간편하게 하거나 특정 백엔드 또는 벤더에 맞게 사용 방식을 조정하는 스크립트
  • 백엔드, 벤더 또는 최종 사용자에게 필요한 기본 설정 변경
  • 특정 벤더나 최종 사용자에 맞춘 추가 패키징 옵션
  • 오픈텔레메트리가 제공하는 것보다 넓은 테스트, 성능 및 보안 검증 범위
  • 오픈텔레메트리가 제공하는 것보다 넓은 범위의 추가 기능
  • 오픈텔레메트리가 제공하는 것보다 적은 범위의 기능

배포판은 크게 다음과 같이 분류된다.

  • “Pure”: 업스트림과 동일한 기능을 제공하며 100% 호환되는 배포판이다. 커스터마이징은 일반적으로 사용 편의성이나 패키징을 개선한다. 이러한 커스터마이징은 특정 백엔드, 벤더 또는 최종 사용자에 맞춘 것일 수 있다.
  • “Plus”: 추가 컴포넌트를 통해 업스트림에 기능을 더하는 배포판이다. 예를 들어, 오픈텔레메트리 프로젝트의 업스트림에 반영되지 않은 계측 라이브러리나 벤더 익스포터를 포함할 수 있다.
  • “Minus”: 업스트림 기능의 일부만 제공하는 배포판이다. 예를 들어, 계측 라이브러리나 오픈텔레메트리 컬렉터 프로젝트에 있는 리시버, 프로세서, 익스포터, 확장 기능을 제거한 배포판이 이에 해당한다. 이러한 배포판은 유지보수성을 더 용이하게 하고 보안상의 요구를 고려하여 제공될 수 있다.

누가 배포판을 만들 수 있는가?

누구나 배포판을 만들 수 있다. 현재 여러 벤더가 배포판을 제공한다. 또한 최종 사용자가 레지스트리에 있는 컴포넌트 중 오픈텔레메트리 프로젝트의 업스트림에 반영되지 않은 컴포넌트를 사용하려는 경우, 배포판을 만드는 것을 고려할 수 있다.

기여할 것인가, 배포판을 만들 것인가?

계속해서 자체 배포판을 만드는 방법을 알아보기 전에, 오픈텔레메트리 컴포넌트에 추가하려는 내용이 모두에게 도움이 되어 참조 구현체에 포함되는 편이 좋을지 자문해 본다.

  • “사용 편의성"을 위한 스크립트를 범용화할 수 있는가?
  • 기본 설정에 대한 변경이 모두에게 더 나은 선택이 될 수 있는가?
  • 추가 패키징 옵션이 정말 특정 용도에만 필요한가?
  • 테스트, 성능 및 보안 검증 범위를 참조 구현체에도 적용할 수 있는가?
  • 추가 기능이 표준의 일부가 될 수 있는지 커뮤니티에 확인했는가?

자체 배포판 만들기

컬렉터

자체 배포판을 만드는 방법은 “자체 오픈텔레메트리 컬렉터 배포판 만들기” 블로그 글에서 확인할 수 있다.

자체 배포판을 만든다면, 오픈텔레메트리 컬렉터 빌더은 좋은 출발점이 될 수 있다

언어별 계측 라이브러리

계측 라이브러리를 커스터마이징하기 위한 언어별 확장 메커니즘이 제공된다.

가이드라인 준수하기

배포판에 로고나 이름 등 오픈텔레메트리 프로젝트의 홍보 자료를 사용할 때는 기여 조직을 위한 오픈텔레메트리 마케팅 가이드라인을 준수해야 한다.

오픈텔레메트리 프로젝트는 현재 배포판을 인증하지 않는다. 향후에는 쿠버네티스 프로젝트와 유사하게 배포판과 파트너를 인증할 수도 있다. 배포판을 평가할 때는 해당 배포판의 사용으로 특정 벤더에 종속되지 않는지 확인해야 한다.

배포판에 대한 모든 지원은 오픈텔레메트리 개발자가 아닌 해당 배포판의 개발자가 제공한다.