[APM①] 웹 애플리케이션 성능진단 및 관리의 태동
상태바
[APM①] 웹 애플리케이션 성능진단 및 관리의 태동
  • 지용운 펜타시스템테크놀러지 미들웨어팀 팀장
  • 승인 2003.10.01 00:00
  • 댓글 0
이 기사를 공유합니다

이번 호에서는 새롭게 애플리케이션 성능관리(Application Performance Management, APM)가 시장에서 대두되고 있는 이유와 각 제품들의 성능을 진단하고 측정하는 방법이나 요소들을 살펴본다.

또한 개발시에 필요한 디버깅용 솔루션, QA 단계에서 용량 산정 등의 진단 및 산정용 솔루션, 실제 운영환경에서 모니터링을 위한 솔루션, WAS 혹은 프로그램의 튜닝을 위한 솔루션 등 각각에 대한 솔루션들은 어떤 것들이 있는지 알아보고자 한다.
그리고 마지막으로 실제 적용 사례를 통해 성능 진단 및 관리용 솔루션들에 대한 투자회수 라이프 사이클과 기대효과를 점검해 본다. <편집자>

요즘 누군가가 컴퓨팅 환경의 변화를 이야기하면서 호스트 중심에서 유닉스 환경으로, 클라이언트/서버 등으로 변화를 얘기한다면 듣는 사람들은 분명 눈살을 찌푸릴 것이다. 그러한 이야기는 이미 진부한 이야기가 되어 버렸기 때문이다. 최초에 에니악, 에드박 등의 계산기능을 가진 소위 컴퓨터란 기계가 등장한지 불과 60여년에 지나지 않았지만 이 짧은 기간의 변화란 실로 엄청났다.

최근 컴퓨팅 환경의 변화 중에서도 빼놓을 수 없는 가장 중요한 사건은 ‘인터넷의 등장’이다. 인터넷의 등장은 단순히 개인용 컴퓨터들이 네트워크 상에서 연결되었다는 것을 의미하는 것이 아니라 컴퓨터가 업무용 혹은 게임용이라는 개념을 넘어 일반 대중의 생활 필수품의 하나로 되어 버리는 시작이 되었다는 점에서 그 의미를 찾아야 할 것이다. 즉, 다시 말해서 인터넷의 등장은 컴퓨팅 환경의 변화만을 가져온 것이 아니라 현대인의 삶의 방식을 바꾸어 버린 것이다. 소비자는 값싸고 질 좋은 물건을 찾아 더 이상 다리품을 팔 필요가 없게 된 것이다. 이러한 변화는 소비자 입장뿐 아니라 기업이나 판매상들의 판도에도 많은 변화를 가져왔다.

이러한 모든 변화의 중심에는 인터넷 컴퓨팅이 그 주역이며 수많은 기업들이 비즈니스의 장(場)을 인터넷이라는 가상의 공간으로 이동시키고 있고 이러한 존재하지도 않는 공간에 수많은 인력과 비용을 투자하고 있다. 극단적으로 인터넷에서의 성공이 곧 기업의 성공이라고 표현해도 큰 무리가 없다.

자바의 등장 그리고 자바 프로세스

오늘날 컴퓨팅 환경 변화의 중심에 인터넷이 있다면 인터넷의 중심에는 자바(JAVA)가 있다. 이전까지 서버사이드에서의 프로그램들이 C 언어와 프로세스 기반에서 그 축을 이루고 있었다는 측면에서 자바는 또 하나의 혁신이라 할 수 있을 것이다.

중요한 것은 자바의 등장, 장단점들이 아니라 JVM(Java Virtual Machine)과 그 프로세스에 관한 것들이다. 즉, 이전까지의 모든 서버사이드 프로그램들은 각각의 프로세스들이 존재하고 이 프로세스들은 각종 프로그램의 상태를 체크할 수 있는 기준이 됐다. 그러나 자바로 만들어진, 즉 웹서비스를 하는 모든 프로그램들은 자바라는 가상의 하드웨어 안에서 쓰레드로 동작하기 때문에 전통적인 방법으로 시스템에 대한 점검이 어려워지게 됐다.

또한 멀티티어로 작성되는 자바 언어는 JVM 자체에서 메모리를 관리하고 쓰레드 싱크시키는 등 기존의 프로그래밍 언어와는 많은 차이를 보이며 강점으로 받아들여지는 반면 자원 활용측면에서는 다음 그림에서 보는 바와 같이 충분히 고려해야 할 부분도 적지 않게 포함하고 있다.

APM 솔루션의 등장 배경

지금까지 대부분의 기업들은 건강한 컴퓨팅 시스템을 구축하기 위해서 적지 않은 비용을 SMS(System Management Solution)에 투자했다. CA의 유니센터, IBM의 티볼리, BMC의 패트롤 등이 이러한 솔루션의 대표적인 제품이다. 이러한 솔루션들은 그동안 건강한 시스템을 유지하기 위해서 그 역할을 부족함 없이 수행했다.

하지만 오늘날 인터넷 서비스를 하는 각종 프로그램들은 가상의 시스템(JVM) 안에서 수행되고 동작하기 때문에 지금까지의 이러한 SMS 솔루션들은 그 한계를 드러낼 수밖에 없었고 기업들은 건강한 시스템을 유지하기 위한 또 다른 대안을 찾아야만 했다. 이전까지의 시스템 관리 솔루션들이 기업 인프라 관리에 그 주안점이 있었지만 이제는 단순히 인프라가 아니라 최종 사용자 관점에서 생각해야 한다. 앞서도 거론한 바와 같이 e비즈니스는 기업의 이윤과 직결되기 때문에 최종 사용자 관점에서의 시스템 동작과 성능은 무엇보다 우선시돼야 한다.

웹 멀티티어 개발 초기에 웹 프로그램의 성능을 최대한 발휘시키기 위해 개발자에서부터 시스템 운영자에 이르기까지 다음과 같은 많은 노력이 있었다.

· JVM(JAVA Virtual Machine) 파라미터 튜닝
· WAS(Web Application Server) 파라미터 튜닝
· 프로그래밍 기술
· 버그 픽스
· SLA(Service Level Agreement) 관리
· 7×24 모니터링
· 효율적인 관리체계 도입

이러한 노력 이외에도 물리적으로 시스템의 메모리를 충분히 확보하고 나아가서 CPU를 확장하는 등의 노력으로 이어졌으나 이는 어디까지나 한계에 극명할 수밖에 없었고 결국 이러한 물리적인 자원의 추가보다는 기존 자원에 대한 최적화의 요구가 필연적으로 대두됐고 이를 위한 필수 조건이 각종 애플리케이션의 성능관리가 필요하게 됐다.

최근 여러 소프트웨어 벤더들이 이러한 웹 시스템 혹은 웹 관련 자바 애플리케이션들에 대한 모니터링 내지는 튜닝 솔루션들을 속속 발표하고 또 한편으로는 IBM, BMC 등의 전통적인 SMS 벤더들 그리고 프리사이즈와 같은 데이터베이스 성능관리 솔루션을 제공하던 벤더들까지도 이 APM 시장에 뛰어들고 있다. 이렇듯 수많은 벤더들이 애플리케이션 성능관리시장에 눈길을 돌리는 것은 더 이상 설명이 필요없는 시장의 요구에 대한 반증이다.

성능관리 솔루션의 분류

APM(Application Performance Management)이 담고 있는 의미는 무척이나 포괄적이다. 이는 그 만큼 오늘날의 컴퓨팅 환경이 복잡하다는 말일수도 있다. 시스템의 성능을 결정짓는 요소가 복잡다단하기 때문이다. 전통적인 시스템처럼 클라이언트와 서버만이 존재하는 것이 아니고 각종 네트워크 장비, 캐시 장비, 웹서버, 웹 애플리케이션 서버 등등 시스템을 구성하는 요소가 다양하고 이는 곧 성능을 결정 짓는 요소가 다양하다는 말과도 일맥상통하다.

