본문 바로가기
System Design

[사용자 수에 따른 규모 확장성] 로그, 메트릭 그리고 자동화

by 박성민 2021. 9. 9.

웹 사이트와 함께 사업 규모가 커지고 나면, 로그나 매트릭(metric), 자동화(automation) 같은 도구에 필수적으로 투자해야 합니다.

  • 로그: 에러 로그를 모니터링하는 것은 중요합니다. 시스템의 오류와 문제들을 보다 쉽게 찾아낼 수 있도록 하기 때문입니다. 에러 로그는 서버 단위로 모니터링 할 수도 있지만, 로그를 단일 서비스로 모아주는 도구를 활용하면 더 편리하게 검색하고 조회할 수 있습니다.
  • 메트릭: 메트릭을 잘 수집하면 사업 현황에 관한 유용한 정보를 얻을 수도 있고, 시스템의 현재 상태를 손쉽게 파악할 수도 있습니다. 메트릭 가운데 특히 유용한 것을 몇 가지 살펴보면 다음과 같습니다.
    • 호스트 단위 메트릭: CPU, 메모리, 디스크 I/O에 관한 메트릭이 여기 해당합니다.
    • 종합(aggregated) 메트릭: 데이터베이스 계층의 성능, 캐시 계층의 성능 같은 것이 여기 해당됩니다.
    • 핵심 비즈니스 메트릭: 일별 능동 사용자(daily active user), 수익(revenue), 재방문(retention) 같은 것이 여기 해당합니다.
  • 자동화: 시스템이 크고 복잡해지면 생산성을 높이기 위해 자동화 도구를 활용해야 합니다. 가령 지속적 통합(continuous integration)을 도와주는 도구를 활용하면 개발자가 만드는 코드가 어떤 검증 절차를 자동으로 거치도록 할 수 있어서 문제를 쉽게 감지할 수 있습니다. 이 외에도 빌드, 테스트, 배포 등의 절차를 자동화할 수 있어서 개발 생산성을 크게 향상시킬 수 있습니다.

메시지 큐, 로그, 메트릭, 자동화 등을 반영하여 수정한 설계안

지면 관계상 하나의 데이터센터만 그림에 포함시켰습니다.

  1. 메시지 큐는 각 컴포넌트가 보다 느슨히 결합(loosely coupled)될 수 있도록 하고, 결함에 대한 내성을 높입니다.
  2. 로그, 모니터링, 메트릭, 자동화 등을 지원하기 위한 장치를 추가하였습니다.
    1

참조

댓글