지난 몇 년 동안 우리는 개발자들이 실시간 커뮤니케이션으로 가능한 일의 한계를 뛰어넘는 것을 봐왔습니다. 협업 작업용 도구, 대규모 온라인 시청 모임, 대화형 라이브 강의실이 모두 폭발적으로 인기를 얻고 있습니다.
우리는 일상 생활에서 AI를 점점 더 많이 사용합니다. 텍스트 기반 상호 작용은 음성과 동영상이라는 보다 자연스러운 상호 작용으로 진화하고 있습니다. 사용자가 AI 개발자가 개발한 애플리케이션 및 도구와 상호 작용할 때 우리는 응답 시간과 연결 품질에 대한 기대치가 높습니다. AI의 복잡한 애플리케이션은 하나의 도구가 아니라 여러 공급자가 제공하는 경우가 많은 도구의 조합을 기반으로 구축되므로 다양한 AI 도구를 조정하려면 중간에 잘 연결된 클라우드가 있어야 합니다.
개발자들은 이미 Workers, Workers AI, Cloudflare의 WebRTC SFU 및 TURN 서비스를 사용하여 사용자와 가장 가까운 곳에서 컴퓨팅 또는 미디어 서비스를 조정할 필요 없이 강력한 애플리케이션을 구축하고 있습니다. 실시간 애플리케이션에 단 하나의 '지역: 지구'가 존재하는 것은 당연합니다.
실시간 오디오 및 비디오 경험을 통해 애플리케이션을 진정한 대화형으로 만들도록 지원하는 제품군인 Cloudflare Realtime을 소개하게 되어 기쁩니다. 이제 Cloudflare에서는 Realtime에 새로운 RealtimeKit과 함께 SFU, STUN, TURN 서비스가 통합됩니다.
RealtimeKit의 시작
RealtimeKit은 모바일 SDK(iOS, Android, React Native, Flutter), 웹용 SDK(React, Angular, Vanilla JS, Webcomponents), 서버 측 서비스(녹화물, 조정, 전사)의 모음으로, 이를 통해 그 어느 때보다 쉽게 실시간 음성, 동영상, AI 애플리케이션을 구축할 수 있습니다. RealtimeKit에는 인터페이스를 빠르게 구축할 수 있는 사용자 인터페이스 구성 요소도 포함되어 있습니다.
실시간 생태계를 선도하는 회사인 Dyte의 놀라운 팀이 Cloudflare에 합류하여 RealtimeKit 개발을 가속화했습니다. Dyte 팀에서는 모든 기술 수준의 개발자가 실시간 경험에 액세스할 수 있도록 하는 데 수년간 집중해 왔습니다. 이 팀에서는 개발자의 여정을 깊이 이해했으며 WebRTC의 기능을 제거하지 않고도 복잡성을 숨기는 추상화를 구축했습니다.
이미 Cloudflare 제품을 사용하고 있었던 Dyte는 전 세계 300여 개 도시에 걸쳐 있는 Cloudflare의 기존 실시간 인프라를 완벽하게 보완했습니다. 이들은 복잡한 미디어 기능에 액세스할 수 있는 개발자 경험 계층을 구축했습니다. 저희는 Dyte 팀이 개발자들이 하나의 팀으로 실시간 애플리케이션을 위한 사용자 상호작용의 미래를 정의할 수 있도록 지원하는 Cloudflare에 합류하게 되어 매우 기쁩니다.
대화형 애플리케이션은 WebRTC 전문 지식을 필요로 해서는 안 됩니다
많은 개발자의 경우, '화상 채팅 추가하기'로 시작하여 WebSocket 및 WebRTC에 대한 몇 주 동안의 기술 심층 탐구로 빠르게 확대될 수 있습니다. Cloudflare에서는 WebRTC 의 잠재력을 크게 믿지만, 처음 구축할 때는 실질적인 어려움이 있다는 것도 잘 알고 있습니다. WebRTC 세션을 디버깅하려면 개발자가 ICE 후보 실패, TURN 서버 구성, SDP 협상 문제 탐색 등 난해한 새로운 개념에 대해 알아야 할 수 있습니다.
WebRTC 애플리케이션을 처음 구축할 때의 어려움은 여기서 그치지 않습니다. 장치 관리가 또 다른 복잡성을 가중시킵니다. 브라우저와 모바일 플랫폼에서 카메라 및 마이크 API가 일관되지 않으면 프로덕션 환경에서 예기치 않은 동작이 발생합니다. Chrome은 한 방향으로, Safari는 다른 방향으로 해상도 전환을 처리하며, Android WebView는 독특하게 실망스러운 방식으로 중단됩니다. 테스트 환경에서는 완벽하게 작동하는 애플리케이션이 특정 장치나 브라우저에 배포되면 이상하게 작동하지 않는 경우가 자주 목격됩니다.
5명의 테스트 사용자의 경우에는 완벽하게 작동하는 시스템이 50명의 실제 참가자의 경우에는 실패할 수도 있습니다. 전문 지식이 없으면 대역폭 적응이 실패하고 연결 관리가 어려워지며, 다양한 네트워크 조건에서 일관된 품질을 유지하는 것이 거의 불가능한 것으로 드러납니다.
간단한 기능으로 시작한 것이 비즈니스의 핵심이 아닌 문제를 해결하기 위해 낮은 수준의 엔지니어링이 필요한 수개월짜리 프로젝트가 될 수도 있습니다.
저희는 이러한 문제를 해결하려면 제품을 클라이언트 장치로 확장해야 한다는 것을 깨달았습니다.
Kotlin, React Native, Swift, JavaScript, Flutter용 RealtimeKit SDK

