애플리케이션 성능 모니터링(APM)이란 무엇인가요?
애플리케이션 성능 모니터링(APM)은 소프트웨어 도구와 원격 측정 데이터를 사용하여 비즈니스 크리티컬 애플리케이션의 성능을 모니터링하는 프로세스입니다. 기업은 기대되는 서비스 수준을 유지하여 고객이 긍정적인 애플리케이션 경험을 제공받을 수 있도록 노력합니다. 이들은 APM 도구를 사용하여 애플리케이션의 성능에 대한 실시간 데이터와 인사이트를 제공합니다. 그러면 IT 팀, DevOps 및 사이트 신뢰성 엔지니어가 애플리케이션의 문제를 신속하게 파악하고 문제를 해결할 수 있습니다.
애플리케이션 성능 모니터링이 중요한 이유는 무엇인가요?
효과적인 애플리케이션 성능 모니터링(APM)은 기업의 성공에 있어 필수적인 요소입니다. 이를 통해 디지털 서비스를 원활하게 실행하고 가동 중단을 최소화하며 고객이 지속적으로 긍정적인 경험을 얻도록 보장할 수 있습니다.
애플리케이션 성능 모니터링은 기업에 몇 가지 이점을 제공합니다.
고객 만족도
APM은 애플리케이션 전반의 어디에서 문제가 발생하는지 정확히 파악하는 데 효과적인 도구입니다. 아울러 고객의 디지털 여정에서 발생하는 일반적인 문제도 자세히 보여줍니다. 따라서 최종 사용자에게 최대의 가치를 제공하는 영역을 식별하여 고객 경험을 개선할 수 있습니다. 또한 APM은 변경 사항이 유익한지 여부를 결정하는 데 효과적입니다. 예를 들어 기업이 새로운 고객 서비스 봇을 도입하는 경우, APM 지표를 통해 봇을 이용하여 쿼리를 해결한 고객의 수를 측정할 수 있습니다.
빠른 진단
단 몇 분의 가동 중단 시간으로 인해 경제적 손실이 발생하고 고객 여정이 실패할 수 있습니다. APM은 애플리케이션 성능 문제를 신속하게 진단하고 IT 팀에게 문제를 직접적으로 알려줄 수 있습니다. 이 같은 빠른 진단은 가동 중단 시간을 최소화해 줍니다. 기술 팀은 기존 애플리케이션을 수정하기보다, 새로운 애플리케이션을 개발하는 데 더 많은 시간을 할애할 수 있게 됩니다.
운영 비용 절감
IT 팀은 APM 도구를 사용하여 애플리케이션의 성능을 최적화하는 데 필요한 리소스, 인프라 및 컴퓨팅 파워를 결정합니다. 이를 통해 운영 비용을 최소화할 수 있습니다.
효과적인 제품 개발
애플리케이션 성능 모니터링 도구를 제품 개발 프로세스의 일부로 사용할 수 있습니다. 테스트 환경이나 라이브 환경에서 APM을 구현하고 APM 도구를 사용하여 가상 트래픽을 모니터링 및 분석하고, 제한 사항을 파악하며, 오류를 식별할 수 있습니다. 개발 팀은 애플리케이션이 활성화되기 전에 유용한 인사이트를 활용하여 이전에는 출시 후에만 명확하게 드러났던 버그를 수정할 수 있습니다.
비즈니스 협업
여러 사업부 간에 지표 및 분석을 공유하여 커뮤니케이션을 개선하고, 사일로를 없애고, 직원 참여도를 높이며, 생산성을 개선할 수 있습니다.
애플리케이션 성능 모니터링에서는 어떤 지표를 추적하나요?
애플리케이션 성능 모니터링(APM)은 다음과 같은 일반적인 지표를 추적합니다.
CPU 사용량
APM 솔루션은 CPU 사용량 및 메모리 요구 사항과 같은 CPU 지표를 모니터링할 수 있습니다. 이를 통해 애플리케이션이 정상적으로 작동하는 데 필요한 컴퓨팅 리소스를 확보할 수 있습니다.
응답 시간
사용자들은 지연 없이 서비스에 액세스할 수 있을 것으로 기대하기 때문에 기업에게 응답 시간은 매우 중요합니다. APM 솔루션은 허용 가능한 기준 성능과 비교하여 응답 시간을 측정하고, 응답 시간이 임계값 미만으로 떨어지면 사용자에게 알립니다.
오류율
APM 소프트웨어는 애플리케이션을 모니터링하여 오류율을 기록하고 보고합니다. 오류의 예로는 웹 조회가 시간 초과되거나 데이터베이스 조회가 실패하는 경우를 들 수 있습니다. APM은 오류율이 사전 정의된 파라미터를 초과할 때(예: 최근 50개 요청 중 5%에서 오류가 발생한 경우) 알림을 제공합니다.
트랜잭션 추적
APM에서 트랜잭션 추적은 애플리케이션에서 수행되는 단일 트랜잭션에 대한 정확한 가시성을 제공합니다. 트랜잭션 추적에서 캡처되는 정보로는 사용 가능한 함수 호출, 외부 호출, 데이터베이스 호출 등이 있습니다. 트랜잭션 추적은 트랜잭션 요청을 처음부터 끝까지 모니터링합니다.
인스턴스
APM 솔루션은 애플리케이션을 실행 중인 서버 또는 애플리케이션 인스턴스의 수를 모니터링하고 보고할 수 있습니다. 또한 사용자 수요에 따라 스케일 업 또는 스케일 다운하도록 알릴 수 있습니다.
요청
APM 소프트웨어는 애플리케이션에 수신되는 사용자 요청 수를 모니터링합니다. 이 소프트웨어는 트래픽을 모니터링하여 이상 징후를 발견할 경우 알림을 보낼 수 있습니다. 예를 들어 예상치 못한 요청 증가, 동일한 사용자가 실행한 많은 수의 요청 또는 비정상적으로 적은 요청 수에 대해 알릴 수 있습니다.
가동 시간
가동 시간은 온라인 서비스를 제공하는 기업에게 매우 중요합니다. 대부분의 서비스 수준 계약(SLA)에서는 미리 정해진 기간 동안 일정 비율의 가동 중단 시간만 허용합니다. APM은 애플리케이션 가용성을 모니터링하고 서비스 제공업체와 고객이 동의한 수준과 비교합니다.
애플리케이션 성능 모니터링의 사용 사례는 어떤 것들이 있나요?
아래에는 애플리케이션 성능 모니터링(APM)의 몇 가지 사용 사례가 나와 있습니다.
실제 사용자 모니터링
실제 사용자 모니터링 또는 최종 사용자 환경 모니터링은 애플리케이션의 성능 수준을 이해하기 위해 사용자 데이터를 수집하고 분석하는 작업입니다. 허용 가능한 성능에 대한 기준을 설정하여 애플리케이션에서 문제가 언제 발생할지를 정확하게 예측할 수 있습니다. 예를 들어 항목을 확인할 때 문제가 발생하는 고객 수가 임계값을 초과하면 APM은 관련 팀에 알림을 보냅니다.
다음 두 가지 방법으로 사용자 모니터링을 수행할 수 있습니다.
- 애플리케이션을 프로덕션 환경에 릴리스하기 전에 미리 문제를 파악하기 위해 사용자 동작을 시뮬레이트하는 통합 모니터링
- 모니터링 대상 애플리케이션에 소프트웨어 에이전트를 설치하지 않고 네트워크 트래픽을 분석하는 에이전트 없는 모니터링
사용자 정의 트랜잭션 프로파일링
APM 솔루션을 사용하여 애플리케이션과 사용자의 일반적인 상호 작용을 재현할 수 있습니다. 이를 통해 디지털 서비스에서 문제가 발생하는 조건을 더 효과적으로 파악할 수 있습니다. IT 팀은 일반적으로 애플리케이션 문제를 해결하고 일반적인 사용자 문제를 해결하는 데 사용자 정의 트랜잭션 프로파일링을 사용합니다.
구성 요소 모니터링
구성 요소 모니터링 또는 애플리케이션 구성 요소 심층 모니터링은 전체 IT 인프라를 포괄적으로 추적합니다. 애플리케이션의 전체 성능이 모니터링되고 분석됩니다. 모니터링되는 리소스로는 메모리 사용량, 서버, CPU 사용률, 네트워크 구성 요소 등이 있습니다.
인프라 모니터링
APM 도구를 사용하여 서버(서버 모니터링), 컨테이너(컨테이너 모니터링), 데이터베이스(데이터베이스 모니터링), 가상 머신(VM 모니터링) 및 기타 백엔드 시스템과 같은 IT 인프라에서 데이터를 수집할 수 있습니다. 이는 성능 문제를 감지하고 애플리케이션 오류의 근본 원인을 찾기 위해 수행됩니다.
분석
효과적인 APM은 기업이 애플리케이션을 수정하거나 개선하는 데 사용할 수 있는 분석용 데이터를 제공합니다. 일부 APM 도구는 인공 지능 및 기계 학습(AI/ML) 알고리즘을 사용하여 예측 분석을 수행하고 오류의 근본 원인을 진단하며 복잡한 애플리케이션 성능 문제를 연결합니다.
SLA 모니터링
서비스 수준 계약(SLA)은 IT 서비스 제공업체와 고객 간의 계약에 있어 매우 중요합니다. SLA는 양 당사자가 합의한 필수 서비스 수준을 제시합니다. APM은 SLA 프레임워크의 성능 지표를 모니터링할 수 있으며, 이를 통해 제공업체가 기대치를 충족하는지 확인할 수 있습니다. 또한 제공업체의 성과가 SLA에 명시된 표준 아래로 저하될 위험이 있는 영역을 자세히 보여줍니다.
애플리케이션 성능 모니터링과 관측성 기능의 차이점은 무엇인가요?
복잡한 아키텍처를 사용하는 최신 애플리케이션의 문제를 해결하려면, 애플리케이션 성능 모니터링(APM) 이상의 기능이 필요합니다. 관측성 기능은 전반적인 비즈니스 인텔리전스와 인사이트를 바탕으로 조치를 취할 수 있는 중앙 플랫폼에 전체 IT 스택의 정보를 통합합니다. APM은 관측성의 한 부분입니다. APM은 지표에 대한 집계된 보기를 제공하며, 관측성 기능은 분산 추적과 같은 여러 다른 도구를 사용하여 애플리케이션 동작을 포괄적으로 파악합니다.
귀사에 적합한 애플리케이션 성능 모니터링 솔루션은 어떻게 선택하나요?
애플리케이션 성능 모니터링(APM) 플랫폼과 관련 도구 제품군을 IT 환경에 통합하기 전에 고려해야 할 여러 가지 요인이 있습니다.
동의
귀사의 팀이 APM 도입의 근거와 개인적 이점을 이해하도록 해야 합니다. 귀사의 팀에게 익숙한 기존 시스템과 프로세스에 적합한 솔루션을 찾아야 합니다.
기능
수많은 APM 도구가 제공되고 있습니다. 여러분이 소개하는 APM 플랫폼에 애플리케이션에 적합한 도구가 있고 프로그래밍 언어를 지원하는지 확인하세요.
비용 요구 사항
APM을 도입하면 특히 여러 애플리케이션을 모니터링할 계획인 경우에 상당한 컴퓨팅 리소스가 필요할 수 있습니다. APM 자체의 비용과 함께 컴퓨팅 리소스에 필요한 예산이 있는지 확인하세요.
소유권
누가 APM을 감독하고 소유할 것인지 고려하세요. 유지 보수와 관리는 어느 팀에서 담당하나요?
AWS는 애플리케이션 성능 모니터링을 어떻게 지원하나요?
Amazon CloudWatch Application Signals를 사용하면 코드를 변경하거나 에이전트를 수동으로 구성하지 않고도 현재 애플리케이션 상태를 모니터링하고 비즈니스 목표와 비교하여 장기적인 애플리케이션 성능을 추적할 수 있습니다. Application Signals는 애플리케이션, 서비스, 종속성이 애플리케이션 중심으로 통합된 보기를 제공하며, 애플리케이션 상태를 모니터링하고 분류하는 데 도움이 됩니다. Amazon CloudWatch는 애플리케이션을 모니터링하고, 성능 변화에 대응하고, 리소스 사용을 최적화하고, 운영 상태에 대한 인사이트를 얻을 수 있는 모니터링 및 관찰성 서비스입니다.
AWS X-Ray를 사용하여 애플리케이션의 성능 병목 현상을 식별하고 상관관계가 있는 지표, 로그 및 추적 정보를 사용하여 이를 격리할 수 있습니다. AWS X-Ray는 애플리케이션을 포괄적으로 보여줍니다. 이를 통해 성능 병목 지점을 정확히 파악하고 영향을 받는 사용자를 보다 효율적으로 식별할 수 있습니다.
다음은 CloudWatch를 사용하여 수행 가능한 작업의 예입니다.
- 서비스 수준 계약(SLA) 및 서비스 수준 목표(SLO) 엔드포인트와 UI 워크플로 모니터링에 대한 알림 설정
- 애플리케이션 성능에 대한 클라이언트 측 데이터를 거의 실시간으로 수집
- 전체 애플리케이션 스택에서 기능을 실험하고, 성능 및 비즈니스 지표를 기준으로 측정하고, 기능을 안전하게 시작
지금 무료 AWS 계정을 만들어 AWS에서 애플리케이션 성능 모니터링(APM)을 시작하세요.