피드로 돌아가기
Floci (LocalStack alternative) storage modes: pick the right tradeoff per service (and never pay for it)
Dev.toDev.to
Infrastructure

4가지 Storage Mode와 서비스별 Override로 최적화한 AWS 에뮬레이터 설계

Floci (LocalStack alternative) storage modes: pick the right tradeoff per service (and never pay for it)

Hector Ventura2026년 5월 3일4intermediate

Context

기존 LocalStack의 유료 Persistence 기능이 가진 단일 설정 방식의 한계 분석. Snapshot 기반 저장 방식에 따른 서비스 락(Lock) 발생과 버전 간 호환성 문제로 인한 개발 생산성 저하 해결 필요.

Technical Solution

  • Write Latency와 Durability 사이의 Trade-off를 고려한 4가지 Storage Mode(memory, hybrid, persistent, wal) 설계
  • memory 모드를 통한 RAM 기반 처리로 CI 환경의 무상태성(Stateless) 유지 및 Cold Start 최적화
  • hybrid 모드의 5초 주기 Background Flush 구조를 통한 I/O 지연 제거와 데이터 영속성 동시 확보
  • Append-only log와 주기적 Compaction을 적용한 wal 모드로 High-throughput 쓰기 부하 분산
  • 전역 설정 후 서비스별로 저장 모드를 다르게 지정하는 Per-service Override 아키텍처 구현
  • Snapshot 방식의 Freeze-and-dump를 배제하여 쓰기 요청 중단 없는 비차단식 영속성 메커니즘 채택

1. CI 환경에서는- memory 모드로 데이터 격리 및 속도 극대화

2. 로컬 개발 시에는- hybrid 모드로 시드 데이터 유지 및 I/O 성능 확보

3. 대량의 쓰기 테스트 시에는- wal 모드로 Random-write 비용 제거

4. 특정 데이터 무결성이 필수적인 경우- persistent 모드로 Sync write 강제

원문 읽기