OPS04-BP01 애플리케이션 원격 측정 구현 - AWS Well-Architected Framework

OPS04-BP01 애플리케이션 원격 측정 구현

애플리케이션 원격 측정 기능은 워크로드를 관찰하기 위한 기반입니다. 애플리케이션은 애플리케이션의 상태와 비즈니스 성과 달성에 대한 인사이트를 제공하는 원격 측정 기능을 지원해야 합니다. 문제 해결부터 새로운 기능의 영향력 측정까지, 애플리케이션 원격 측정 기능은 워크로드의 구축, 운영 및 발전 방법을 제시합니다.

애플리케이션 원격 측정 기능은 지표와 로그로 구성됩니다. 지표는 맥박이나 온도와 같은 진단 정보라고 할 수 있습니다. 지표는 종합적으로 사용되어 애플리케이션의 상태를 설명합니다. 시간의 흐름에 따라 지표를 수집하면 기준을 설정하고 이상 징후를 탐지할 수 있습니다. 로그는 애플리케이션이 내부 상태 또는 발생한 이벤트와 관련해서 보내는 메시지입니다. 로깅되는 이벤트의 예로는 오류 코드, 거래 식별자, 사용자 활동을 들 수 있습니다.

원하는 결과:

  • 애플리케이션은 비즈니스 성과 달성 여부와 상태에 대한 인사이트를 알려 주는 지표와 로그를 제공합니다.

  • 지표와 로그는 워크로드의 모든 애플리케이션에 대해 중앙 집중식으로 저장됩니다.

일반적인 안티 패턴:

  • 애플리케이션이 원격 측정을 내보내지 않습니다. 무언가 잘못되었을 때 고객이 제공하는 정보에 의존할 수 밖에 없습니다.

  • 고객이 애플리케이션이 응답하지 않다고 보고했습니다. 원격 측정이 없으며 현재 사용자 경험을 파악하기 위해 애플리케이션을 직접 사용하지 않고 문제가 존재하는지 확인하거나 문제를 특징 지울 수 없습니다.

이 모범 사례 수립의 이점:

  • 애플리케이션의 상태, 사용자 경험 및 비즈니스 성과 달성을 파악할 수 있습니다.

  • 애플리케이션 상태 변화에 신속하게 대처할 수 있습니다.

  • 애플리케이션 상태 추세를 파악할 수 있습니다.

  • 정보를 바탕으로 애플리케이션 개선을 위한 결정을 내릴 수 있습니다.

  • 애플리케이션 문제를 신속하게 감지하고 해결할 수 있습니다.

이 모범 사례가 수립되지 않을 경우 노출되는 위험의 수준: 높음

구현 가이드

애플리케이션 원격 측정은 원격 측정을 저장할 위치를 파악하고, 애플리케이션 상태를 설명하는 원격 측정을 식별하고, 애플리케이션이 원격 측정을 내보내도록 계측하는 3단계로 구현됩니다.

한 전자 상거래 회사에서 마이크로서비스 기반 아키텍처를 사용 중이라고 가정해 봅니다. 이 회사에서는 아키텍처 설계 과정에서 각 마이크로서비스의 상태를 이해하는 데 도움이 되는 애플리케이션 원격 측정을 식별했습니다. 예를 들어, 사용자 장바구니 서비스에서 장바구니에 추가, 구매 포기, 장바구니에 항목을 추가하는 데 걸린 시간 등의 이벤트에 대한 원격 측정을 내보냈습니다. 그러면 모든 마이크로서비스에서 오류, 경고 및 트랜잭션 정보를 기록하고, 원격 측정이 저장 및 분석을 위해 Amazon CloudWatch로 보내집니다.

구현 단계

첫 번째 단계로, 워크로드에서 애플리케이션의 원격 측정을 저장할 중앙 위치를 파악합니다. 기존에 사용 중인 플랫폼이 없는 경우 Amazon CloudWatch 에서 원격 측정 수집, 대시보드, 분석 및 이벤트 생성 기능을 제공합니다.

