기본 콘텐츠로 건너뛰기

라벨이 APM인 게시물 표시

[ APM ] APDEX 가 뭘까?

APM (Application Performance Mangement) 과 관련해서 나오는 용어들 중에  APDEX라는 것이 있다. 보통 서비스 품질이라는 것은 IT 서비스를 제공하는 IT 부문과 IT 서비스를 이용하는 사용자 사이에 반응 시간 (Response Time)  등의 수치적인 지표를 이용해서 서로 수용 가능한 조건에서 이해하고 이용하는 기준으로 삼는 것이 필요하다. ITIL (IT Infrastructure Library) 에서는 이런 기준이 될 수 있는 지표들을 IT 부문이 관리하는 IT  기반의 기술적인 관점에서 측정 및 관리하려고 하는 반면에 "업무나 사용자 관점에서도 이런 지표들이 필요하지 않을까?" 하는 사고방식에 근거해서 나오는 서비스 관리를 APM이라고 할 수 있고, 이 APM을 실시하는 방법으로 APDEX (Application Performance inDEX) 라는 지표를 이용해서 "사용자 시점의 IT 서비스 관리가 ITIL 과 같이 표준 프로세스화 할 수 있는 것이 아닐까?" 라고 생각하고 이것을 추진하는 사람들이 모인 Apdex Alliance 라는 그룹이 미국에 등장했다. 업무나 사용자 관점에서 IT 서비스 관리를 비즈니스 서비스 매니지먼트 (BSM  - Business Service Management) 이라고 표현하고 이를 위해서는  ITIL 과점의 기술적인 서비스 매니지먼트 (TSM - Technical Service Management) 에 융합시켜 가는 것이 필요하다고 소개하고 있다. 그럼 Apdex Alliance 가 주창하고 있는 Apdex 지표는 무엇일까? Apdex 란? Apdex는 제공되는 IT 서비스에 대해 사용자의 만족도를 수치적인 지표로 잡을 수 있도록 하기 위한 것으로 측정된 데이터에 대해서 0 (불만족) ~ 1 (만족) 사이의 만족도를 표현하기 위한 것이다. 이 지표는 사용자가 실행하는 업무 (Task 라고 표현) 에서 측정된 각 반응 속도 (R

[ APM ] Application Performance Management - #3 자바 플랫폼에서 APM 관련 용어들 (지속적 갱신 필요)

  Application Performance Management 에 대한 여러 가지 정보를 검토하던 중에 생소한 용어들이 보여서 하나씩 정리해 놓도록 한다. (자바 쪽에서는 모든 용어들이 생소하기는 하지만 ㅠㅠ) JMX (Java Management eXtension) - 쉽게 생각하면 Windows 의 WMI (Windows Management Instrumentation) 와 같은 것이라고 판단이 된다. Spring Framework에서 제공되는 JMX 에 대한 정리가 필요하다. PMI (Performance Monitoring Infrastructure) - 현재까지의 자료로는 JMX Connector를 통해서 연동되는 Websphere Application Server 의 서비스로 판단이 되며, 성능에 관련된 모니터링 자료를 제공하는 듯 하다. BCI (Byte Code Instrumentation) - 자바 컴파일러에 의해서 생성되는 Byte Code (Meta Data) 를 직접 처리하여 소스 코드의 변경 없이도 원하는 기능을 추가하는 방법을 제공한다. APM 적인 측면에서 바라보면 AOP를 통해서 성능 측정과 관련된 기능을 소스코드의 수정없이 추가할 수 있는 것이라고 생각된다.   항상 개발을 할 때는 베이스 깔고 시작하는 프레임워크에 따라서 변동이 있기 때문에 검토해야 할 방향이 변경될 수는 있지만 아마도 위의 3가지는 고정 불변의 경우라고 생각된다. 단, PMI 는 아직 특정한 제품에서 제공이 되는 것인지에 대한 추가 검토가 필요할 듯 하다.

[ APM ] Application Performance Management - #1 개념잡기

  다음 프로젝트는 APM (Application Performance Management) 를 위한 프레임워크 구성이 될 듯 하다. 개인적으로는 별도로 접근했던 적이 없었기 때문에 흥미롭고, 도전해 볼만한 주제라서 좋다. 다양한 측면에서 여러 가지 기술이나 기법들을 파악해야 하므로 하나씩 정리해 놓도록 한다. APM Solution   말 그대로 어플리케이션의 성능을 관리하기 위한 솔루션이라고 보면 된다. 우리 나라 제품군에서는 아마도 가장 유명한 것이 Jennifer (Java/.NET) 일 것이다. 그럼 어떤 기능들이 있어야 APM Solution이라고 할 수 있을지 검토해 보도록 하자. 운영서버 모니터링 웹 어플리케이션 사이트 모니터링 전체 거래 모니터링 실행 서비스 모니터링 응답 시간 분석과 그래프 (View) 측정 결과 분석을 통한 문제 발견 기능 부하량 제어 사용자 정의 대시보드 기타   아마도 상기와 같은 기능들이 기본적으로 제공될 수 있어야 할 것이다. 즉, 문제가 발생한 후에 문제를 파악하기 위한 용도라기 보다는 현재의 상황에 대한 명확한 판단의 근거와 향후 예측 및 현재 발생한 문제의 해결을 위한 솔루션이라고 정의하고 접근하는 것이 맞을듯 하다.   여기서 APM 솔루션에서 가장 중요한 부분은 "문제" 라고 하는 것이 어떻게 정의될 것인가? 에 대한 기준을 제시하는 것이다. 그래야 성능에 대한 정량화와 서비스 운영에 대한 가시성이 확보될 것이기 때문이다. 따라서 이런 기준을 바탕으로 문제의 발생 여부를 확인하고 대처할 수 있는 정보를 제공할 있어야 APM 솔루션이라고 할 수 있을 듯 하다. 또한 성능을 모니터링하고 문제점을 검증 및 해결하기 위한 정보를 제공하는 솔루션으로서의 APM 이 어플리케이션의 성능에 영향을 줄 정도로 부하가 발생되어서는 안 된다. 따라서 많은 경험과 패턴들을 이용해서 최적화된 솔루션 이어야 한다.   그럼 이제 위에서 나열했던 기능들을 하나씩