개발자 / 클라우드

"리소스는 더 적게, 신뢰성은 더 높게" 클라우드 혁명의 근간 '관찰가능성'

Richard Hartmann | InfoWorld 2023.09.14
관찰가능성(observability) 개념의 기원은 1960년대, 복잡한 시스템을 사람이 이해할 수 있도록 분해하기 위한 루돌프 E. 칼만의 고전적 연구로 거슬러 올라간다. 당시는 항공우주와 항법을 위한 새로운 컴퓨팅 시스템이 맹렬한 기세로 등장하던 시기였다. 이 같은 시스템의 발전이 시스템에 대한 인간의 추론 능력을 앞지른 상황에서 칼만의 연구는 관찰가능성 이론의 기반을 마련했다는 평가를 받는다.
 
ⓒ Getty Images Bank

지금 통용되는 의미의 관찰가능성(현대 IT 운영의 중요한 축을 담당하는 90억 달러 규모의 범주)은 일반적으로 구글 검색, 구글 광고, 유튜브와 같은 하이퍼스케일 서비스에 대한 구글의 사이트 안정성 엔지니어링 접근 방식과 연관된다.
 
구글의 사이트 안정성 엔지니어링 책에 따르면 구글은 2003년, 쿠버네티스의 영감이 된 클러스터 운영체제인 보그(Borg)의 탄생에 즈음해서 보그몬(Borgmon)이라는 새로운 모니터링 시스템을 만들었다. 구글은 분산 인프라 전반에서 작동하는 마이크로서비스의 경우 움직이는 부분이 워낙 많은 만큼 동적 시스템을 이해하기 위해서는 실시간으로 작동하고 플랫폼 팀을 불필요한 노이즈로 뒤덮지도 않는 새로운 모델이 필요하다는 것을 인식했다.
 
보그몬은 “시계열 데이터 수집을 모니터링 시스템의 가장 중요한 역할로 만들고, 시계열을 차트와 알림으로 조작하기 위한 풍부한 언어로 체크 스크립트를 대체”했다.
 

프로메테우스와 그라파나의 등장

보그몬은 프로메테우스(Prometheus) 탄생의 전기가 됐다. 프로메테우스는 2014년에 출시됐으며 현재 메트릭 기반 모니터링 및 알림을 위해 가장 널리 사용되는 오픈소스 기술이다. 거의 같은 시기에 이와 별개로 관찰가능성을 시각화하기 위한 그라파나(Grafana)가 등장했다. 이 두 오픈소스 기술로 인해 수천만 명의 개발자로 구성된 커뮤니티가 형성되고 메트릭과 로그, 트레이스를 중심으로 한 관찰가능성 범주의 혁신 동력이 마련됐다.
 
물론 이야기는 거기서 끝나지 않는다. 오늘날의 시스템은 기반 복잡성을 의도적으로 점점 더 많이 노출하고 있다. 우리가 다루는 데이터는 줄어들지 않고 더 늘어난다. 시스템은 갈수록 이질화되고 사용자 기대치는 계속 높아진다. 엔지니어링과 비즈니스의 절충은 이해는 되는 일이지만 이는 인간 운영자가 현재 일어나는 일을 파악하기가 점점 더 어려워진다는 것을 의미한다. 이들에게는 통제력을 되찾고 노출되는 복잡성을 억제하고 증류하기 위한 툴이 필요하다.
 
분산 시스템을 사람이 이해하기 위한 이 관찰가능성의 여정에서 가장 기대되는 새로운 발전 상황을 확인해 보자.
 

eBPF와 실리움을 사용한 커널 수준 관찰가능성

분산 시스템이 발전하면서 네트워크 계층의 추상화도 함께 발전했다. 이 영역에서 가장 기대되는 두 가지 기술은 애플리케이션이 파일 액세스와 네트워크 액세스 및 기타 운영체제 기능을 위해 리눅스와 접하는 모든 부분에서 커널 수준 인텔리전스를 추출하는 eBPF와 실리움(Cilium)이다.
 
이 두 가지 기술, 그리고 허블(Hubble)과 같은 스토리지 백엔드는 애플리케이션 변경이 불필요한 새로운 연결 패브릭을 만들고, 커널 수준에서 이벤트를 관찰하기 위한 세분화된 텔레메트리 데이터를 풍부하게 생성한다. 현재 eBPF와 실리움으로 가장 성공적인 결과를 얻는 사용자는 네트워크 텔레메트리에 집중하거나 대규모 서비스 전반의 대규모 분석을 지원하는 사용자다.
 

관찰가능성과 소프트웨어 공급망 보안

