APM에 대한 진지한 설명

2018년 12월 3일

what_is_apm

APM 서비스는 Application Performance Management의 약자입니다.

'애플리케이션 성능 관리 서비스'로도 부르지만 보통은 APM 서비스로 불립니다.

A

APM의 A는 Application, 그중에서도 Web Application을 의미합니다. 즉 기업의 웹 서비스 성능을 관리하는 서비스를 APM이라고 합니다.

what_is_apm_1

P

APM의 P는 Performance, 애플리케이션의 성능을 의미합니다. 그리고 애플리케이션의 성능은 웹서비스의 응답속도를 통해 측정하게 됩니다. 웹서비스의 응답속도를 구하기 위해 APM 서비스는 트랜잭션을 추적하고 분석하는 일을 합니다.

what_is_apm_2

M

APM의 M은 Management 또는 Monitoring이 사용됩니다. 국내에서도 APM은 애플리케이션 성능 관리 또는 애플리케이션 성능 모니터링으로 불리고 있습니다. 성능을 향상시키는 관리의 의미를 강조할 경우에는 Management를 사용하고 단순 모니터링 의미를 강조할 경우에는 Monitoring이 사용됩니다.

APM

APM은 웹 서비스의 동작 상태를 관찰하고 성능을 분석하며, 특히 미들웨어(WebLogic, Tomcat, JBOSS 등)에서 일어나는 트랜잭션의 사용 시간을 분석하여 각 단계별로 성능에 영향을 미치는 원인을 분석할 수 있습니다.

what_is_apm_3

APM의 시작

APM 솔루션은 1990년대 후반에 시작되었습니다. 1998년 북미에서 Willy가 APM 서비스를 처음 선보였습니다. Precise는 DB 기반의 모니터링 서비스를 만들었지만 모두 APM의 분야로 인정하고 있습니다. 웹 서비스의 사용이 확대되면서 서비스의 성능을 유지하는 것이 중요해지면서 APM 서비스는 빠르게 성장하기 시작했습니다. 2010년부터 SaaS 기반의 서비스와 클라우드를 지원하는 APM 서비스들이 두각을 나타내기 시작했으며 한국은 2018년도까지 '와탭랩스'에서만 SaaS 기반의 클라우드 모니터링 서비스를 제공하고 있습니다.

history_of_apm APM의 역사

APM 솔루션 구성 요소

APM 서비스는 Agent, Repository Server, Application Server로 구성되어 있습니다. Agent는 언어별로 제작되며 와탭 서비스는 Java, PHP, Node.js, Python 이렇게 4개의 언어를 지원합니다. Agent는 웹 서버에 설치되어 데이터를 수집되며 Repository Server에 데이터를 전송합니다. Application Server는 운영자가 애플리케이션 성능을 분석하려 할 때에 Repository Server에서 데이터를 끌고 와서 사용자에게 분석 데이터를 제공하는 역할을 합니다.

apm_solution_element APM 솔루션의 구성 요소

APM 서비스와 솔루션의 차이

APM 솔루션을 사용하게 되면 고객의 서비스에 Agent, Repository Server, Application Server를 모두 구성해야 하지만 APM 서비스는 고객의 웹 애플리케이션 서버에 Agent를 설치하면 서비스 벤더가 제공하는 Repositroy Server를 통해 자사 웹 서비스의 성능을 분석할 수 있습니다. APM 솔루션은 사내에서만 모니터링이 가능하지만 APM 서비스는 그 특성상 어디서든지 모니터링이 가능합니다.

apm_solution_service_different_1 APM 솔루션
apm_solution_service_different_2 APM 서비스

과거 APM 생애 주기

APM 솔루션은 일반적으로 서비스 오픈 시기에 사용됩니다. 서비스 개발이 완료되고 서비스 전반에 대한 에러와 성능을 분석하는 과정에서 사용되지만 서비스가 안정적으로 운영되기 시작하면 간헐적으로 사용되어 왔습니다.

existing_apm_life_cycle

지금의 APM 생애 주기

비즈니스의 변화가 빨라지고 웹 서비스가 기업의 비즈니스 핵심으로 변화되면서 애플리케이션의 업데이트 속도는 점점 빨라지고 있습니다. 애자일 개발, 린, 데브옵스와 같은 문화는 이를 더욱 가속시켰습니다. 클라우드까지 도입되면서 물리적인 한계까지 극복하게 되면서 서비스의 개발과 업데이트는 더욱 빨라지고 있는 추세입니다. 이와 함께 APM 서비스의 사용법도 달라지기 시작했습니다. 기존에 서비스 오픈 시기에 주로 사용되던 APM 서비스는 개발자나 운영자가 항시 사용하는 서비스로 변화하게 되었습니다.

new_apm_life_cycle

마무리

APM 서비스는 이제 개발자들도 익숙하게 사용해야 하는 서비스입니다. APM 서비스들은 모두 무료 사용기간을 제공하며 다양한 도움말을 제공하기 때문에 기존 솔루션들처럼 접근 방법 자체가 어렵지도 않으며 사용법도 더욱 쉬워지고 있는 추세입니다.

현재 와탭랩스는 닷넷 성능 분석을 포함한 다양한 분야에 서비스를 개발하고 있습니다. 와탭랩스에서 서비스 성능 분석 분야 개발에 참여하고 싶은 분들은 아래 링크를 참고해 주세요.

와탭랩스가 닷넷 성능 분석 서비스를 개발합니다.

와탭에서 함께 일할 분을 찾고 있습니다.

이전 글

다음 글

최신글