Ably vs. Replicache: Realtime collaboration solutions compared

Discover why Ably is the better choice for building scalable, multiplayer collaboration experiences with superior quality of service guarantees.

Copy link to clipboard

What is Ably?

compare-page-ably.svg

Ably is a realtime experience platform. Founded in 2016, our realtime APIs and SDKs help you create multiplayer collaboration and a host of other realtime experiences ‘in-app’, without having to build the underlying infrastructure.

Ably’s Spaces, Pub/Sub Channels and LiveSync (coming soon) products can be used separately or in combination to not only unlock end-to-end realtime messaging but to create a host of collaborative features including: live avatar stacks, live cursors, member locations, live updates, component locking, annotations, chat, comments, notifications and more. 

Ably’s Spaces SDK powers the features you need to enable synchronous collaboration for teams and manage their participant state.

Our upcoming product LiveSync helps you deal with app state management between the frontend and your own backend systems with ease.

Learn more about Spaces Get started with a free account

Copy link to clipboard

What is Replicache?

compare-page-replicache.svg

Replicache logo

Launched in 2022, Replicache is a framework for creating multiplayer web applications. It allows you to connect your data model and your UI with your own backend that takes care of handling data transactions. By doing so updates are handled quickly, eliminating the need for any kind of waiting indicator.

Copy link to clipboard

Ably vs Replicache: platform & feature comparison

Copy link to clipboard

Performance, reliability, scalability, and messaging guarantees

Before considering anything else, you need to trust your realtime collaboration platform provider can deliver a dependable user experience at scale. Performance, reliability, scalability, and superior messaging guarantees are critical factors for any solution that enables the building of collaborative applications. These characteristics directly impact the user experience and can make or break the success of any realtime collaborative experience.

Feature/Capability

Ably

Replicache

Uptime guarantee

99.999% uptime SLA for all paid pricing plans.

See the Ably service status page.

No.

You have to bring your own backend. This means guarantees are dependant on backend implementation.

Latency

<65ms round-trip latency (P99).

Learn more about Ably’s predictably low latencies.

Benchmark figures are only available for client-side operations. In this regard they have and average push-pull round trip latency 100’s ms.

On the backend, their solution requires a) enforcing that mutations on a model are executed sequentially and b) requires an extra round trip (“pull”) with each change.

Scalability

Practically limitless. We are only limited by the amount of capacity that Amazon AWS can provide us.

That’s why Ably is able to send billions of messages to millions of concurrently-connected devices, over millions of pub/sub channels. 

Note that every component of the Ably service affected by increased load is designed to automatically scale pre-emptively to meet demand.

Learn more about using Ably at scale.

Client-side it is practically limitless.

On the backend it is very much dependant on how it has been implemented.


Global edge network

Ably has data centers in 7 regions:
- Singapore
- Ireland
- Germany (Frankfurt)
- Ohio, US
- North Virginia, US
- California, US
- Australia (Sidney)

Our network also consists of 385 edge acceleration points of presence (PoPs) distributed all over the world.

Learn more about Ably’s infrastructure.

No.

You have to bring your own backend. Developers would have to build out global edge network.

Multi-region architecture

Yes.

The Ably service comes with a globally-distributed, multi-region mesh architecture, with no single point of congestion, and no single point of failure.

Key capabilities:
- Data replication across multiple regions.
- Latency-based DNS routing, thus minimizing latency and ensuring maximum performance for clients no matter their location.
- Binary encoded messages to further optimize performance.
- Self-healing clusters and automatic routing around network and server failures.
- Dynamic elasticity and automatic scaling to meet any demand.

Learn more about Ably’s globally-distributed architecture.

No.

You have to bring your own backend. Developers would have to ensure multi-region data replication.


Guaranteed message ordering

The order in which subscribers receive messages on a channel anywhere in the world will always be the same order that the messages were originally published.

Yes.

Explore Ably's guaranteed message ordering implementation.

No.

You have to implement yourself in the backend.

Guaranteed message delivery (exactly-once)

Ensures the message can neither be lost nor delivered twice (or more times).

Yes.

Learn how you can achieve exactly-once semantics with Ably.

No.

It's the developers responsibility to implement this in the backend.

Automatic reconnections with continuity

Yes.

Explore Ably's implementation of automatic reconnections with continuity.

Can work in ‘offline’ mode - Applications can go offline for hours or days and sync up smoothly when they come back online.

However as per their docs: “Note that the potential for serious conflicts grows the longer users are disconnected from each other. While Replicache will converge all clients to the same state, it won't always produce a resolution users would be happy with.”

Workspace capacity

200 presence members per channel - expandable upon request.

N/A - no concept for creating rooms/workspaces for members to join.

Copy link to clipboard

Collaboration features

End-users are coming to expect a number of core multiplayer features to facilitate ‘in-app’ collaboration and enhance the team-work experience - live avatar stacks, live cursors, live locations, live updates, field locking and more.

You’ll want to make sure the platform you choose has through the architectural challenges of integrating these features, so you can focus on the UX.

Collaborative features

Ably

Replicache

Create a collaborative space

