AnyCable의 탄생과 성능 우위
2016년, 블라디미르 드미트리예프(Vladimir Dementyev)와 에라 나자로프(Egor Nazarov)가 공동 설립한 Evil Martians는 Rails Action Cable의 드롭인(drop-in) 대체재로 Go 언어 기반의 AnyCable을 개발했습니다. AnyCable은 액션 케이블과 동일한 프로토콜 및 Redis를 사용하면서도, 웹소켓 연결의 지속성으로 인한 메모리 관리 문제를 Go의 강점을 활용하여 해결했습니다. 그 결과, 액션 케이블 대비 10배 더 메모리 효율적이며, 지연 시간이 초 단위로 급증하는 액션 케이블과 달리 매우 안정적인 실시간 브로드캐스팅 성능을 제공합니다. AnyCable의 모토는 “Action Cable은 실시간 기능을 편안하게 구축하게 하고, AnyCable은 이를 확장할 수 있게 한다”는 것입니다.
팬데믹 시대의 성장과 기능 확장
2020년 팬데믹은 온라인 기반 실시간 애플리케이션의 수요를 폭발적으로 증가시켰습니다. Evil Martians는 VTO(Tito 개발팀이 만든 온라인 이벤트 플랫폼)와 같은 컨설팅 고객의 대규모 동시 사용자 및 실시간 업데이트 요구사항을 AnyCable로 해결하며 다양한 웹소켓 사용 사례(GPS 좌표, 가상 이벤트, 협업 도구 등)를 경험했습니다. 이러한 학습을 바탕으로 AnyCable 1.0을 출시했으며, 웹소켓 스케일링 시 HTTP 요청과 자원 경합이 발생하여 웹소켓이 모든 자원을 독점하는 문제를 인지, AnyCable을 Rails와 독립적으로 확장하는 방향으로 발전시켰습니다. 또한, 부재했던 웹소켓 부하 테스트 도구(K6 플러그인), 시나리오 기반 테스트 도구(Websocket Director) 등을 구축했으며, GraphQL 구독 지원, 롱 폴링, 음성 애플리케이션 등 고객이 필요로 하는 기능들을 추가했습니다.
AnyCable Pro의 등장과 비즈니스 모델
2021년, Evil Martians는 대규모 조직의 요구사항을 충족하기 위해 AnyCable Pro를 출시했습니다. AnyCable Pro는 Apollo GraphQL 통합, 기업 방화벽 뒤에서 웹소켓 사용이 어려운 환경을 위한 롱 폴링(Long Polling) 지원, 복잡한 역할/권한 관리 및 감사 기능 등 엔터프라이즈급 기능을 제공합니다. AnyCable Pro는 GitHub Container Registry를 통한 배포, 단일 요금제, Typeform을 통한 가입 등 매우 간소화된 방식으로 운영되었으며, 첫 고객인 프랑스 기업 Colell EU와의 협력을 통해 제품의 가치를 입증했습니다. 유료 고객은 오픈소스 사용자보다 더 적극적인 피드백과 지원을 제공하며, 이는 제품 개선에 큰 도움이 되었습니다.
지속적인 발전과 새로운 사용 사례
2022년과 2023년에는 마케팅 강화(뉴스레터, 스크린캐스트)와 함께 기술적 개선이 이루어졌습니다. 특히, 웹소켓의 메시지 전달 보장 부재 문제를 해결하기 위해 AnyCable 클라이언트와 서버를 함께 사용할 때 “정확히 한 번(exactly once)” 전달 보장을 제공하는 기능과, 배포 시 세션이 끊어지지 않고 자동으로 재개되는 “재개 가능한 세션(resumable sessions)” 기능을 AnyCable Pro에 추가했습니다. 또한, Redis 의존성을 제거하고 NATS 기술을 도입하여 다중 리전 배포 환경에 최적화했습니다. 전기차 충전소 프로토콜(OCPP) 지원, Twilio 미디어 스트림 연동, LLM 응답 스트리밍을 위한 SSE(Server-Sent Events) 지원 등 새로운 산업 및 기술 트렌드에 맞춰 AnyCable의 적용 범위를 확장했습니다.
매니지드 서비스와 미래 비전
2024년, AnyCable은 Rails를 넘어선 다양한 프레임워크 지원(서버리스 JavaScript SDK, Vercel 템플릿)과 함께 매니지드 서비스 출시를 목표로 하고 있습니다. 특히, 이 매니지드 서비스는 Rails로 구축되어 루비 커뮤니티의 큰 호응을 얻었습니다. AnyCable은 초기 3개의 컴포넌트(Go 서버, Rails RPC, Redis)에서 단일 웹소켓 서버 컴포넌트만으로도 사용할 수 있도록 설정을 간소화했습니다. 또한, 오픈소스 버전에 옵트아웃(opt-out) 방식의 원격 측정(Telemetry) 기능을 추가하여 실제 사용 데이터를 기반으로 제품 개선 방향을 모색하고 있습니다. 발표자는 AnyCable이 실시간 기술의 복잡한 백엔드 문제를 해결했지만, 향후 UI 중심의 고수준 추상화(예: 협업 커서, 존재감 표시)와 더 간편한 사용성(제로 설정 설치, 더 많은 가이드) 제공이 필요하다고 강조했습니다. AI 및 로봇과의 협업이 증가하면서 실시간 기술의 필요성이 더욱 증폭될 것이며, AnyCable은 웹 트랜스포트(WebTransport)와 같은 미래 기술 변화에도 대응할 것이라고 밝혔습니다.