토픽 120 / 122·비교표
서버리스와 관찰성
서버리스 vs 컨테이너 vs VM
| 항목 | VM | 컨테이너 | 서버리스 |
|---|---|---|---|
| 정의 | 하이퍼바이저 기반 가상머신 | 커널 공유 경량 격리 | 함수/이벤트 단위 실행 |
| 관리 | OS+앱 전체 | 컨테이너+오케스트레이션 | 코드만(인프라 없음) |
| 스케일링 | 수동/자동(분 단위) | 자동(초 단위) | 자동(밀리초, 0→N) |
| 비용 | 항시 과금(실행 여부 무관) | 실행 중 과금 | 요청 시만 과금 |
| Cold Start | 없음(항시 실행) | 짧음 | 있음(초기 지연) |
| 적용 | 레거시, 상태 유지 앱 | MSA, 지속 실행 | 이벤트 처리, API |
Wasm vs 컨테이너
| 항목 | WebAssembly (Wasm) | 컨테이너 |
|---|---|---|
| 정의 | 바이너리 명령어 포맷(샌드박스) | OS 수준 프로세스 격리 |
| 크기 | 수 KB~수 MB | 수십 MB~수 GB |
| 시작 시간 | 밀리초 | 초 단위 |
| 격리 | 샌드박스(메모리 격리) | 네임스페이스/cgroups |
| 언어 | Rust/C/C++/Go 등 컴파일 | 모든 언어 |
| 적용 | Edge, 플러그인, 경량 워크로드 | MSA, 프로덕션 서비스 |
트레이싱 vs 로깅 vs 메트릭 (관찰성 3대 축)
| 항목 | 메트릭 | 로깅 | 트레이싱 |
|---|---|---|---|
| 정의 | 수치 시계열 데이터 | 이벤트 텍스트 기록 | 요청 흐름 추적 |
| 형태 | 숫자(카운터/게이지/히스토그램) | 텍스트(구조화/비구조화) | 스팬(Span) 트리 |
| 질문 | 무엇이 얼마나?(What) | 무엇이 왜?(Why) | 어디서 어떻게?(Where) |
| 도구 | Prometheus, CloudWatch | ELK, Loki, CloudWatch | Jaeger, Zipkin, Tempo |
| 적용 | 대시보드, 알림 | 디버깅, 감사 | MSA 병목 분석 |
모니터링 vs APM vs 관찰성
| 항목 | 모니터링 | APM | 관찰성(Observability) |
|---|---|---|---|
| 정의 | 시스템 상태 감시·알림 | 애플리케이션 성능 관리 | 시스템 내부 상태 이해 |
| 범위 | 인프라(CPU/메모리/디스크) | 앱 트랜잭션·응답시간 | 메트릭+로그+트레이스 통합 |
| 질문 | 문제가 있는가? | 앱이 느린 이유는? | 왜 이런 상태인가? |
| 도구 | Zabbix, Nagios, CloudWatch | Datadog, New Relic, Dynatrace | Grafana+Prometheus+Jaeger |
| 적용 | 인프라 운영 | 앱 성능 최적화 | MSA, 클라우드 네이티브 |
Prometheus vs Grafana vs OpenTelemetry
| 항목 | Prometheus | Grafana | OpenTelemetry |
|---|---|---|---|
| 정의 | 메트릭 수집·저장·알림 | 시각화 대시보드 | 관찰성 데이터 수집 표준 |
| 역할 | 데이터 수집(Pull) | 데이터 시각화 | 데이터 계측·수집(SDK) |
| 데이터 | 메트릭(시계열) | 메트릭+로그+트레이스(시각화) | 메트릭+로그+트레이스(수집) |
| 특징 | PromQL 쿼리, 알림 규칙 | 다중 데이터소스, 대시보드 | 벤더 중립, 표준 API |
| 적용 | K8s 모니터링 | 통합 대시보드 | 계측 표준화 |
벤더 전용 APM vs OpenTelemetry vs eBPF
| 구분 | 벤더 전용 APM | OpenTelemetry | eBPF 관측 |
|---|---|---|---|
| 설치 방식 | 에이전트/SDK | 표준 SDK+Collector | 커널 레벨 |
| 벤더 종속 | 높음 | 없음(중립) | 없음 |
| 계측 깊이 | 깊음(자동) | 자동+수동 | 커널/네트워크 |
개발 시 프로파일링 vs APM vs Continuous Profiling
| 구분 | 개발 시 프로파일링 | APM | Continuous Profiling |
|---|---|---|---|
| 수집 시점 | 수동/간헐적 | 상시(메트릭/트레이스) | 상시(코드 레벨) |
| 분석 깊이 | 함수 레벨 | 서비스/요청 레벨 | 함수/라인 레벨 |
| 오버헤드 | 높음(10%+) | 낮음(~5%) | 매우 낮음(<2%) |