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