Amazon S3 20년, 다음을 만드는 방식
핵심 내용
S3는 20년간 API 호환성을 지키며 500조 객체·엑사바이트 규모로 성장했다.
자세히 보기
Amazon S3는 2006년 3월 14일, 단 한 문단짜리 공지로 조용히 시작했다. 출발점은 아주 단순한 두 가지 원시 연산, PUT으로 저장하고 GET으로 읽는 구조였지만, 핵심은 개발자가 복잡한 인프라 대신 더 높은 수준의 문제에 집중하도록 만드는 데 있었다.
처음부터 S3는 다섯 가지 원칙 위에 설계됐다. Security는 기본 보호, Durability는 11 nines(99.999999999%) 수준의 내구성, Availability는 실패를 전제로 한 설계, Performance는 거의 무제한에 가까운 데이터 규모에서도 성능 저하를 최소화하는 것, Elasticity는 수동 개입 없이 자동으로 확장·축소되는 구조다.
20년이 지난 지금 S3는 전혀 다른 규모에 도달했다. 출시 당시에는 약 1 PB, 400개 스토리지 노드, 15개 랙, 3개 데이터 센터, 15 Gbps 대역폭, 최대 객체 크기 5 GB 수준이었지만, 현재는 500조 개 이상의 객체, 전 세계 123개 Availability Zone과 39개 AWS Region에서 초당 2억 건 이상 요청을 처리하고 있다. 최대 객체 크기도 5 GB에서 50 TB로 늘었고, 단가도 출시 당시 GB당 15센트에서 오늘날 2센트 조금 넘는 수준으로 내려갔다.
이 과정에서 S3는 단순한 AWS 서비스가 아니라 업계 표준에 가까운 S3 API의 기준점이 됐다. 여러 벤더가 S3 호환 스토리지를 제공하면서, S3에서 익힌 기술과 도구가 다른 스토리지 환경으로도 옮겨갈 수 있게 됐다.
더 인상적인 점은 2006년에 작성한 S3 코드가 지금도 그대로 동작한다는 사실이다. 내부 인프라는 여러 세대의 디스크와 스토리지 시스템을 거치며 완전히 바뀌었고 요청 처리 코드도 다시 작성됐지만, 데이터와 API 호환성은 그대로 유지됐다.
이 규모를 가능하게 한 배경에는 지속적인 엔지니어링 혁신이 있다. S3는 전체 플릿의 모든 바이트를 계속 검사하는 마이크로서비스 기반의 감사 시스템으로 내구성을 유지하고, 이상 징후를 감지하면 즉시 복구 시스템을 작동시킨다. 또한 formal methods와 자동 추론을 실제 프로덕션에서 활용해 인덱스 서브시스템, cross-Region replication, 접근 정책의 정합성을 수학적으로 검증한다.
성능과 안전성 측면에서는 지난 8년 동안 성능 중요 경로를 Rust로 점진적으로 다시 쓰는 작업이 진행됐다. Blob 이동과 디스크 저장 관련 구성요소가 이미 바뀌었고, 다른 핵심 컴포넌트에서도 작업이 이어지고 있다. Rust의 타입 시스템과 메모리 안전성은 S3처럼 대규모이면서 정합성 요구가 극단적으로 높은 시스템에서 중요한 방어막이 된다.
S3의 설계 철학은 **“Scale is to your advantage”**다. 규모가 커질수록 워크로드의 상관성이 낮아져 오히려 신뢰성이 좋아지는 방향으로 시스템을 설계한다는 뜻이다. 더 큰 규모가 더 많은 사용자를 불리하게 만드는 것이 아니라, 더 많은 사용자에게 더 좋은 특성을 돌려주도록 만든다.
미래의 S3는 단순한 객체 저장소를 넘어 모든 데이터와 AI 워크로드의 공통 기반을 지향한다. 데이터를 한 번 저장해 두고, 별도의 특화 시스템으로 옮기지 않은 채 바로 활용하는 방향이다. 이렇게 하면 비용과 복잡성을 줄이고, 같은 데이터의 중복 복제도 줄일 수 있다.
최근 몇 년의 대표 기능은 다음과 같다.
- S3 Tables: 분석 워크로드에 최적화된 완전관리형 Apache Iceberg 테이블
- S3 Vectors: 시맨틱 검색과 RAG를 위한 네이티브 벡터 저장, 인덱스당 최대 20억 벡터, 100ms 미만 쿼리 지연
- S3 Metadata: 대규모 버킷을 재귀적으로 열거하지 않고도 즉시 데이터 탐색을 가능하게 하는 중앙화 메타데이터
이들 기능은 모두 S3의 비용 구조 위에서 동작한다. 과거에는 별도 데이터베이스나 특수 시스템이 필요했던 작업을, 이제는 같은 스토리지 계층에서 경제적으로 처리할 수 있다. 1 PB에서 수백 EB, 15센트에서 2센트대로, 단순 객체 저장소에서 AI와 분석의 기반으로 확장된 20년의 이야기는 결국 하나로 요약된다. 보안, 내구성, 가용성, 성능, 탄력성이라는 원칙은 변하지 않았고, 2006년에 쓴 코드는 지금도 그대로 살아 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.