RealtimeKit은 WebRTC 문제 없이 실시간 애플리케이션을 구축하기 위한 Cloudflare의 툴킷입니다. RealtimeKit의 핵심은 세션 설정 및 미디어 권한부터 NAT 통과 및 연결 관리에 이르기까지 모든 하위 수준의 복잡성을 처리하는 교차 플랫폼 SDK 세트입니다. 이러한 기반을 구현하고 디버깅하는 데 몇 주나 소비하는 대신 사용자를 위한 고유한 경험을 만드는 데 전념할 수 있습니다.
레코딩 기능이 기본 제공되므로, 실시간 애플리케이션에서 가장 많이 요청되지만 구현하기 어려운 기능 중 하나가 제거됩니다. 규제 준수를 위해 회의를 캡처해야 하든, 라이브 강의에 참석하지 못한 학생을 위해 가상 강의실 세션을 저장해야 하든, 콘텐츠 크리에이터가 스트리밍을 보관할 수 있도록 해야 하든, RealtimeKit은 전체 미디어 파이프라인을 처리합니다. 더 이상 MediaRecorder API와 씨름하거나 사용자 지정 녹화 인프라를 구축할 필요가 없습니다. RealtimeKit은 그냥 작동하며 사용자 기반과 함께 확장됩니다.
또한 ElevenLabs와 같은 공급자의 음성 AI 기능을 플랫폼에 직접 통합했습니다. 함수 호출만큼 간단하게 AI 참가자를 대화에 추가할 수 있으므로 완전히 새로운 상호 작용 모델이 가능해집니다. 이러한 AI의 음성은 인간 참가자와 동일하게 짧은 대기 시간 (Cloudflare의 전역 네트워크에서 수십 밀리초)으로 작동하므로 AI와 인간이 자연스럽게 대화하는 진정한 동기식 경험이 제공됩니다. 수백만 명의 동시 참가자로 확장할 수 있는 RealtimeKit의 기능과 결합할 경우 이전에는 불가능했던 완전히 새로운 범주의 애플리케이션이 가능해집니다.
개발자 경험

