피드로 돌아가기
원문 읽기
AWS News Blog
InfrastructureTwenty years of Amazon S3 and building what’s next
Amazon S3가 20년 동안 저장 용량을 1PB에서 500조 객체 규모로 확장하면서 가격을 85% 인하하고 API 하위 호환성 100% 유지
AI 요약
Context
Amazon S3는 2006년 출시 당시 약 1PB의 저장 용량, 15Gbps 대역폭, 최대 5GB 객체 크기 제한으로 시작했다. 20년간 요구사항이 기하급수적으로 증가하면서 수백 엑사바이트 규모의 데이터를 처리하고, 초당 2억 개 이상의 요청을 수행해야 했다.
Technical Solution
- 마이크로서비스 기반 감시 시스템 도입: 전체 플릿의 모든 바이트를 지속적으로 검사하고 자동으로 복구 시스템 트리거
- Formal Methods와 자동화된 정형 증명 활용: 인덱스 서브시스템의 일관성 회귀를 컴파일 시점에 수학적으로 증명
- 성능 크리티컬 경로를 Rust로 단계적 재작성: 8년 이상 지속된 프로젝트로 Blob 이동, 디스크 스토리지 등의 핵심 컴포넌트를 Rust로 변경
- 신규 데이터 타입 지원 추가: S3 Tables(Apache Iceberg), S3 Vectors(최대 20억 벡터 지원, 쿼리 레이턴시 100ms 이하), S3 Metadata(대용량 버킷 재귀 나열 제거)
- 최대 객체 크기를 5GB에서 50TB로 확장: 10,000배 증가
Impact
- 저장 용량: 약 1PB(2006년) → 500조 객체 규모(2026년)
- 가격: 1GB당 15센트(2006년) → 2센트(2026년) = 약 85% 인하
- S3 Intelligent-Tiering 활용으로 S3 Standard 대비 누적 고객 절감액 60억 달러
- S3 Vectors: 5개월(7~12월 2025)간 250,000개 이상의 인덱스 생성, 400억 벡터 수집, 10억 건 이상 쿼리 수행
- 요청 처리량: 약 15Gbps(2006년) → 초당 2억 건 이상 전역 요청(2026년)
Key Takeaway
20년 동안 인프라 변경, 저장소 세대 교체, 코드 전면 개편이 이루어졌음에도 2006년 작성된 API 호출 코드가 변경 없이 작동하는 것이 S3의 가장 큰 성취다. 이는 기본 원칙(보안, 내구성, 가용성, 성능, 탄력성)을 불변으로 유지하면서 내부 구현을 지속적으로 개선하는 설계 철학의 결과다.
실천 포인트
분산 저장소나 대규모 상태 관리 시스템을 설계할 때 Rust 같은 메모리 안전 언어로 성능 크리티컬 경로를 재구현하고, Formal Methods를 활용해 일관성을 수학적으로 증명하며, 마이크로서비스 기반 감시 시스템으로 모든 데이터를 주기적으로 검사하면 내구성과 성능을 동시에 보장할 수 있다.