GN⁺: S2 도입 발표
(s2.dev)-
S2 소개
- S2는 클라우드 시대를 위한 스트리밍 데이터 저장소로, 데이터 시스템의 핵심을 강화하기 위한 솔루션임.
- 기존 객체 저장소의 서버리스 경험을 스트리밍 데이터에 적용하고자 함.
- S2는 스트림을 클라우드 저장소의 기본 요소로 간주함.
-
스트림이 객체의 우선순위를 가졌다면?
- 객체 저장소는 데이터가 휴지 상태일 때 적합하지만, 스트림 저장소는 움직이는 데이터의 요구를 충족시키기 위해 설계됨.
- S2는 기록 단위로 데이터를 처리하며, 여러 작성자가 동시에 작업해도 모든 기록을 순차적으로 처리함.
- S3와 달리 S2는 실시간으로 스트림을 추적할 수 있음.
-
서버리스 – 그 비용은?
- S2는 객체 저장소의 무한한 확장성과 내구성을 기반으로 구축됨.
- 사용자는 스트림별로 지연 시간과 비용의 균형을 조절할 수 있음.
-
Standard
와Express
라는 두 가지 저장소 클래스를 제공하며, 각각 AWS의 S3 Standard와 S3 Express One Zone을 기반으로 함. -
Express
클래스는 디스크 기반 클라우드 스트리밍 시스템과 유사한 지연 시간을 제공함.
-
S2의 다음 단계
- S2는 검증된 클라우드 인프라를 기반으로 하며, Rust 코드베이스를 사용하여 테스트됨.
- 현재 gRPC API, Rust SDK, CLI를 제공하며, REST API도 개발 중임.
- 향후 계획으로 Kafka 프로토콜 호환성, 다중 지역 베이슨, 5밀리초 이하의 지연 시간을 목표로 함.
- S2는 스트림 수나 처리량에 제한이 없는 클라우드 스트리밍을 원하는 사용자에게 적합한 솔루션임.
Hacker News 의견
- 제품 이름을 S2로 짓고 AWS S3를 개선하는 기술이라고 소개하는 것은 Amazon의 상표권 문제를 일으킬 수 있음
- API가 아름답고 프로젝트에 사용하고 싶지만, 현재 형태로는 오래 지속될 것 같지 않음. 성공하면 AWS가 더 나은 버전을 만들 가능성이 큼
- Papertrail 같은 최종 사용자 제품으로 출시되었다면 더 의미가 있었을 것임
- S3 호환 백엔드를 추가할 수 있다면 훌륭한 클라우드 독립 제품이 될 것임
- WarpStream과 유사하지만 Kafka 호환성 대신 낮은 수준의 API를 제공하는 것 같음
- 장기적으로 채택된다면 S3 수준의 스트리밍 API는 매우 가치가 있을 것임
- AWS의 인터넷 전송 비용이 $0.09/GB인데 $0.05/GB로 청구하는 이유가 궁금함. AWS의 비공개 전송 가격에 접근할 수 있는지 의문임
- 기술이 멋지지만 소스가 공개되지 않아 아쉬움. FSL 같은 라이선스로 완전한 자가 호스팅을 지원한다면 상업적 서비스로 고려할 것임
- S3가 아님을 설명하는 데 평생을 보낼 것을 선택한 것 같음
- 스트림 '이벤트'를 시점별로 쿼리 가능한 표현으로 만드는 것을 누군가가 구축했으면 좋겠음
- 특정 데이터베이스보다는 특정 메모리 내 쿼리 가능한 데이터로 만드는 패턴이나 프레임워크가 더 나을 것임
- 모든 쓰기가 S3에 저장된 후에야 인정되는 서비스 모델의 가치 제안이 혼란스러움
- AWS가 Kafka 재구현과 같은 프로토콜 호환 서비스를 구현할 가능성이 있음
- Java SDK가 없다는 점이 아쉬움. 대부분의 회사가 Spring이나 Kafka 클라이언트를 사용하기 때문에 PoC조차 어렵게 만듦
- AWS의 Kinesis Data Streams와 너무 겹치는 것 같음. AWS에 경쟁이 생긴 것은 좋음