관찰 가능성: 분산 시스템의 추적 가능성

관찰 가능성: 분산 시스템의 추적 가능성

소스 노드 : 1990640

"배송됨"이라고 표시되는 값비싼 소포를 기다렸는데 어디에 있는지 전혀 모르는 경우가 있습니까? 추적 기록은 11일 전에 업데이트가 중지되어 거의 희망을 잃을 뻔했습니다. 하지만 XNUMX일 후 문앞에 있습니다. 모든 불안한 기다림에서 벗어나기 위해 추적 가능성이 더 좋았으면 좋았을 텐데요. 여기에서 "관찰 가능성"이 작용합니다.

기술 환경에서는 소프트웨어나 데이터 시스템에 이러한 일이 발생하지 않도록 하고 싶을 것입니다. 따라서 시스템의 로그와 메트릭을 수집하고 내부 상태를 알려주는 모니터링 도구를 채택합니다. 모니터링은 시스템에서 오류가 무엇인지, 어디서, 언제 발생했는지 알려주기를 원할 때 가장 잘 작동하지만 오류를 해결하는 방법은 알려주지 않습니다.

XNUMX년 이상 전에 모니터링 도구는 기본 시스템 문제에 대한 컨텍스트와 예측이 부족했으며 팀은 일상적인 운영 오류를 디버깅하는 데 제한을 받았습니다. 오늘날 우리는 분산된 마이크로서비스 세계에서 일하고 살고 있습니다. 데이터 파이프라인; 여러 모니터링 도구를 사용하더라도 "내 애플리케이션이 항상 느린 이유는 무엇입니까?"와 같은 비즈니스 질문에 답하는 데 도움이 되지 않습니다. 또는 "어떤 단계에서 문제가 발생했으며 스택의 깊이는 어느 정도입니까?" 또는 "환경의 전반적인 성능을 어떻게 향상시킬 수 있습니까?" 이러한 결정을 내릴 때 능동적으로 행동하고 시스템, 애플리케이션 및 데이터에 대한 전반적인 가시성을 확보해야 합니다.

이 블로그 게시물 Etsy가 XNUMX년 전에 출판했으며 두 번째 단락에서 바로 그 사실을 언급합니다.

“애플리케이션 메트릭은 일반적으로 세 가지 중에서 가장 어렵지만 가장 중요합니다. 그것들은 귀하의 비즈니스에 매우 구체적이며 귀하의 애플리케이션이 변경됨에 따라 변경됩니다(그리고 Etsy는 많이 변경됨).”

그렇다면 모든 것을 어떻게 측정할까요? 관찰 가능성부터 시작합니다.

관찰 가능성이란 무엇입니까?

"관찰 가능성"이라는 용어는 화폐로 주조 한 Rudolf Emil Kálmán이 1960년 그의 엔지니어링 논문에서 수학적 제어 시스템을 설명했습니다. 그는 이를 시스템의 외부 출력에 대한 지식으로부터 시스템의 내부 상태를 얼마나 잘 추론할 수 있는지에 대한 척도로 정의했습니다. 근데 모니터링 같지 않나요? 기본적으로 예, 모니터링 중입니다.

요즘 옵저버빌리티(Observability)가 상당히 핫한 이슈가 되었습니다. 여러 시장 조사에 따르면 수십억 달러 규모의 플랫폼입니다. 많은 조직에서 개념을 채택하고 분산 시스템 및 파이프라인의 종단 간 가시성을 위한 프레임워크로 채택했습니다. 그러나 관찰 가능성은 모니터링과 혼동됩니다. 지금은 모니터링이 관찰 가능성의 하위 집합이라고 말할 수 있습니다. 여기에서 관찰 가능성은 하나의 큰 포괄적 용어입니다. 

관찰 가능성은 추적, 로그 및 메트릭을 수집하고 집계하여 분산 추적을 허용합니다. 이것들이 무엇을 추론하는지 봅시다:

  • 흔적: 시스템이 요청을 수신하면 추적은 해당 요청이 소스에서 대상까지 전체 수명 주기 동안 어떻게 흐르는지 알려줍니다. 추적은 "스팬"으로 표시됩니다. 추적은 범위의 트리이고 범위는 추적 내의 단일 작업입니다. 시스템에서 오류, 대기 시간 또는 병목 현상을 찾는 데 도움이 됩니다.
  • 로그 : 이는 시스템에서 발생한 작업 또는 변경 사항에 대해 알려주는 기계 생성 타임스탬프 이벤트입니다. 로그는 종종 시스템에서 이러한 오류 또는 변경 사항을 쿼리하는 데 사용됩니다.
  • 측정 항목 : 이는 CPU, 메모리, 디스크 사용량 및 일정 기간 동안 시스템이 수행되는 방식에 대한 정량적 통찰력을 제공합니다.

이러한 속성은 추적 가능성으로 모니터링 프레임워크를 향상시킵니다. 추적 가능성은 시스템을 호출하는 요청, 한 구성 요소에서 다른 구성 요소로 이동하는 데 걸리는 시간, 호출하는 다른 서비스, 오류 발생 여부, 생성되는 로그, 상태를 추적할 수 있는 렌즈를 제공합니다. 언제 시작하고 끝났는지, 시스템에 머문 타임라인은 무엇인지 등. 이러한 추적을 수집, 집계 및 분석하면 전자상거래 웹사이트의 고객 타임라인과 같은 정보에 입각한 중요한 결정을 내릴 수 있습니다. , 제품을 검색하는 데 걸린 시간, 제품을 본 시간, HTML 페이지가 이미지 또는 포함된 비디오와 같은 전체 세부 정보를 로드했는지, 시스템이 결제를 인증하고 처리하는 데 걸린 시간 등.

