Skip to content

Observability

제어이론에서 관측 가능성(observability)이란 시스템의 출력 변수(output variable)를 사용하여 상태 변수(state variable)에 대한 정보를 알아낼 수 있는지를 나타내는 용어이다. 시스템의 출력 변수를 사용하여 특정 상태 변수에 대한 정보를 알아낼 수 있을 때 그 상태 변수는 관측 가능하다(observable)고 하며, 시스템의 모든 상태 변수가 관측 가능할 때 그 시스템은 관측 가능하다고 한다.

Categories

컴퓨팅 분야에서의 관측 가능성

관측 가능성은 복잡한 시스템의 외부 아웃풋, 특히 원격 측정에 대한 이해만으로 시스템의 내부 상태나 조건을 파악할 수 있는 능력을 의미합니다.

관측 가능성은 현대 소프트웨어 시스템과 클라우드 컴퓨팅 환경의 가용성, 성능 및 보안을 유지하는 데 중요한 역할을 합니다.

“관측 가능성”이라는 용어는 제어 이론에서 유래되었으며, 제어 이론은 유량 제어 시스템의 피드백을 기반으로 파이프를 통해 물의 흐름을 조절하는 것과 같이 동적 시스템의 자동화 제어와 관련된 엔지니어링 이론입니다.

관측 가능성은 최신 분산 애플리케이션에 관한 심층적인 가시성을 제공하여 자동화된 실시간 문제 식별 및 해결을 지원합니다. 관측 가능한 시스템이 많을수록 IT 팀은 추가 테스트나 코딩 없이도 식별된 성능 문제에서 근본 원인으로 더 빠르고 정확하게 전환할 수 있습니다.

IT 운영(ITOps) 및 클라우드 컴퓨팅에서 관측 가능성을 확보하려면 애플리케이션과 애플리케이션이 실행되는 하드웨어 및 네트워크에서 발생하는 성능 데이터의 지속적인 스트림을 집계, 연관 및 분석하는 소프트웨어 툴이 필요합니다. 그런 다음 팀은 데이터를 사용하여 앱과 네트워크를 모니터링, 문제 해결 및 디버깅하고 궁극적으로 고객 경험을 최적화하고 서비스 수준 계약(SLA) 및 기타 비즈니스 요구 사항을 충족할 수 있습니다.

관측 가능성은 종종 애플리케이션 성능 모니터링 및 네트워크 성능 관리(NPM)와 혼동됩니다. 그러나 관측 가능성 도구는 애플리케이션 성능 모니터링 및 NPM 데이터 수집 방법의 자연스러운 진화입니다. 이러한 솔루션은 클라우드 네이티브 애플리케이션 배포의 점점 더 분산되고 역동적인 특성을 해결하는 데 더 적합합니다.

관측 가능성은 다른 모니터링 접근 방식을 대체하는 것이 아니라 개선하고 확장합니다.

관측 가능성의 세 가지 핵심 요소

관측 가능성 플랫폼은 앱 및 인프라 구성 요소에 내장된 계측과 통합하고 이러한 구성 요소에 기능 및 계측을 추가하여 성능 원격 측정을 지속적으로 발견하고 수집합니다.

관측 가능성은 세 가지 주요 원격 측정 유형에 중점을 둡니다.

로그
로그는 세분화되고 타임스탬프가 찍히며 완전하고 변경할 수 없는 애플리케이션 이벤트 기록입니다. 무엇보다도 로그를 사용하여 주변 컨텍스트를 포함한 모든 이벤트에 대한 정확도가 높은 밀리초 단위 기록을 만들 수 있습니다. 개발자는 문제 해결 및 디버깅을 위해 로그를 사용합니다.
추적
추적은 사용자 인터페이스 또는 모바일 앱에서 전체 아키텍처를 거쳐 사용자에게 돌아오는 모든 사용자 요청의 엔드투엔드 '여정'을 기록합니다.
지표
지표(시계열 지표라고도 함)는 시간 경과에 따른 애플리케이션 및 시스템 상태의 기본 측정값입니다. 예를 들어, 지표는 애플리케이션이 5분 동안 사용하는 메모리 또는 CPU 용량이나 사용량이 급증하는 동안 애플리케이션이 경험하는 지연 시간을 측정하는 데 사용됩니다.

관측 가능성 도구는 각 애플리케이션 구성 요소가 다른 구성 요소, 애플리케이션 및 IT 리소스에 어떻게 종속되어 있는지 보여주는 종속성 맵도 생성합니다.

원격 측정을 수집한 후 플랫폼은 실시간으로 데이터의 상관 관계를 파악하여 DevOps 팀, 사이트 안정성 엔지니어링 (SRE) 팀 및 IT 직원에게 완전한 컨텍스트 정보를 제공합니다. 팀은 애플리케이션 성능 문제를 나타내거나, 원인이 되거나, 해결할 수 있는 이벤트의 “내용, 위치, 이유”를 파악합니다.

또한 많은 관측 가능성 플랫폼은 시스템 내에 새로운 원격 측정 소스가 나타날 때 자동으로 검색합니다(예: 네트워크에 새로운 애플리케이션 프로그래밍 인터페이스(API)가 추가되는 경우). 주요 플랫폼에는 운영을 위한 인공 지능(AIOps) 기능이 포함되어 있어 실제 문제를 나타내는 신호와 현재 또는 잠재적인 문제와 관련이 없는 데이터인 '노이즈'를 분리할 수 있습니다.

See also

Favorite site