클라우드 네이티브, 왜 모니터링이 아닌 ‘옵저버빌리티’인가 – 스플렁크의 제안

클라우드 인프라 전환과 컨테이너·쿠버네티스 기반의 마이크로서비스 아키텍처 기반의 애플리케이션 현대화가 가속화되면서 비즈니스 환경 전환이 이뤄지고 있다. 고객들이 필요로 하는 서비스를 빠르게 제공하기 위해서는 이같은 변화는 필수적이다. 하지만 지속적으로 변화하는 탄력적인 인프라를 운영하면서 애플리케이션을 빠르게 개발하고 서비스도 문제 없이 제공하는 것이 쉬운 일은 아니다. 애플리케이션 개발과 인프라 운영관리 복잡성은 계속 증가하고 있다. 데브옵스(DevOps) 환경에서 새롭게 나타나는 문제점과 어려움이 나타나고 있다.

데브옵스팀은 문제가 발생하는 경우 이를 빠르게 인지해 해결할 수 있도록 다양한 모니터링 솔루션을 사용하고 있다. 서버 모니터링 시스템, 네트워크 모니터링 시스템, 애플리케이션 성능관리(APM) 시스템, 로그 분석 시스템, 쿠버네티스·가상화 환경 모니터링·분석 솔루션 등 매우 다양한 운영관리 도구를 활용하고 있다.

그런데 최근 들어 “클라우드 네이티브 기반의 비즈니스 환경으로 빠르게 변화하는 상황에서 과연 이같은 모니터링 도구는 효과적일까?”라는 의구심이 제기되고 있다. 이같은 의문을 던지고 있는 IT 기업 가운데 하나가 바로 스플렁크(Splunk)다.

인필교 스플렁크코리아 상무는 최근 개최된 바이라인플러스 웹세미나에서 “클라우드 전환과 앱 현대화로 인한 비즈니스 전환으로 빠르게 변화하는 기업 IT 환경의 복잡한 문제들을 해결하는데 모니터링 도구들이 도움이 돼야 한다. 하지만 전통적인 모니터링 방식은 오히려 복잡성을 심화시키고 있다”고 단언했다.

그 이유로 인 상무는 “너무 많은 모니터링·분석 도구들이 사용되고 있다. 각각의 도구들은 자신들만의 데이터 소스를 가지고 있고 사일로화된 형태로 각각 동작하고 있다. 이는 각 모니터링 도구가 제공하는 가시성 역시 파편화돼 있다는 의미다. 이를 전부 다 연계해 효과적으로 분석할 수 있는 방법이 전무하다”고 진단했다. 이어 “그 때문에 실제 데브옵스팀이 모니터링 도구를 사용해 분석을 수행하는데 있어 대부분의 경우 수동적인 방식을 통해 일일이 개발자들이 각각의 모니터링 솔루션에서 데이터를 수집하고 분석하며 어려움을 겪을 수밖에 없는 상황이 됐다. 결국 영역별 전문성이 떨어지고, 이슈가 발생했을 때 원인을 분석하고 해결하는 데 과다한 시간은 소요되는 문제가 발생한다”고 말했다.

이같은 전통적인 모니터링 방식이 가진 한계를 ‘옵저버빌리티(Observability)’로 진화시켜야만 해결할 수 있다는 게 그의 얘기다.

그렇다면 스플렁크가 말하는 옵저버빌리티는 무엇일까.

인 상무는 “기존의 모니터링이 알고 있는 위험 요소가 잘못될 가능성을 주목하는 데 그쳤다면, 옵저버빌리티는 기업의 비즈니스 서비스를 제공하는데 필요한 모든 인프라와 관련된 마이크로서비스에서 데이터를 수집하고 해당 데이터를 분석함으로써 어떠한 일들이 발생했고 어떠한 예상치 못한 요소가 발생하는지 해당 부분을 쉽게 찾아내고 원인을 분석할 수 있게 하는 플랫폼”이라고 정의했다. 요약하면, 이전에는 전혀 모르고 있었고 예상하지도 못했던 문제까지도 빠르게 찾아내고 조사·분석해 원인을 해결하는데 도움을 준다는 것이다.

메트릭·트레이스·로그 데이터 통합, 실시간 연관 분석 중요

옵저버빌리티의 정의와 구성 요소는 여기서 그치지 않는다. 인 상무는 “기존 모니터링이 단순히 어느 포인트에 대한 모니터링과 수집된 데이터를 대시보드 형태로 스크린에 보여주는 데 그쳤다면, 옵저버빌리티는 모든 소스에서 발생한 데이터들을 수집하고 통합해 분석할 수 있게 해준다. 실제 데브옵스팀이 가지고 있는 여러 궁금증에 대해서 정답을 제공해주는 플랫폼이다. 그리고 단순히 장애를 분석하거나 개별적으로 사일로화된 서비스에 그쳤던 모니터링 솔루션과는 달리 옵저버빌리티는 관련된 모든 데이터를 중앙집중화해 수집, 분석해 사용 현황에 맞춰 데브옵스팀의 문제들을 해결하는 데 도움을 주는 플랫폼”이라고 설명했다.