분산 환경에서 관찰 가능성으로 무엇을 달성합니까?

조직이 중앙 집중식 모놀리식 아키텍처에서 분산 및 분산형 마이크로 서비스 아키텍처로 이동하기 시작하면서 분산 시스템의 진화가 시작되었습니다. 그리고 이것은 많은 조직이 시스템 및 애플리케이션의 마이크로서비스 특성을 수용하는 진행 중인 작업입니다. 그리고 이 모든 것은 빅 데이터 그리고 스케일링. 분산 환경을 관리하려면 지속적인 학습, 추가 인력, 프레임워크 및 정책의 변경, IT 관리 등이 필요합니다. 참으로 큰 변화입니다.

이전에는 제한된 모놀리식 환경에서 하드웨어, 소프트웨어, 데이터 및 데이터베이스가 모두 하나의 단일 지붕 아래 있었습니다. 2000년대 빅데이터의 출현과 함께 모니터링 및 스케일링 시스템이 큰 관심사가 되기 시작했습니다. 종종 조직은 다양한 애플리케이션의 요구 사항을 충족하기 위해 다양한 모니터링 도구를 사용했습니다. 결과적으로 복원력, 가시성 및 안정성이 낮은 운영 오버헤드가 되었습니다.

이러한 모든 문제로 인해 관찰 가능성이 채택되었습니다. 오늘날 복잡한 환경에서 분산 추적을 위한 보안, 네트워크, 애플리케이션 및 데이터 파이프라인을 위한 여러 관측 가능성 도구가 존재합니다. 그들은 사촌인 모니터링 도구와 공존하며 사촌으로부터 정보를 수집하고 자체 추적 데이터에서 추가 정보로 집계합니다.

이 모든 시스템에는 움직이는 구성 요소가 많이 있으며, 그 흔적을 캡처하면 언제, 어디서, 왜, 무엇을, 어떻게 5W의 이야기를 설명할 수 있습니다. 예를 들어 오후 1시 43분에 DATAVERSITY의 웹사이트를 방문하여 블로그 게시물을 읽습니다. dataversity.net을 누르면 HTTP 요청이 시스템에 로그인됩니다. 블로그 게시물 검색을 시작하고 데이터 거버넌스 게시물로 이동하여 해당 게시물을 17분 동안 읽은 다음 오후 2시에 탭을 닫습니다.

네트워크 패킷 캡처를 위해 네트워크 시스템에 대한 다른 호출도 있을 것입니다. 관측 가능성 도구는 모든 스팬을 수집하고 하나 이상의 추적으로 통합하여 수명 주기 동안 형성된 경로를 볼 수 있도록 합니다. 네트워크 대기 시간 또는 시스템 결함과 같은 문제가 있는 경우 이제 해부(양파 껍질 벗기기) 및 문제 디버깅(어느 계층의 오류)이 더 쉬워졌습니다.

이제 대규모 분산 환경에서 애플리케이션이 수백만 건의 요청을 수신하면 추적 데이터의 양이 엄청나게 커집니다. 이러한 추적을 수집하고 분석하는 것은 스토리지 소비 및 데이터 전송에 비용이 많이 듭니다. 따라서 비용을 절약하기 위해 추적 데이터를 샘플링합니다. 대부분의 경우 엔지니어링 팀은 무엇이 잘못되었는지 또는 오류 패턴이 무엇인지 조사하기 위해 일부 조각만 필요하기 때문입니다.

이 작은 예를 통해 우리는 시스템에 대해 훨씬 더 깊은 통찰력을 얻는다는 것을 이해합니다. 따라서 더 큰 규모의 시스템을 고려할 때 엔지니어링 팀은 샘플링된 데이터를 캡처하고 작업하여 시스템의 현재 구조를 개선하고, 새 구성 요소를 적용 또는 폐기하고, 다른 보안 계층을 추가하고, 병목 현상을 제거하는 등의 작업을 수행할 수 있습니다. 

조직은 관찰 가능성을 선택해야 합니까?

우리 모두는 최종 목표가 더 나은 사용자 경험과 더 큰 사용자 만족임을 이해해야 합니다. 또한 자동화되고 능동적인 관찰 가능성 프레임워크를 통해 이러한 목표를 달성하기 위한 경로를 더 쉽게 만들 수 있습니다. 지속적인 개선 및 최적화 문화를 확립하는 것이 최적의 비즈니스 및 리더십 접근 방식으로 간주됩니다. 

디지털 트랜스포메이션 시대에 관찰 가능성은 비즈니스가 디지털 여정에서 성공하기 위한 필수 요소가 되었습니다. 통찰력 있는 추적을 제공하는 관찰 가능성은 또한 데이터 기반이 아닌 데이터 정보를 제공합니다.

결론

우리는 모니터링과 관찰 가능성이라는 용어를 같은 의미로 사용했지만 모니터링은 시스템의 상태와 시스템에서 발생하는 이벤트에 대한 정보를 제공하는 데 도움이 되지만 관찰 가능성은 최종 단계의 더 깊은 계층에서 수집된 증거를 기반으로 추론을 용이하게 합니다. 종단 환경.

관찰 가능성은 데이터 거버넌스 프레임워크의 구성 요소이며 인식될 수도 있습니다. 지속적으로 증가하는 데이터 볼륨이 상용 하드웨어 네트워크에 상주하는 이 세대에서는 아키텍처를 가능한 한 단순하게 유지하는 것이 중요합니다. 그리고 분명히 환경을 관리하는 것은 불가능한 작업이 됩니다. 따라서 적절하고 자동화된 거버넌스 정책 및 규칙을 구현하여 대규모 시스템, 파이프라인 및 데이터 정리를 유지하려면 조속히 조치를 취해야 합니다.

타임 스탬프 :

더보기 데이터 버 시티