Live:CloudOps Webinars & Hands-on Workshops ·Register ↗
본문으로 건너뛰기

Application Signals를 활용한 APM

끊임없이 진화하는 현대 애플리케이션 개발 환경에서 최적의 성능을 보장하고 서비스 수준 목표(SLO)를 충족하는 것은 원활한 사용자 경험과 비즈니스 연속성을 유지하는 데 매우 중요합니다. Amazon CloudWatch Application Signals는 OpenTelemetry(OTel) 호환 애플리케이션 성능 모니터링(APM) 기능으로, AWS에서 실행되는 애플리케이션을 모니터링하고 문제를 해결하는 방식을 혁신합니다.

CloudWatch Application Signals는 메트릭, 트레이스, 로그, 실사용자 모니터링, 합성 모니터링 등 여러 소스의 텔레메트리 데이터를 원활하게 상관 분석하여 애플리케이션 성능 모니터링에 대한 종합적인 접근 방식을 취합니다. 이 통합 접근 방식을 통해 조직은 애플리케이션 성능에 대한 포괄적인 인사이트를 확보하고, 문제의 근본 원인을 정확히 파악하며, 잠재적 장애에 사전 대응할 수 있습니다.

CloudWatch Application Signals의 핵심 장점 중 하나는 자동 계측 및 추적 기능입니다. 수동 작업이나 커스텀 코드 없이도 Application Signals는 AWS에서 실행되는 각 애플리케이션의 가장 중요한 메트릭(볼륨, 가용성, 지연 시간, 장애, 오류)을 표시하는 사전 구축된 표준화된 대시보드를 제공합니다. 이 간소화된 접근 방식은 커스텀 대시보드의 필요성을 없애고, 서비스 운영자가 정의된 SLO에 대해 애플리케이션 상태와 성능을 빠르게 평가할 수 있도록 합니다.

APM 그림 1: CloudWatch Application Signals의 메트릭, 로그, 트레이스 전송

CloudWatch Application Signals는 조직에 다음과 같은 기능을 제공합니다:

  1. 포괄적인 애플리케이션 성능 모니터링: Application Signals는 메트릭, 트레이스, 로그, 실사용자 모니터링, 합성 모니터링의 인사이트를 결합하여 애플리케이션 성능에 대한 통합 뷰를 제공합니다. 이 종합적인 접근 방식을 통해 조직은 성능 병목 현상을 식별하고, 근본 원인을 파악하며, 최적의 애플리케이션 성능을 보장하기 위한 사전 조치를 취할 수 있습니다.

  2. 자동 계측 및 추적: 수동 작업이나 커스텀 코드 없이 Application Signals는 정의된 SLO에 대한 애플리케이션 성능을 자동으로 계측하고 추적합니다. 이 간소화된 접근 방식은 수동 계측 및 구성과 관련된 오버헤드를 줄여 조직이 애플리케이션 개발과 최적화에 집중할 수 있도록 합니다.

  3. 표준화된 대시보드 및 시각화: Application Signals는 볼륨, 가용성, 지연 시간, 장애, 오류 등 애플리케이션 성능의 가장 중요한 메트릭을 표시하는 사전 구축된 표준화된 대시보드를 제공합니다. 이 표준화된 뷰를 통해 서비스 운영자가 애플리케이션 상태와 성능을 빠르게 평가할 수 있어 정보에 기반한 의사결정과 사전 문제 해결이 가능합니다.

  4. 원활한 상관 분석 및 문제 해결: 여러 소스의 텔레메트리 데이터를 상관 분석함으로써 Application Signals는 문제 해결 프로세스를 간소화합니다. 서비스 운영자는 상관된 트레이스, 로그, 메트릭으로 원활하게 드릴다운하여 성능 문제나 이상의 근본 원인을 식별할 수 있으며, 이를 통해 평균 해결 시간(MTTR)을 줄이고 애플리케이션 장애를 최소화합니다.

  5. Container Insights와의 통합: 컨테이너화된 환경에서 실행되는 애플리케이션의 경우, CloudWatch Application Signals는 Container Insights와 원활하게 통합되어 컨테이너 Pod의 메모리 부족이나 높은 CPU 사용률과 같은 인프라 관련 문제가 애플리케이션 성능에 미치는 영향을 식별할 수 있습니다.

CloudWatch Application Signals를 애플리케이션 성능 모니터링에 활용하려면 다음 일반 단계를 따릅니다:

  1. Application Signals 활성화: AWS Management Console, AWS Command Line Interface(CLI) 또는 AWS SDK를 사용하여 프로그래밍 방식으로 AWS에서 실행되는 애플리케이션에 대해 CloudWatch Application Signals를 활성화합니다.

  2. 서비스 수준 목표(SLO) 정의: 비즈니스 요구사항과 고객 기대에 맞춰 목표 가용성, 최대 지연 시간 또는 오류 임계값 등 애플리케이션에 대한 원하는 SLO를 설정하고 구성합니다.

  3. 성능 모니터링 및 분석: Application Signals가 제공하는 사전 구축된 표준화된 대시보드를 활용하여 정의된 SLO에 대한 애플리케이션 성능을 모니터링합니다. 메트릭, 트레이스, 로그, 실사용자 모니터링, 합성 모니터링 데이터를 분석하여 성능 문제나 이상을 식별합니다.

  4. 문제 해결 및 해결: Application Signals의 원활한 상관 분석 기능을 활용하여 상관된 트레이스, 로그, 메트릭으로 드릴다운하여 성능 문제나 근본 원인을 신속하게 식별하고 해결합니다.

  5. Container Insights와 통합(해당하는 경우): 컨테이너화된 애플리케이션의 경우 CloudWatch Application Signals를 Container Insights와 통합하여 애플리케이션 성능에 영향을 미칠 수 있는 인프라 관련 문제를 식별합니다.

CloudWatch Application Signals가 강력한 애플리케이션 성능 모니터링 기능을 제공하지만, 데이터 볼륨 및 비용 관리와 같은 잠재적 과제를 고려하는 것이 중요합니다. 애플리케이션 복잡성과 규모가 증가함에 따라 생성되는 텔레메트리 데이터의 양이 크게 증가할 수 있으며, 이는 잠재적으로 성능에 영향을 미치고 추가 비용을 발생시킬 수 있습니다. 효율적이고 비용 효율적인 모니터링 솔루션을 보장하기 위해 데이터 샘플링 전략, 보존 정책, 비용 최적화 기법의 구현이 필요할 수 있습니다.

또한 애플리케이션 성능 데이터에 대한 적절한 접근 제어 및 데이터 보안을 보장하는 것이 중요합니다. CloudWatch Application Signals는 세분화된 접근 제어를 위해 AWS Identity and Access Management(IAM)를 활용하며, 저장 중 및 전송 중인 텔레메트리 데이터에 데이터 암호화를 적용하여 애플리케이션 성능 데이터의 기밀성과 무결성을 보호합니다.

결론적으로, CloudWatch Application Signals는 AWS에서 실행되는 애플리케이션의 성능 모니터링을 혁신합니다. 자동 계측, 표준화된 대시보드, 텔레메트리 데이터의 원활한 상관 분석을 제공함으로써 Application Signals는 조직이 애플리케이션 성능을 사전에 모니터링하고, SLO 준수를 보장하며, 성능 문제를 신속하게 해결할 수 있도록 지원합니다. 통합 기능과 OpenTelemetry 호환성을 갖춘 CloudWatch Application Signals는 클라우드에서의 애플리케이션 성능 모니터링을 위한 포괄적이고 미래 지향적인 솔루션을 제공합니다.