서버리스 플랫폼은 분명 편리합니다. 하지만 복잡한 상태 관리가 필요한 실시간 애플리케이션, 예를 들면 협업 툴이나 게임 서버, AI 에이전트를 만들려고 하면 그 편리함이 발목을 잡기도 합니다. 콜드 스타트로 인한 지연, 상태 저장 불가, 제한된 실행 시간, 외부 메시지 브로커 의존성 등은 서버리스를 채택하지 못하는 이유로 자주 언급되곤 하죠.
Rivet은 이런 문제를 해결하기 위해 태어난 오픈소스 서버리스 플랫폼입니다. Rust와 V8 기반으로 고성능을 지향하면서도, 서버리스 구조에서 부족했던 부분들을 보완했습니다. 상태 저장 액터, 무제한 실행 시간, 글로벌 엣지 배포, 콜드 스타트 제거, 통합된 RPC 시스템 등, 기존 서버리스의 한계를 실질적으로 넘어서는 기능들이 돋보입니다.
이 글에서는 Rivet의 구조와 특장점, 그리고 어떤 문제를 해결해주는지를 중심으로 설명합니다. Rivet이 왜 ‘진짜 서버리스’라는 표현을 들을 수 있는지, 함께 알아보겠습니다.
Rivet이란 무엇인가?
Rivet은 복잡한 실시간 백엔드 시스템을 쉽게 구축할 수 있도록 설계된 오픈소스 서버리스 플랫폼입니다. 게임 서버, 협업 애플리케이션, AI 에이전트 같은 고성능 실시간 애플리케이션을 위한 백엔드 인프라를 손쉽게 배포하고, 자동으로 확장할 수 있도록 돕습니다.
기술 스택에는 Rust, V8, Deno, FoundationDB, CockroachDB, ClickHouse, Valkey, NATS, Traefik 등이 포함되어 있어, 고성능과 확장성을 동시에 지향합니다. 단순 API 서버가 아니라, 상태 관리가 필요한 시스템도 손쉽게 구현할 수 있다는 것이 핵심입니다.
핵심 아키텍처와 기능 소개
Stateless Functions: 무상태 함수
기존 서버리스의 표준 기능인 Stateless Functions는 요청-응답 기반의 작업에 적합합니다. 예를 들어 API 서버처럼 명확하게 분리된 트랜잭션 작업을 처리할 때 유용하며, Rivet에서도 기본적으로 지원됩니다.
Stateful Actors: 상태 저장 액터
Rivet의 가장 강력한 기능 중 하나입니다. 상태 저장이 가능한 액터를 통해, 메모리에 데이터를 유지하면서 동시에 디스크에도 내구성 있게 저장할 수 있습니다. 게임 로비나 실시간 협업 문서, 캐시처럼 변화하는 상태를 관리해야 하는 서비스에 적합합니다.
Sandboxed Containers: 격리된 컨테이너 환경
신뢰할 수 없는 코드나 무거운 작업은 컨테이너 기반으로 실행됩니다. Docker 호환 컨테이너라면 어떤 것이든 사용 가능하며, 백그라운드 작업이나 장기 실행 프로세스를 안정적으로 운영할 수 있습니다.
Rivet의 차별점은 무엇일까?
1. 상태 유지와 영속성
일반적인 서버리스는 상태를 유지하지 않지만, Rivet은 액터 모델을 통해 메모리 상태를 보존하고 디스크에 지속적으로 저장합니다. 장애가 발생하더라도 상태를 복구할 수 있어 무중단 서비스를 제공합니다.
2. 콜드 스타트 없는 서버리스
일반 서버리스 환경에서는 사용되지 않던 서비스가 다시 활성화되면 콜드 스타트가 발생합니다. Rivet은 Idle 상태의 액터를 Hibernate로 대기시키고, 요청이 들어오면 즉시 Sleep 모드에서 깨어나기 때문에 Cold Start가 사실상 없습니다.
3. 외부 브로커 없는 실시간 통신
클라이언트와 액터 간에 타입 안전한 RPC(Remote Procedure Call)와 브로드캐스트 기능을 기본으로 제공합니다. 외부 메시지 브로커 없이도 실시간 통신이 가능하며, 설계가 간단해집니다.
4. 글로벌 엣지 배포
Rivet은 액터와 함수를 글로벌 엣지에 자동 배포할 수 있습니다. HTTP, WebSocket, TCP, UDP 프로토콜을 모두 지원하며, 외부 프록시 없이도 초저지연 서비스가 가능합니다. 사용자에게 가장 가까운 위치에서 응답을 제공할 수 있죠.
Rivet은 어떻게 사용하나요?
로컬 개발과 배포
Rivet은 개발자 경험을 매우 중요시합니다. rivet dev 명령어나 Docker Compose를 사용해 로컬 클러스터를 바로 실행할 수 있어, 실제 운영 환경과 유사한 조건에서 테스트가 가능합니다. 변경 사항을 로컬에서 반복적으로 검증한 후, 자신 있게 프로덕션에 배포할 수 있습니다.
Rivet이 활약하는 주요 사례
Rivet은 다음과 같은 다양한 시나리오에서 유용하게 활용될 수 있습니다.
- 게임 서버: 실시간 상태 관리와 낮은 지연이 필수인 게임 환경에 적합
- AI 에이전트: 다양한 사용자 요청을 동시에 처리하고, 상태를 관리하는 에이전트 구조에 적합
- 협업 툴: 문서 편집, 채팅 등 실시간 협업 기능 구현
- 멀티테넌트 SaaS: 테넌트별 상태 격리 및 유지 필요 시
- 샌드박스 실행 환경: 안전한 코드 실행이 필요한 경우
- Local-first 앱: 로컬 상태 우선 구조의 애플리케이션
Rivet이 가져올 서버리스의 미래
Rivet은 단순한 서버리스 플랫폼이 아닙니다. 서버리스의 한계를 실질적으로 극복한, 진짜 개발자 친화적인 인프라 플랫폼입니다. 상태 유지, 실시간 통신, 무제한 실행 시간, 글로벌 엣지 배포까지 모두 갖춘 Rivet은, 지금까지 ‘서버리스로는 어렵다’고 여겨졌던 애플리케이션들도 가능하게 만듭니다.
특히 실시간 게임 서버, 협업 툴, AI 에이전트처럼 복잡한 상태를 다뤄야 하는 백엔드를 구축하려는 개발자에게는 매우 매력적인 선택지입니다. 이제는 서버리스로 더 많은 것을 할 수 있게 되었습니다. Rivet은 그 가능성을 현실로 만들어줄 플랫폼입니다.
https://github.com/rivet-gg/rivet
GitHub - rivet-gg/rivet: 🔩 The open-source serverless platform. Easily deploy & scale AI agents, complex workloads, and backe
🔩 The open-source serverless platform. Easily deploy & scale AI agents, complex workloads, and backends — all on a frictionless platform that runs anywhere. - rivet-gg/rivet
github.com
'잡학다식 > IT 컬럼' 카테고리의 다른 글
ESLint보다 100배 빠른 린터, Oxlint 1.0 출시! 성능과 실용성 모두 잡았다 (0) | 2025.06.18 |
---|---|
IDE는 죽지 않았다. 다만, AI가 그 자리를 넘보고 있다: Agentic AI가 바꾸는 개발의 미래 (0) | 2025.06.18 |
알림부터 보안까지, Android 16으로 바뀌는 일상 (0) | 2025.06.13 |
성능과 보안을 동시에 잡은 Apple의 새로운 컨테이너 프레임워크, 왜 주목해야 할까? (0) | 2025.06.11 |
48시간에서 41분으로! GitLab 저장소 백업 속도 혁신 이야기 (0) | 2025.06.08 |