이런 이유로 성능관리 솔루션이라고 하는 제품이 다양할 수밖에 없고 또한 수많은 제품들은 각각의 고유한 특성들을 가지고 있기 때문에 APM 솔루션의 도입을 검토하는 최종 사용자들은 각 제품들의 성격과 특성을 충분히 고려해야 한다.

웹 시스템의 성능관리에는 크게 세 가지 정도로 구분할 수가 있고 물론 여러 APM 솔루션들도 이 세 부분을 크게 벗어나지 않고 분류될 수 있다. 최근 발표되고 있는 APM 제품들이 성능을 보장하고 검증하기 위해 다음 세가지 단계를 중요시하고 있다.

첫 번째는 애플리케이션의 개발단계에서 성능을 검증하고자 한다. 즉, 서버 트레이서(Server Tracer)나 제이 프로브(J Probe) 등과 같은 제품이 이런 개발 단계의 디버깅툴로 자리매김하고 있다. 개발단계에서부터 성능에 영향을 미칠만한 원인들을 제거함으로써 건강한 시스템을 구축하고자 하는 것이다.

두 번째는 각 구간별 성능을 측정함으로써 성능의 저하되는 구간이 어느 부분인지를 규명하는 제품군들이 있다. 프로액티브넷(ProactiveNet), 토파즈, 그리고 국내에서 개발된 마르코 등이 자리매김하고 있는 분야이다. 각 구간을 담당하는 방화벽, 웹서버, WAS 등에 SNMP 프로토콜를 이용해 패킷을 전송 그 응답시간을 측정한다거나 가상의 트랜잭션을 발생시켜 그 트랜잭션의 흐름을 추적하는 방법으로 구간의 성능을 측정하고 성능이 저하되는 구간의 개선을 유도하는 방법이다.

마지막으로 실제 운영되고 있는 웹 시스템을 직접 모니터링 함으로써 실제 웹상에서의 트랜잭션과 애플리케이션들이 정상적으로 작동하는지를 실시간 모니터링하는 제품군들이다. 와일리4가 대표적인 제품이다. 와일리4는 실제 프로그램과 웹 애플리케이션 서버를 모니터링함으로써 트랜잭션의 병목을 찾아내거나 장애가 발생하는 지점을 정확하게 찾아줌으로써 성능의 저하를 사전에 방지하는 것을 강점으로 내세우고 있다.

물론 위에서 언급한 세 분야의 대부분 제품들이 그 경계가 딱 구분되어 있다고는 말할 순 없다. 제품간에 보완이 되는 기능들을 각각 가지고 있고 각각의 분야에 어느 정도의 기능들을 함께 가지고 있는 것도 사실이다.

이 밖에도 티볼리나 패트롤, 유니센터 등과 같이 전통적인 SMS 솔루션들도 최근 들어 웹 관련 모니터링의 모듈들을 발표, 위의 각각의 기능들을 제공하면서 APM 시장에 뛰어들고 있는 실정이다.

이렇듯 다양한 업체에서 다양한 제품들을 속속 발표하면서 APM 시장은 후끈 달아오르고 있는 실정이지만 아직까지는 초기 단계로 저변이 확대되는 데는 시간을 좀더 필요로 하고 있다. 많은 전문가들은 올 하반기를 기점으로 시장이 보다 성숙하고 수요 또한 발생할 것으로 예측하고 있다.

그러나 제품 도입을 검토하는 사람의 입장에서 본다면 이런 제품들의 춘추전국시대가 분명 선택의 폭이 넓다는 측면에서는 유리하겠으나 제품의 선정에는 신중에 신중을 기하지 않을 수가 없다. 제품을 선정함에 있어서 가장 강조되어야 하는 주안점이 무엇인지 정확히 정립돼야 할 것이고 투자에 대한 회수(ROI) 측면에서도 심도있는 검토가 분명 뒤따라야 할 것이다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.