RealtimeKit은 기본 프로토콜이 작동하는 방식보다는 개발자가 달성하려는 목표에 중점을 둡니다. API 호출 만으로 참가자를 추가하거나 레코딩을 시작하는 작업이 가능합니다. SDK는 플랫폼 전반에 걸쳐 장치 열거, 권한 요청, UI 렌더링을 처리합니다. 그 이면에서는 저희가 디버깅하기 어려울 수 있는 미디어 오케스트레이션, 상태 관리 등의 까다로운 문제를 해결하고 있습니다.
저희는 여러 해에 걸쳐 Cloudflare RealtimeKit을 출시하기 위해 묵묵히 노력해 왔습니다. Cloudflare의 전역 네트워크는 처음부터 Cloudflare 네트워크와 최종 사용자 간의 대기 시간을 최소화하도록 최적화되어 있으며, 이는 대부분의 네트워크 중단이 발생하는 곳입니다.
Cloudflare에서는 네트워크 조건에 따라 품질을 동적으로 조정하여 참가자 간의 미디어 스트림을 지능적으로 라우팅하는 선택적 포워딩 장치(SFU)를 개발했습니다. Cloudflare의 TURN 인프라는 복잡한 NAT 통과 문제를 해결하므로 방화벽 뒤에서 안정적인 연결이 설정될 수 있습니다. 저희는 Workers AI를 통해 추론 기능을 에지에 가져와 AI 기반 상호 작용의 대기 시간을 최소화했습니다. Workers와 Durable Objects는 참가자들 사이에서 일관된 상태를 유지하는 데 필요한 WebSocket 조정 계층을 제공했습니다.
이제 SFU 및 TURN 서비스를 누구나 이용할 수 있습니다
Cloudflare에서는 또한 더 많은 제어 능력과 Cloudflare 네트워크 와의 낮은 수준의 통합이 필요한 WebRTC 개발자를 위해 SFU 및 TURN 서비스를 누구나 이용할 수 있게 되었음을 발표합니다.
이제 SFU는 매우 일반적인 기능 요청인 동시 방송을 지원합니다. Simulcast를 사용하면 개발자가 여러 옵션에서 미디어 스트림을 선택할 수 있습니다. 이는 온라인 비디오의 품질 수준을 선택하는 것과 유사하지만, WebRTC용입니다. 이제 네트워크 품질이 다른 사용자도 SFU에서 자동으로 정의하거나 수동으로 선택하는 다양한 수준의 품질을 수신할 수 있습니다.
이제 저희 TURN 서비스에서는 지역, 국가, 도시 수준의 사용량 지표에 대한 인사이트를 포함한 고급 분석이 제공됩니다. Cloudflare의 TURN 서비스는 사용자 지정 식별자, 취소 가능 토큰과 함께 사용량에 대한 심층적인 보기를 제공하고 남용 방지를 지원합니다.
Cludflare의 SFU와 TURN 제품은 매달 1,000GB 무료 사용 후 GB당 5센트의 가격으로 대규모 WebRTC 앱을 구축할 수 있는 가장 저렴한 방법 중 하나입니다.
Hugging Face와의 협업으로 실시간 AI 커뮤니케이션의 원활한 진행
FastRTC는 Hugging Face의 경량 Python 라이브러리로, WebRTC를 사용하여 AI 모델 안팎으로 실시간 오디오 및 비디오를 쉽게 스트리밍할 수 있도록 합니다. TURN 서버는 WebRTC 인프라의 중요한 부분이며 미디어 스트림이 방화벽과 NAT를 통해 안정적으로 연결할 수 있도록 보장합니다. FastRTC 사용자의 경우 전 세계적에 걸쳐 분산된 TURN 서버를 설정하는 것은 복잡하고 비용이 많이 들 수 있습니다.
Cloudflare와 Hugging Face의 새로운 협업을 통해 이제 FastRTC 사용자는 Cloudflare의 TURN 서버 제품에 무료로 액세스할 수 있으며, 즉시 안정적인 연결이 제공됩니다. 개발자는 Hugging Face 액세스 토큰만 사용하여 매달 10GB의 TURN 대역폭을 얻습니다. 설정도, 신용 카드도, 관리할 서버도 필요하지 않습니다. 프로젝트가 성장함에 따라 개발자는 Cloudflare 계정으로 쉽게 전환하여 용량과 무료 등급을 늘릴 수 있습니다.
이번 통합 덕분에 AI 개발자는 NAT 통과나 네트워크 안정성에 대한 걱정 없이 음성 인터페이스, 동영상 파이프라인, 멀티모달 애플리케이션 구축에 집중할 수 있습니다. FastRTC에서는 코드를 간소화하고, Cloudflare에서는 해당 코드가 어디에서든 작동하도록 보장합니다. 시작하려면 데모를 참조하세요.
몇 주가 아닌 며칠 만에 AI 기반 실시간 애플리케이션 출시

RealtimeKit을 사용하면 이제 개발자가 복잡한 실시간 경험을 몇 시간이면 구현할 수 있습니다. SDK는 일반적인 구현 패턴에 맞춤화된 API를 제공하면서 WebRTC 개발에서 가장 시간이 많이 걸리는 측면을 생략합니다. 다음은 몇 가지 가능성입니다.
화상 회의: 단 몇 줄의 코드로 여러 사람이 참여하는 화상 통화를 애플리케이션에 추가할 수 있습니다. RealtimeKit은 일반적으로 몇 주간의 개발 기간이 소요되는 연결 관리, 대역폭 적응, 장치 권한을 처리합니다.
라이브 스트리밍: 주최자가 수천 명의 시청자에게 스트리밍하는 동시에 참가자만 화면에 띄울 수 있는 대화형 방송을 구축합니다. SFU는 참가자의 역할과 네트워크 조건에 따라 미디어 라우팅을 자동으로 최적화합니다.
실시간 동기화: 모든 참가자가 콘텐츠 재생을 동기화하여 시청하거나 공동으로 시청하는 경험을 구현합니다. 타이밍 API는 기존에 필요했던 복잡한 지연 계산과 조정을 처리합니다.
음성 AI 통합: 사용자 지정 미디어 파이프라인을 구축하지 않고도 트랜스크립션 및 AI 음성 참가자를 추가합니다. RealtimeKit의 미디어 처리 API는 별도의 인프라를 필요로 하지 않고 기존 인증 및 저장 시스템과 통합됩니다.
저희 초기 테스터가 RealtimeKit을 사용하는 것을 보면 기존 프로젝트의 속도가 빨라질 뿐만 아니라 실행 가능한 프로젝트가 근본적으로 바뀝니다.
RealtimeKit 시작하기
오늘부터 Cloudflare 대시보드에 새로운 Realtime 섹션이 표시됩니다. 이 섹션에는 Cloudflare의 TURN 및 SFU 제품과 최신 제품인 RealtimeKit이 포함됩니다.
RealtimeKit은 현재 일부 고객이 테스트를 시작할 수 있도록 클로즈 베타 버전이 제공되고 있습니다. 현재 베타 기간 동안 테스트하는 데는 요금이 부과되지 않습니다. 여기에서 또는 Cloudflare 대시보드의 링크를 통해 초기 액세스를 요청하세요. 여러분이 무엇을 구축해나갈지 정말 기대됩니다.
