최근 엔터프라이즈 애플리케이션 성능 관리의 범위가 점차 넓어지고 있습니다. 전통적인 내부 시스템 자원 사용률 중심의 성능 모니터링만으로 부족함을 느끼는 이유는 분명한데요. 우선 기업의 클라우드 전환이 가속화되고, *IaaS, *PaaS, *SaaS 사용이 증가하면서 성능 측정의 사각지대가 늘고 있기 때문입니다.
이와 함께 API(Application Programming Interface, 응용 프로그램 인터페이스) 등을 통해 외부 시스템과 연계하는 서비스도 빠르게 증가하고 있습니다.이런 변화 속에서 많은 기업이 일반적으로 선택할 수 있는 솔루션으로 APM을 가장 먼저 떠올릴 겁니다. 하지만 APM보다 더 빠르게 적용해 효과를 거둘 수 있는 방안이 있습니다.
*IaaS(Infrastructure as a Service) : 서비스로서의 인프라
*PaaS(Platform as a Service) : 서비스로서의 플랫폼
*SaaS(Software as a Service) : 서비스로서의 소프트웨어
서비스 품질 가시성 확보를 위한 새로운 방안 ‘UXM’
흔히 엔터프라이즈 컴퓨팅 환경에서 성능 관리라고 하면 APM을 떠올립니다. 이 솔루션은 오랜 시간 엔터프라이즈 환경에서 중요 애플리케이션 성능을 모니터링했는데요. 성능 병목 구간을 찾아 문제 해결을 돕는 역할을 톡톡히 하고 있습니다.
이처럼 확실한 도입 효과가 있는 APM도 모든 조직에 적합한 것은 아닙니다. 언어 호환성도 따져야 하고 트랜잭션 모니터링 구간에 위치한 시스템에 에이전트로 설치해야 하죠. 일정 수준 이상의 지식과 운영 인력을 갖춘 조직을 위한 솔루션의 성격을 띠고 있습니다.
그렇다면 APM의 이점을 포기해야 할까요? 어느 측면에서 성능을 측정할지 관점을 바꾸면 답을 찾을 수 있습니다. 성능 측정 관점을 애플리케이션이 아닌 네트워크 트래픽으로 옮기면 어디나 즉시 적용 가능한 실시간 성능 모니터링 기반의 IT 서비스 품질 관리가 가능합니다. 네트워크 트래픽을 성능 측정의 기준으로 잡으면 어떤 언어를 쓰든지, 어떤 프레임워크나 플랫폼을 적용하든지, 시스템의 위치가 어디든지, 성능을 모니터링하고 성능 저하 원인을 파악할 수 있습니다.
이런 아이디어에서 출발한 솔루션이 바로 LG CNS의 ‘UXM(User eXperience Management)’입니다. UXM은 IT 서비스 구성 요소의 서비스 전달 상황을 네트워크 패킷 분석을 토대로 모니터링하고 분석하는 솔루션입니다.
UXM은 개발언어나 프레임워크 환경에 제약을 받지 않습니다. 호환성을 확인할 필요 없이 성능 모니터링을 원하는 모든 시스템에 적용할 수 있죠. 네트워크 패킷을 살피는 방식이라 에이전트 설치도 필요 없습니다. 따라서 엔터프라이즈 애플리케이션 및 성능 관리에 대한 전문 지식이나 경험이 없어도 쉽고 빠르게 IT 서비스 품질 관리를 시작할 수 있습니다.
구분하자면 APM은 애플리케이션 측면에서 성능을 바라보고, 이에 맞게 애플리케이션 운영 인력이 관리 주체가 되는 솔루션입니다. 반면 UXM은 네트워크 트래픽으로 성능을 측정하므로 인프라 담당자가 손쉽게 운영할 수 있습니다. IT 가시성 관리라는 목표는 같지만, 접근과 운영 방식은 다른 것이죠.
UXM 아키텍처의 특징 “모두가 사용자”
UXM 아키텍처의 핵심은 User(사용자)입니다. UXM에서 사용자는 실제 애플리케이션이나 서비스 이용자만 뜻하는 것이 아닙니다. 모니터링 구간에 있는 모든 요소가 사용자입니다. 가령 웹, WAS(Web Application Server, 웹 애플리케이션 서버), 데이터베이스 구조로 서비스가 이루어지는 구간을 가정해 봅시다. 여기서 웹의 위치에서 볼 때 사용자는 최종 이용자이고, WAS의 눈으로 보면 웹이 사용자입니다. 데이터베이스에서 볼 때 사용자는 WAS죠. 이런 식으로 사용자 관계는 정의됩니다.
이 관계 속에서 각각의 사용자가 자신의 요청에 대한 응답을 SLA(Service Level Agree ment) 기준 내에 잘 받는지 살피는 것이 UXM의 주요 역할입니다. 결국 모든 서비스는 네트워크 트래픽을 타고 TCP/IP 패킷을 통해 요청과 응답을 주고받는데요. 요청하는 것이 User(사용자)이고, 이에 대해 응답하는 것이 Host(제공자)입니다. UXM은 각 User와 Host 사이에서 응답이 제시간에 이루어지는지 측정합니다. 참고로 모든 분석 대상은 미러링된 패킷이므로, 실제 트래픽 처리 및 시스템 성능에 영향을 끼치지 않습니다.
UXM은 서비스 장애나 문제가 생겼을 때 원인구간을 찾는 과정도 매우 직관적입니다. 앞서 언급한 바와 같이 UXM은 사용자 단위로 구간을 세분화하고, 각 구간을 모니터링합니다.
어떤 이유로 특정 구간에서 패킷이 제대로 오가지 않을 경우, 응답 시간 지연 문제가 생기는데요. 이는 결국 최종 서비스 이용자가 느끼는 사용자 경험에 악영향을 끼치게 됩니다. 서비스가 갑자기 느려지거나, 심할 경우 멈춘 듯한 느낌을 줄 수 있죠. 이때, 패킷이 손실되거나 유실될 수도 있는데요. 서비스 지연보다 심각한 장애로 응답이 이루어지지 않는 상황이 발생할 수 있습니다. UXM은 실시간 네트워크 패킷 분석을 바탕으로 각 구간의 응답 시간을 측정해 만에 하나 있을 수 있는 서비스 지연이나 장애를 즉시 찾아냅니다.
지금까지 UXM이란 무엇인지, UXM 아키텍처의 특징과 함께 알아보았습니다. 다음 글에서는 UXM의 모니터링 방식과 클라우드 환경에서의 가시성 확보에 관해 살펴보겠습니다.
글 ㅣ LG CNS 아키텍처솔루션팀 신현호 책임