A space is a virtual area of your application defined by you. Realtime collaboration between users takes place in the space, and any number of spaces can be defined in your application. A space can be anything from a web page, a sheet within a spreadsheet, an individual slide in a slideshow, or the entire slideshow itself.

How to create or retrieve a Space.

No.

Replicache doesn’t provide APIs for any specific features.

Avatar stack

Display an avatar stack to show the online status of end-users within a space - online and connected.

How to show online status of members.

No.

Live cursors

Display the location of end-users' cursors in realtime, within a space.

The live cursor API automatically batches messages and provides the message rate required for smooth performance of 100s of simultaneous cursors.

How to track the cursors of members.

No.

Member location

See which part of a space end-users are interacting with by displaying which component they have selected, or are viewing. A location could be a cell, a field, a slide or anything else in your application.

How to track member location.

No.

Component locking

Ably’s component locking API enables end-users to optimistically lock specific UI components while making their edits, so there’s no confusion with other collaborators or disruption to overall collaboration in the space.

How to lock UI components.

No.

Copy link to clipboard

Realtime features

Creating a collaborative environment around your applications is often just one of the many realtime experiences users have come to expect.

If you are looking to incorporate realtime chat, broadcast updates, sync data and more, you need to select a platform that can support what you need.

Realtime features

Ably

Replicache

Presence

Presence provides the functionality to identify and communicate individual behavior in realtime. It allows you to be aware of other clients that are currently “present” on a channel, synchronizing online user state across devices.

Presence Docs.

No.

You’d need to use a third party like Ably or implement in the backend model.

Flexible pub/sub messaging

Yes.

Ably offers reliable, low-latency pub/sub messaging that can enable serverless communication - with guaranteed message delivery.

No.

You’d need to build own backend or use a third party like Ably.

History

We retain two minutes of message history as a default, so if clients disconnect they can properly catch up upon reconnection. Useful for chat or live feeds. You can choose to persist the last message for up to 365 days. Persisted messages retain ordering.

We also enable customers to plug in their own database to get messages beyond what’s retained in our history.

History docs.

No.

With Replicache the developer is responsible for storing a version history of state in their backend which is used to construct a series of patches to send to the client when they request the latest changes.

So you essentially implement your own history.

Channel rewind & persistence

Channel rewind and persistence simplify the problem of joining a collaborative session “late” and needing to catch up on edits.

Persistence & rewind docs.

No.

With Replicache the developer would need to implement this in their backend.

Push notifications

Send push notifications directly to collaborator's devices, regardless of whether they are currently active in the app or not.

Push notifications docs.

No support for push notifications.

Message interactions

Makes it very easy to interact with messages previously sent to a channel. This comes in handy if you’re building in a comment feature where users can interact with a message – for example by ‘liking’, replying, quoting, or adding an emoji reaction.

Message interactions docs.

No.

There’s no specific concept of modelling messages/reactions in Replicache, it's more general purpose.

Conflict‑free data types

No.

Avoid conflicts through field locking, using presence. Enables multiple users to edit the same document at the same time - locking cells, fields, sections.

You can integrate yjs with Replicache model but they have detailed some challenges.

Copy link to clipboard

Supported languages, integrations, and protocols

Look for platforms that offer SDKs in your preferred language and seamless integrations with your backend.

Feature

Ably

Replicache

SDKs

25+ realtime (and REST) client library SDKs targeting every major language and development platform:
- Android
- Flutter
- Java
- Scala
- Objective-C (iOS)
- Swift (iOS)
- MacOS
- tvOS
- JavaScript
- Node.js
- NativeScript
- React Native
- Clojure
- Cordova/PhoneGap
- Go
- Kotlin
- Laravel
- PHP
- .NET
- Mono
- Unity
- Xamarin & Xamarin forms
- Python
- Ruby

In addition, we also provide MQTT, message queue (AMQP), and STOMP client libraries. 

Download an Ably SDK.

Supports the following:

Frontend

- JavaScript

Backend

- Can be anything - developers have to undertake implementation work.


3rd party integrations

We offer a wide variety of integrations, so you can easily connect Ably to your preferred tech stack.

Webhooks
- Custom
- IFTTT
- Zapier

Serverless platforms
- AWS Lambda
- Cloudflare Workers
- Google Cloud Functions
- Azure Functions

Streaming & queuing platforms
- Apache Kafka
- Apache Pulsar
- Amazon Kinesis
- Amazon SQS
- RabbitMQ
- AMQP

(NEW) You can automate the provisioning, management, and testing of Ably realtime infrastructure via our Terraform integration.

Replicache has examples and docs for integrating with:
- Websockets
- React
- Superbase
- Next.js
- yjs


Protocols

The Ably protocol, which is used for realtime communication between the Ably servers and client SDKs is WebSocket-based. Note that we offer fallback transports such as XHR Streaming and XHR polling, for environments where WebSockets aren’t supported.

We believe interoperability is key, so we also support additional protocols:
- HTTP
- Server-Sent Events
- MQTT
- AMQP
- STOMP

Explore the protocols supported by Ably.

