Cloudflare에서는 실시간 협업 멀티플레이어 애플리케이션을 배포하기 위한 오픈 소스 플랫폼인 PartyKit이 이제 당사의 일원이 되었음을 발표하게 되어 기쁘게 생각합니다. 이번 인수는 서버리스 컴퓨팅의 경계를 다시 정의하여 더욱 동적이고, 대화형이며, 중요한 상태 기반 기능을 갖춘 컴퓨팅을 제공하려는 Cloudflare의 여정에서 중요한 이정표가 될 것입니다.
상태를 중심으로 한 서버리스 컴퓨팅의 미래 정의
웹에서 실시간으로 애플리케이션을 구축하는 것은 항상 어려운 일이었습니다. 여러 클라이언트에서 상태를 유지하려면 인프라, 데이터베이스, 기타 서비스를 제공하고 관리해야 할 뿐만 아니라 분산된 시스템 문제를 처리해야 합니다. 이러한 복잡성은 전통적으로 많은 개발자들, 특히 이제 막 시작하는 개발자들에게 진입 장벽이 되어 왔습니다.
Cloudflare는 웹에 동기화된 실시간 경험을 구축하는 방법으로 2020년에 Durable Objects를 발표했습니다. Durable Objects는 임시적이고 상태를 저장하지 않는 일반 서버리스 기능과 달리 상태를 저장하므로 개발자가 요청에 따라 상태를 유지하는 애플리케이션을 구축할 수 있습니다. 또한 다수의 클라이언트에 걸쳐 상태를 유지해야 하는 실시간 애플리케이션을 위한 이상적인 동기화 지점 역할을 합니다. Durable Objects를 WebSocket과 결합하면 멀티플레이어 게임부터 협업 그리기 도구에 이르기까지 다양한 애플리케이션을 구축하는 데 사용할 수 있습니다.
2022년, PartyKit은 Durable Objects의 기능을 추가적으로 탐색하고 익숙한 구성 요소를 통해 이를 노출하여 개발자가 더 쉽게 액세스할 수 있도록 하는 프로젝트로 시작되었습니다. 몇 초 내에 이러한 개체의 동작을 구성하는 프로젝트를 생성하고 이를 Cloudflare에 배포할 수 있습니다. Yjs(공동 편집의 표준), React 등의 인기 라이브러리와 통합함으로써 개발자는 멀티플레이어 게임부터 공동 그리기 도구까지 다양한 사용 사례를 애플리케이션에 구축할 수 있게 되었습니다.
실시간 구성 요소로 경험을 구축하는 것은 이전에는 수십억 달러 규모의 기업에서만 접근할 수 있었지만, 에지에서의 Durable Objects와 같은 새로운 컴퓨팅 요소 덕분에 일반 개발자와 팀도 쉽게 접근할 수 있게 되었습니다. 이제 PartyKit을 산하에 두면서, 저희는 서버리스가 상태를 유지하는 미래로 나아가기 위해 더욱 노력하고 있습니다.
애플리케이션에 대한 공통의 비전과 여러분과 함께 간소화해 나갈 사용 사례를 미리 알려드릴 수 있게 되어 기쁩니다.
서버리스 상태를 쉽게 만들기
상태를 유지하기 위해 외부 데이터베이스에 의존하므로 확장성이 복잡해지고 비용이 증가하는 기존 방식과는 달리, PartyKit은 Cloudflare의 Durable Objects를 활용하여 상태 저장 서버리스 기능이 단일 컴퓨터에서 실행되는 것처럼 작동하고 요청 전체에서 상태를 유지할 수 있는 원활한 모델을 제공합니다. 이러한 혁신 덕분에 개발이 간소화될 뿐만 아니라 수천 개의 '시스템'이 전 세계에 스핀업되고 각각 자체 상태가 유지 관리됨으로써 실시간 컴퓨팅, 공동 편집, 멀티플레이어 게임 등 더 광범위한 사용 사례가 가능해집니다. PartyKit은 상태 저장 동작이 필요한 애플리케이션을 개발할 때 보다 직관적이고 효율적인 방법을 제공하여 기존 서버리스 컴퓨팅을 보완하여 서버 서버리스 컴퓨팅의 '차세대 진화'를 실현하는 것을 목표로 합니다.
실시간 상호 작용을 위한 WebSockets 단순화
WebSockets는 웹에서 양방향 커뮤니케이션을 생각하는 방식을 혁신적으로 변화시켰습니다. 하지만 이러한 상호 작용을 원활하게 수백만 단위로 차질 없이 확장하는 것이 항상 과제였습니다. Cloudflare Workers는 채팅 서비스, 멀티플레이어 게임, 협업 도구 등의 실시간 애플리케이션을 가능하게 할 뿐만 아니라 확장 가능하고 효율적으로 만들어주는 서버리스 프레임워크를 제공하는 영웅 역할을 합니다.
제약 없는 게임 및 멀티플레이어 애플리케이션 지원
게임 속도가 절대 느려지지 않고 협업이 원활하며 화상 회의 시 선명한 화질이 제공되는 멀티플레이어 플랫폼을 구축한다고 상상해 보세요. Cloudflare의 Durable Objects는 상태 비저장 서버리스 환경을 지속적인 연결이 활성화되는 영역으로 변화시킵니다. PartyKit가 이 생태계에 통합되었다는 것은 개발자들이 전통적인 오버헤드 없이 야심 찬 멀티플레이어 비전을 실현할 수 있는 강력한 툴킷을 보유하게 되었다는 것을 의미합니다.
이는 특히 게임에서 중요합니다. 게임보다 짧은 대기 시간과 실시간 상호작용이 더 중요한 영역은 거의 없기 때문입니다. 모든 밀리초, 모든 시차, 모든 지연이 전체 경험을 결정합니다. PartyKit의 기능이 Cloudflare에 통합되면 개발자는 두 회사의 결합된 기술을 활용하여 확장 가능하고 몰입적이며 대화형 플랫폼 덕분에 단순히 게임을 하는 것이 아니라 게임 속에서 사는 것 같은 게임 경험을 만들 수 있습니다.
현지 우선 애플리케이션 구축을 위한 툴킷
인터넷은 훌륭했고 항상 사용 가능한 경우가 점점 더 많아지지만, 비행기, 기차, 해변 등 어디에서든 연결이 끊기는 상황이 여전히 몇 가지 있습니다.
현지 우선 애플리케이션의 전제는 인터넷이 중단될 때에도 작업이 중단되지 않는다는 것입니다. 문서 작업 중 어느 부분에서 인터넷이 중단되더라도 온라인 상태로 돌아오면 상태가 복원된다는 가정에 따라 계속 작업할 수 있습니다. 이러한 애플리케이션은 클라이언트에 데이터를 저장하고 다시 온라인 상태가 되면 동기화함으로써 탁월한 복원력과 응답성을 제공합니다. PartyKit의 기술로 강화된 Cloudflare의 비전은 현지 우선을 애플리케이션 개발을 위한 선택이 아니라 표준으로 만드는 것을 목표로 합니다.
PartyKit 사용자의 다음 단계는?
사용자는 기존 프로젝트가 예상대로 계속 작동할 것으로 기대할 수 있습니다. 저희는 기존 Workers 및 Pages 프로젝트 내에서 PartyKit 프로젝트를 생성하고 사용하는 기능을 포함하여 플랫폼에 더 많은 기능을 추가할 예정입니다. 상업적 목적으로 PartyKit를 사용하는 데는 Cloudflare Workers 및 기타 서비스에 대한 표준 사용 요금 외에는 추가 요금이 없게 될 것입니다. 또한, 저희는 로드맵을 확장해 React, Vue, Angular 등 인기 프레임워크 및 라이브러리와의 통합 작업을 시작할 예정입니다. Cloudflare에서는 PartyKit의 비전과 로드맵을 실행하기 위해 최선을 다하고 있으며, 귀사에서 이를 활용하여 제품을 구축하는 것을 보게 되어 기쁩니다.
새로운 챕터의 시작
Cloudflare의 PartyKit 인수는 두 팀 모두에게 있어 단순한 이정표가 아닙니다. 이는 모든 개발자를 위한 도약의 기회입니다. 함께하면서 우리는 단순히 도구를 만드는 데 그치지 않고 차세대 인터넷 애플리케이션의 기반을 함께 마련하게 됩니다. 서버리스의 미래는 상태 기반이며, 저희는 이제 PartyKit의 전문성을 통해 그 어느 때보다 그러한 미래를 실현할 준비가 되어 있습니다.
Cloudflare 팀인 PartyKit에 오신 것을 환영합니다. 함께 놀라운 일을 만들어 나갈 것을 기대합니다.