어떤 원격 측정이 필요한지 확인하려면 다음 질문의 답을 찾아 봅니다.

  • 애플리케이션 상태가 양호합니까?

  • 애플리케이션으로 비즈니스 성과를 달성하고 있습니까?

    애플리케이션에서 이러한 질문의 답을 줄 수 있는 로그와 지표를 내보내야 합니다. 기존 애플리케이션 원격 측정으로 해당 질문에 답할 수 없는 경우 비즈니스 및 엔지니어링 이해관계자와 협력하여 원격 측정 가능 목록을 작성하십시오. 새로운 애플리케이션 원격 측정을 식별하고 개발할 때는 AWS 계정 팀에 전문 기술 조언을 요청할 수 있습니다.

    추가 애플리케이션 원격 측정이 확인되면 엔지니어링 이해관계자와 협력하여 애플리케이션을 계측합니다. AWS Distro for Open Telemetry 에서는 애플리케이션 원격 측정을 수집하는 에이전트, 라이브러리, API를 제공합니다. 이 예에서는 사용자 지정 지표를 통해 JavaScript 애플리케이션을 계측하는 방법을 보여 줍니다.

    AWS에서 제공하는 관찰성 서비스를 알아보려는 고객은 직접 One Observability Workshop 에 참여하거나 담당 AWS 계정 팀에 지원을 요청하여 안내받을 수 있습니다. 이 워크숍에서는 AWS의 관찰성 솔루션을 소개하고, 솔루션 사용법을 안내하는 예시 실습을 제공합니다.

    애플리케이션 원격 측정에 대한 자세한 내용은 Amazon Builder’s Library에서 운영 가시성을 위한 분산 시스템 계측 문서를 참조하십시오. Amazon이 애플리케이션을 계측하는 방법이 나와 있으며, 자체 계측 가이드라인을 구상하는 데 도움이 되는 지침으로 삼을 수 있습니다.

구현 계획의 작업 수준: 보통

리소스

관련 모범 사례:

OPS04-BP02 워크로드 원격 측정 구현 및 구성 - 애플리케이션 원격 측정은 워크로드 원격 측정을 구성하는 요소입니다. 전체 워크로드의 상태를 이해하려면 워크로드를 구성하는 개별 애플리케이션의 상태를 파악해야 합니다.

OPS04-BP03 사용자 활동 원격 측정 구현 - 사용자 활동 원격 측정은 애플리케이션 원격 측정의 하위 집합인 경우가 많습니다. 장바구니에 추가 이벤트, 클릭 스트림 또는 완료된 트랜잭션과 같은 사용자 활동은 사용자 경험에 대한 인사이트를 제공합니다.

OPS04-BP04 종속성 원격 측정 구현 - 종속성 점검은 애플리케이션 원격 측정과 관련이 있으며, 애플리케이션에 계측될 수 있습니다. 애플리케이션이 DNS 또는 데이터베이스와 같은 외부 종속성에 의존하는 경우 애플리케이션이 도달 가능성, 시간 초과, 기타 이벤트에 대한 로그와 지표를 내보낼 수 있습니다.

OPS04-BP05 트랜잭션 추적 기능 구현 - 워크로드 전체에서 트랜잭션을 추적하려면 각 애플리케이션이 공유 이벤트를 처리하는 방법에 대한 정보를 생성해야 합니다. 애플리케이션 원격 측정을 통해 개별 애플리케이션에서 해당 이벤트를 처리하는 방식이 내보내집니다.

OPS08-BP02 워크로드 지표 정의 - 워크로드 지표는 워크로드의 주요 상태를 나타냅니다. 주요 애플리케이션 지표는 워크로드 지표의 일부입니다.

관련 문서:

관련 동영상:

관련 예시: