서버 한 대의 상태를 보는 일은 쉽다. top을 띄우면 CPU가 보이고 free로 메모리가 보인다. 그런데 그 한 대가 수백 대가 되고, Lambda 함수 수천 개가 초당 수만 번 돌고, ECS Task가 오토스케일로 떴다 사라지는 순간 "상태를 본다"는 행위 자체가 다른 문제가 된다. 누가 이 수치들을 모으고, 어떻게 시간축에 정렬하고, 어떤 단위로 집계하고, 무엇이 "이상"인지를 어떻게 판단할 것인가. CloudWatch Metrics는 AWS 위에서 도는 거의 모든 것의 수치형 시계열(time series)을 한곳에 모으는 토대이고, 그 위에 알람·오토스케일링·대시보드·이상 탐지가 전부 얹혀 있다.
오늘은 이 토대를 깊이 판다. 단순히 "PutMetricData로 메트릭을 보낸다"가 아니라, 메트릭이 내부적으로 어떤 자료구조로 저장되는지(namespace·name·dimensions가 왜 합쳐서 하나의 식별자인지), EMF가 왜 PutMetricData보다 비용·구조 양쪽에서 우월한지, 알람의 evaluation-periods/datapoints-to-alarm/treat-missing-data라는 세 손잡이가 어떤 신뢰성 공학 원리를 담고 있는지, Anomaly Detection이 어떤 통계 모델을 쓰는지를 파고든다