피드로 돌아가기
Can you build observability ingestion on S3 alone — no Kafka, no disks, no coordination layer?
Dev.toDev.to
Infrastructure

S3 기반 Stateless 아키텍처로 운영 비용 85% 절감

Can you build observability ingestion on S3 alone — no Kafka, no disks, no coordination layer?

Sergei Prosvirnin2026년 6월 30일11advanced

Context

Kafka, Flink, OTel 기반의 기존 파이프라인은 10 MB/s 트래픽 기준 월 800달러의 비용과 stateful layer 운영 부담을 초래함. Loki 등 기존 솔루션도 로컬 디스크 WAL 의존성으로 인해 물리적 스토리지 관리 및 장애 복구 비용이 지속적으로 발생하는 한계가 있음.

Technical Solution

  • S3를 단순 저장소가 아닌 Write-Ahead Log(WAL) 및 Coordination Layer로 활용한 Stateless 설계
  • Apache Iceberg와 Parquet 포맷 채택을 통한 Append-only 워크로드 최적화 및 원자적 Commit 보장
  • S3 Conditional Requests의 If-Match 헤더를 이용한 Compare-and-Swap(CAS) 구현으로 별도 조정 서비스 없는 분산 작업 제어
  • Ingestor가 S3 WAL에 데이터 저장 완료 후 클라이언트에 응답하는 구조를 통한 데이터 내구성 확보
  • Metadata Caching 및 Prefetching 기법 적용으로 S3의 높은 Latency를 극복하고 조회 속도를 1초 내외로 단축
  • 단일 바이너리 구조의 IceGate 설계를 통해 인프라 복잡도 제거 및 확장성 확보

1. OLTP가 아닌 분석형 읽기/순차 쓰기 위주의 워크로드인지 확인

2. S3의 ETag와 If-Match 헤더를 통한 분산 락/상태 제어 가능성 검토

3. Apache Iceberg와 같은 테이블 포맷을 통한 S3 데이터 일관성 유지 방안 설계

4. 로컬 디스크 의존성을 제거한 Stateless Worker 구성으로 오토스케일링 최적화 추진

원문 읽기