핵심은 통합돼 있고(Integrated), 해결책(Answer)을 제공하며, 중앙집중화된(Centralized) 분석이 가능하다는 것이다.

인 상무는 “마이크로서비스 환경은 복잡한 인터랙션이 발생하고 있고 동일한 문제가 반복되지 않는 환경”이라며 “이러한 환경에서 효과적으로 멀티테넌시에 대한 디버깅을 할 수 있어야 한다. 모니터링만으로 안전이 보장되지 않는 환경에서는 수많은 데이터들을 효과적으로 분석하고 대응해 보다 더 쉽게 해결하도록 지원하는 옵저버빌리티가 기업에 중요한 도전과제가 될 것”이라고 진단했다.

기업이 옵저버빌리티를 구현하기 위한 필수 요건으로는 메트릭(Metrics)과 트레이스(Trace), 로그(Logs) 데이터를 통합·저장하고 실시간 분석을 거쳐 클라우드 환경에 맞게 쉽게 확장할 수 있는 기능을 수행해야 하며 기존 모니터링 솔루션과 비교해 월등이 많은 데이터들을 수집하고 분석할 수 있도록 머신러닝 기반 분석이 수행돼야 한다고 제시했다.

특히 인 상무는 “클라우드 네이티브 모니터링은 새로운 접근법이 필요하다”며 이를 위한 5가지 고려사항을 소개했다. 그에 따르면, 최우선적으로 ▲마이크로서비스 아키텍처(MSA)의 컨테이너나 쿠버네티스 클러스터에 대한 자원의 헬스에 대한 가시성을 제공해야 한다. ▲두 번째는 마이크로 서비스 환경의 다양한 상호 의존 요소에 대한 가시성을 확보해야 한다. ▲세 번째는 컨텍스트를 반영한 조밀한 로깅으로 옵저버빌리티를 구성하는 핵심 요소인 메트릭, 트레이스, 로그에 대한 연관 분석을 할 수 있도록 구축돼야 한다. 아울러 ▲수많은 데이터를 분석할 수 있도록 실시간 스트리밍 방식의 분석과 경보 역량도 필요하다. ▲분석된 내용을 바탕으로 인공지능(AI) 기반의 자동화된 대응 방식을 구현할 수 있어야 한다.

‘3초 이내 장애 감지, 2분 내 복구’ 지원

스플렁크는 이같은 요소를 충족하는 옵저버빌리티를 제공한다. 메트릭과 트레이스, 로그를 통합적으로 저장하고 실시간 분석해 모니터링할 수 있도록 제공한다. 이를 두고 인 상무는 “엔드투엔드 풀피델리티(End to End Full-Fidelity) 저장과 분석을 지원한다”고 했다. 또한 실시간 분석 기능을 제공하며, 오픈 텔레메트리를 지원하면서 기업들이 필요로 하는 어떠한 환경에서도 사용할 수 있도록 확장성을 갖추고 있다.

그는 “클라우드 네이티브 기업들은 자빅스(ZABBIX), 집킨(ZIPKIN), 그레이로그(graylog), 엘라스틱(elastic) 등 오픈소스 기반의 메트릭 모니터링, 트레이스 모니터링 솔루션, 로그 모니터링 솔루션을 각각 활용한다. 개별 솔루션들이 통합되어 있지 않고 전부 사일로화돼 어려움들을 일으킨다”라면서 “이 경우 각 데이터를 연관 분석할 수 없어 장애 감지에 분 단위 이상, 5분에서 10분이 소요될 수 있다. 감지된 뒤부터 분석 업무가 시작될 수밖에 없다”고 지적했다. 아울러 “개발자들이 데이터들을 수동으로 일일이 수집해 연관관계를 하나하나 추적하고 분석하는 과정들이 필요하게 된다. 그래서 고객분들이 대부분 문제를 찾는데 3시간 이상의 시간이 소요된다고 이야기하고 있는 것”이라고 덧붙였다.

인 상무는 “스플렁크가 제공하는 옵저버빌리티는 트러블슈팅(Troubleshooting) 워크플로우를 간편하게 해준다. 스트리밍 방식의 분석 솔루션을 통해 장애가 발생하면 5초 이내에 감지할 수 있도록 지원해 장애 원인 분석에 소요되는 시간을 월등히 단축시켜 빠른 시간 내에 장애를 극복할 수 있게 한다”며 “트러블슈팅 워크플로우는 CICD(Continuous Integration and Continuous Delivery) 파이프라인과 통합해 자동으로 문제가 되는 배포를 자동 롤백(Rollback)으로 극복하도록 해준다. 실제로 서비스 상에서 2분 내 복구할 수 있도록 지원한다. 이후 사후 분석을 통해 장애 원인을 정확하게 파악할 수 있게 지원한다”고 강조했다.

글. 바이라인네트워크
<이유지 기자>yjlee@byline.network

[컨퍼런스 안내]

2025 이커머스 비즈니스 인사이트 : 생존을 넘어 성장으로

일시 : 2025년 2월 18일 오후 12:30~17:30
장소 : 서울 강남구 테헤란로7길 22 ST Center (과학기술컨벤션센터) 지하 1층 대회의실 1

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다