프로젝트 소개
E2B Runtime은 E2B Cloud를 구동하는 완전한 백엔드로, 컨트롤 플레인 API, Firecracker를 구동하는 노드별 오케스트레이터, 모든 VM 내부에서 실행되는 에이전트, 샌드박스 트래픽을 위한 엣지 라우터, 템플릿 빌더로 구성됩니다. 모든 에이전트 세션에 스냅샷에서 부팅되는 자체 격리된 Linux 머신을 제공하여 에이전트가 요청하는 모든 것을 실행하고, 아무 일도 없었던 것처럼 일시정지 및 재개할 수 있습니다.
Go로 작성되었으며 Apache-2.0 라이선스로 E2B에서 개발했습니다. 동일한 코드가 퍼블릭 클라우드, 전용 엔터프라이즈 배포, 자체 하드웨어에서 실행할 수 있는 단일 머신 패키지를 지원합니다.
설계를 이끄는 두 가지 아이디어:
- 샌드박스는 재개된 스냅샷입니다. 템플릿은 오브젝트 스토리지에 저장된 사전 부팅된 VM입니다. 샌드박스 생성은 커널을 처음부터 부팅하는 대신 하나를 복원하는 것을 의미합니다. 메모리 페이지는 userfaultfd를 통해 지연 제공되며, 루트 파일시스템은 읽기 전용 이미지 위에 copy-on-write 오버레이를 사용합니다.
- 컨트롤 플레인과 데이터 플레인은 절대 혼합되지 않습니다. API는 샌드박스가 어디에서 실행될지 결정하고, 각 노드의 오케스트레이터는 Firecracker, 네트워크 네임스페이스, cgroups를 사용하여 어떻게 실행될지를 관리합니다.
기능:
- 개별 네트워크 네임스페이스와 방화벽을 갖춘 Firecracker 마이크로VM을 사용한 하드웨어 격리 샌드박스.
- 유휴 자동 일시정지 및 수신 트래픽 시 투명한 깨우기를 통한 일시정지 및 재개 기능.
- 체크포인트에서 즉시 새 인스턴스를 생성하기 위한 실행 중인 샌드박스 포킹.
- 최적화된 페이지 터치 기록을 통한 Docker 이미지 기반 계층형 템플릿 빌드.
- 프로세스, PTY, 파일시스템, 포트 포워딩 API를 제공하는 VM 내부 에이전트 envd.
- ClickHouse로 메트릭을 내보내는 OpenTelemetry 통합.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.