Log4j와 같은 보안 익스플로잇으로 인해 소프트웨어 아티팩트(개발자가 소프트웨어를 구축하는 데 사용하는 프레임워크와 라이브러리)의 상대적인 보안 취약성이 드러났고, 이러한 빌딩 블록의 출처와 무결성을 보호해야 할 필요성이 대두됐다. 특히 Log4j의 경우 보안 팀은 취약점을 패치하는 작업뿐만 아니라 Log4j가 환경의 어느 부분에 있는지, 애초에 있기는 한지 파악하는 데도 어려움을 겪었다.
 
일반적인 엔터프라이즈에는 방대한 서비스를 구성하는 수많은 아티팩트 카탈로그가 있고, 서비스가 실행되는 위치는 고도로 분산된다. 이로 인해 보안 팀은 인간의 추론 역량으로는 감당할 수 없는 늪에 빠졌다. 모든 지표는 관찰가능성이 소프트웨어 공급망 보안과 함께 가야 한다는 것을 가리키고 있다. 필자는 공급망 보안 기술이 관찰가능성 영역과 심층적으로 통합될 것으로 전망한다.
 

관찰가능성 사용 편의성의 발전

관찰가능성은 인기를 끌고 있지만, 여전히 너무 많은 분야에 대한 전문 지식이 필요하다. 자동화의 발전은 유용한 데이터의 탐색과 선택을 개선하고 간소화하는 데 도움이 될 것이다. 유입되는 데이터의 유형을 기반으로 자동으로 대시보드가 생성될 수 있다. 또한 자동 계측을 사용하면 전체 데이터 생성과 그에 따르는 비용이 약간 상승하겠지만, 데이터 추출의 기준선을 만들어 가치 실현 시간을 단축할 수 있을 것이다.
 
관찰가능성 시각화의 경우 GUI 1세대에서 발전해 코드형 구성(configuration-as-code)이 핵심 개념이 된다. 개발자는 웹 인터페이스에서 구성 작업을 수행하는 대신 매일 다루는 익숙한 툴 및 개념인 API와 깃(Git) 통합을 통해 관찰가능성 데이터 및 구성을 다루게 된다. 개발자는 코드 프로그래밍과 같은 방식으로 모든 관찰가능성 데이터와 시각화를 다룰 수 있으며 여기에는 CI/CD, 롤백 및 기타 최신 운영의 모든 핵심 부문까지 포함된다.
 

애플리케이션 관찰가능성

기존 애플리케이션 모니터링(APM)은 범위가 극히 제한적으로, 기반 인프라는 무시한 채 애플리케이션만 관찰한다. 기존 애플리케이션 모니터링은 클라우드 제공업체, 네트워크, 스토리지, 데이터베이스, 기타 서비스, 클러스터 스케줄러, 또는 애플리케이션이 상호 작용하고 의존하는 그 밖의 모든 문제에 대한 시야가 없다. 차세대 관찰가능성 툴을 사용하면 개발자와 운영자는 메트릭, 로그, 트레이스, 프로필 사이를 단절없이 이동하면서 기업이 수행하는 모든 작업을 종합적으로 볼 수 있으며, 평균 복구 시간(MTTR)을 단축하고 사용자 만족도를 높일 수 있다.
 

결론

더 심층적인 관찰가능성에 대한 요구를 이끄는 주된 동력은 기존 서비스 경계를 허무는 마이크로서비스와 클라우드 네이티브 컴퓨팅의 도입이다. 독립적인 팀에서 더 많은 작업을 병렬로 수행할 수 있도록 하기 위해 이러한 새로운 아키텍처를 구현하면서 조직은 수직 확장성을 일부 희생하는 대가로 수평 확장성이 제공하는 혜택을 얻었다.
 
이 같은 엔지니어링의 절충은 비즈니스 측면에서는 타당하지만 시스템의 내재된 복잡성이 직접적으로 더 많이 노출된다는 대가가 따른다. 많은 팀이 이미 발견했듯이 지난 세대의 툴에는 이러한 복잡성을 억제, 증류하고 파악할 수 있는 기능이 없다. 즉, 많은 팀이 최신 툴의 부재로 인해 실패의 길로 들어섰다.
 
지금의 거시 경제 환경에서 경쟁사보다 더 적은 리소스를 사용하는 동시에 더 높은 신뢰성을 확보하는 것이 매우 중요하다. 분야별 전문가가 더 효율적이고 효과적으로 일할 수 있도록 하면 팀과 회사가 성공할 수 있는 발판이 마련된다.
 
더 큰 자동화를 향한 인간의 이해 진작은 산업 혁명, 반도체 혁명, 그리고 오늘날의 클라우드 혁명의 근간을 이룬다. 모든 혁명에는 패자와 승자가 있다. 이번에는 현대의 관찰가능성 원칙을 사용하여 클라우드에서 일어나는 일을 이해할 수 있는 사람이 승자가 될 것이다.
editor@itworld.co.kr 
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.