피드로 돌아가기
Dev.toInfrastructure
원문 읽기
24ms 기동 속도와 Real Engine 기반의 고정밀 AWS 에뮬레이터 Floci
The Floci philosophy: stay tiny, feel like real AWS
AI 요약
Context
기존 AWS 에뮬레이터들이 겪는 '빠르지만 부정확한 Mock'과 '정확하지만 무거운 Runtime' 사이의 Trade-off 분석. Control Plane의 경량성과 Data Plane의 Fidelity(충실도)를 동시에 확보해야 하는 설계적 딜레마 존재.
Technical Solution
- Control Plane과 Stateless 서비스(S3, SQS 등)를 Quarkus Native Binary로 구현하여 24ms의 Cold Start 달성
- 서비스 특성에 따라 3가지 패턴으로 Data Plane을 분리하여 최적의 엔진 매핑 구조 설계
- 단순 Metadata 처리 서비스는 In-process 방식으로 메모리 사용량 13MiB 수준으로 최소화
- Athena, Firehose 등은 DuckDB 기반의 Lightweight Sidecar를 통해 실질적인 SQL 실행 환경 제공
- RDS, Kafka 등 대체 불가능한 엔진은 Docker Socket을 통해 Real Engine을 On-demand 방식으로 기동
- '기존 엔진의 재구현 금지' 원칙을 통해 AWS API Glue Layer만 구현함으로써 구현 복잡도 제거 및 신뢰성 확보
실천 포인트
1. Mocking 라이브러리로 인해 Production에서 버그가 발생한다면 Data Plane의 Fidelity 수준을 검토할 것
2. 무거운 의존성 서비스는 On-demand 기반의 Sidecar 패턴 도입을 통해 기동 속도와 정확도 사이의 균형점을 찾을 것
3. Native Compilation(Quarkus, Rust 등)을 통해 제어부(Control Plane)의 오버헤드를 극단적으로 낮추는 방안을 고려할 것