Developers can choose. For push/pull this is a request/response model so typically HTTP. For ‘poke’ you need a realtime connection so need to integrate with a third party WebSocket platform like Ably.

Copy link to clipboard

Security and compliance

Security and compliance are front of mind for many collaborative use cases. Encryption, authentication, roles and permissions, and compliance with standards like SOC 2 are essential requirements for any collaborative multiplayer solution.

Feature

Ably

Replicache

Encryption

TLS encryption.

256-bit AES encryption using private keys. This way, message payloads are opaque, can never be decrypted by Ably, and can only be decrypted by other clients that share your secret key (end-to-end encryption).  

Learn more about Ably's encryption.

No.

Authentication

Yes.

Ably authentication capabilities:
- API keys (basic authentication). Recommended to be used server-side. 
- Tokens with fine-grained access controls for the client-side. Note that Ably supports ephemeral & revokable tokens, and JWTs. 

Learn more about Ably’s authentication mechanisms.

No direct authentication support, this is something developers would do when implementing the backend (i.e. authenticate requests to push/pull endpoints in HTTP API).


Configurable permissions

Yes.

Ably allows you to set various permissions for API keys and tokens (e.g., right to subscribe to channels and presence events, right to publish, right to retrieve message history).

Explore Ably's configurable rules and permissions.

No - this is something developers would do when implementing the backend.

Compliance

SOC 2 Type 2, HIPAA, GDPR, EU and US-only data storage.

Learn more about Ably’s security and compliance.

Unknown - could not find any documentation on this.

Data governance

Data governance is not a concern with Ably. We only store data such as chat messages for short periods of time (2 minutes in case persistent data isn’t enabled, and up to 72 hours if it is enabled). 

We offer integrations with tools like Kafka, Amazon Kinesis, Amazon SQS, and we support queues and webhooks, so you can easily move your chat data into your own long-term storage, and govern it as you see fit. 

Developers can bring their own backend and use it with whatever database they want, with the caveat that the database must support serialisable transaction isolation.

Copy link to clipboard

Pricing and support

Is the pricing model flexible, scalable, and clear? What support options are available?

Feature

Ably

Replicache

Free package

Our free package allows you to build a proof of concept and explore Ably’s features.

The free package comes with:
- 6 million monthly messages.
- 200 peak concurrent channels.
- 200 peak concurrent connections.

No credit card required.

Get started with a free Ably account.

Replicache is free to use for non-commercial projects, or for companies with < $200k revenue (ARR) and < $500k in funding.

Pricing model

There are 2 paid tiers: Pay As You Go, and Committed Use. 

Pay As You Go pricing is calculated as follows:
- $2.50 / million messages.
- $15.00 / thousand peak concurrent channels.
- $15.00 / thousand peak concurrent connections.

Compared to the Free tier, the Pay As You Go plan offers a couple of extra benefits, such as data replication across regions, and a 99.999% uptime SLA.   

If you are looking to exceed 25.000 channels, 25.000 connections, or 2.5 billion messages, we recommend the Committed Use tier.

Similar to the Pay As You Go tier, Committed Use offers a 99.999% uptime SLA. In addition, it comes with volume discounts and add-ons like:
- Premium support.
- Active traffic management.
- Dedicated private cluster.
- HIPAA compliance.
- EU/US-only traffic.
- PrivateLink.
- SSO.
- Customized rate limits.

Learn more about Ably’s pricing.

For other commercial projects, the first two months are free, and then we charge based on the number of monthly active profiles.

Monthly Active Profiles:
< 1k = $500
<10k = $1,250
<100k = $3,000
≥ 100k = $7,500

You can have a source licence if you have over 10k monthly active profiles.

Customer support

Customer support is included in the package you choose - Free, Pay As You Go, or Committed Use (we don’t charge extra specifically for support).

Live chat and email support are available for all Aby users, irrespective of their plan. 

The Committed Use plan comes with additional support channels and benefits, including:
- Full architectural review & guidance.
- Critical incident escalation pager facility.
- Direct access to Ably engineers.
- Support over Slack and phone.
- Dedicated customer success manager.

For the Free and Pay As You Go plans, support is available between 9AM-5PM (UK & US East business hours). Meanwhile, for Committed Use customers, support is available 24/7, all year round. 

Guaranteed response times:
- Best effort for users on the Free plan.
- 1 day for Pay As You Go customers.
- 1 hour for Committed Use customers.

View Ably support options.

Via email, Twitter or Discord only.

Note: This comparison was created based on documentation and resources freely available online. The content was last updated on 11th October 2023. Be sure to double-check everything before you make any decisions. If you do find anything incorrect or out of date, then please let us know.

compare-page-powered-by-ably.svg

Power not only collaborative features, but all your realtime needs with Ably

Unlike Replicache, Ably goes far beyond multiplayer experiences. We can help you with many other realtime use cases:

  • Broadcast realtime event data, such as live scores and traffic updates.

  • Enable conversations in realtime with live chat, from customer support to live streaming.

  • Deliver cross-platform push notifications at scale.

  • Keep your backend and frontend in realtime sync.

  • Add realtime asset tracking capabilities to urban mobility and food delivery apps.