Kedge: 포크 가능한 VM 스냅샷과 글로벌 SQLite를 갖춘 전 세계 분산 클라우드 플랫폼

Kedge는 풀스택 애플리케이션을 위한 전 세계 분산 인프라를 제공합니다

Kedge는 정적 사이트, 서버리스 함수, 그리고 통합 데이터베이스를 엔드 유저에 가깝게 배치한 풀스택 애플리케이션을 배포하도록 설계된 경량 클라우드 플랫폼입니다. 이 플랫폼은 하드웨어 격리된 가상 머신(VM)과 서버리스 스케일링의 민첩성을 결합하고, 내장된 글로벌 데이터 레이어를 제공함으로써 차별화됩니다.

핵심 인프라 및 컴퓨팅 모델

Kedge는 전체 Linux 커널을 실행하는 보안된 하드웨어 격리 VM을 활용하여 표준 컨테이너 런타임보다 강력한 격리를 제공합니다. 플랫폼은 다음 메커니즘을 통해 빠른 배포와 스케일링을 최적화합니다:

  • 즉시 샌드박스 및 스케일아웃: Kedge는 VM 스냅샷을 사용하여 거의 즉시 확장을 가능하게 하고 샌드박스를 생성합니다.
  • 제로 자동 스케일링: 인스턴스는 수요에 따라 사용자 가까이에서 시작되며, 유휴 시 자동으로 0으로 스케일 다운되어 비용을 최소화합니다.
  • 배포 유연성: 사용자는 SSH(echo '# Hello, world!' | ssh kedge.dev), Git, 또는 HTTP API를 통해 배포할 수 있으며, 푸시‑투‑디플로이와 풀‑리퀘스트 별 프리뷰 환경을 위한 GitHub 네이티브 통합을 제공합니다.
  • 네트워크 서비스: 플랫폼은 엣지에서 정적 콘텐츠를 캐시하기 위한 내장 CDN 기능, 공개 HTTPS 엔드포인트, 프라이빗 네트워킹, 그리고 커스텀 도메인 지원을 포함합니다.

통합 글로벌 데이터 레이어

많은 클라우드 제공업체가 데이터베이스 관리를 별도의 오케스트레이션 작업으로 취급하는 것과 달리, Kedge는 데이터 영속성을 애플리케이션 환경에 직접 통합합니다:

  • 글로벌 SQLite 및 공유 파일시스템: 모든 애플리케이션은 내장된 글로벌 SQLite 데이터베이스와 공유 파일시스템에 접근할 수 있어, 지역 간 분산 상태를 용이하게 합니다.
  • 지속적인 로컬 볼륨: 고성능 스토리지를 위해 로컬 볼륨을 제공하며, 내구성을 위해 객체 스토리지를 지속적으로 백업합니다.

리소스 기반 요금 모델

Kedge는 할당된 용량이 아니라 실제 리소스 사용량을 기준으로 하는 초당 청구 모델을 사용합니다. 이 접근 방식은 사용자가 애플리케이션이 실제로 사용하는 리소스에 대해서만 비용을 지불하도록 보장합니다:

  • CPU: 예약된 밀리초에 대해서만 청구됩니다 ($15 / vCPU‑월).
  • 메모리: 활성 레지던트 페이지를 기준으로 청구됩니다 ($5 / GB‑월).
  • 스토리지: 사용된 바이트에 대해서만 청구됩니다 ($0.05 / GB‑월).
  • 아웃바운드: $0.01 / GB 로 청구됩니다.

월 $5의 무료 티어가 제공되며, 이는 소규모 웹사이트나 개발 환경에 충분합니다.

기술 커뮤니티 인사이트 및 고려 사항

Kedge 아키텍처에 대한 기술 토론은 스냅샷 및 데이터 복제 모델과 관련된 여러 고급 고려 사항을 강조합니다:

VM 스냅샷 및 엔트로피

핵심 기술적 우려 중 하나는 VM 스냅샷의 "포크 경계"와 관련됩니다. 스냅샷은 프로세스가 listen을 호출할 때 촬영되므로, 이후에 생성된 클론은 동일한 메모리 이미지를 가집니다. 이는 클론이 동일한 시드를 공유할 수 있어 엔트로피와 난수 생성(RNG)과 관련된 보안 및 안정성 문제를 야기할 수 있습니다. 사용자들은 복원 후 고유한 암호 시드를 보장하기 위한 재시드 훅의 필요성을 언급했습니다.

데이터 복제 및 일관성

글로벌 SQLite 데이터베이스 구현은 쓰기 동시성 및 기반 엔진에 대한 질문을 불러일으켰습니다. 구체적으로, 사용자는 시스템이 "syzy"(CRDT 기반 접근법)를 사용하는지와 다수의 인스턴스가 동시에 작성자로 동작할 때 어떻게 처리되는지에 대해 문의했습니다.

기존 플랫폼과의 비교

커뮤니티 구성원들은 Kedge의 통합 접근 방식을 Fly.io와 비교했으며, Fly가 빌딩 블록을 제공하는 반면 Kedge는 복제된 데이터베이스와 파일시스템을 일급 원시 요소로 통합하여 개발자의 운영 부담을 줄인다고 지적했습니다.

Sources