Ably vs. Stream: A head-to-head comparison for chat use cases

Discover why Ably is the better choice for building scalable, feature-rich chat experiences with superior quality of service guarantees.

Contents

Copy link to clipboard

What is Ably?

compare-page-ably.svg

Ably is a realtime experience infrastructure provider. Our realtime APIs and SDKs help you build live chat experiences, without having to worry about managing and scaling messy realtime infrastructure. 

Our globally-distributed, multi-region network offers unrivaled guarantees around performance, data integrity, reliability, and scalability:

  • <65 ms median latency.

  • Guaranteed message ordering and (exactly-once) delivery, even in unreliable network conditions.

  • Redundancy at regional and global levels, with a 99.999% uptime SLA.

  • Dynamic elasticity, with the ability to send billions of messages to millions of channels and chat users.

We offer flexible building blocks like pub/sub messaging, presence, and message interactions, so you can build rich 1:1 and group chat experiences, with diverse features, including online/offline status indicators, reactions, typing indicators, read receipts, and many more. 

Explore our chat apps guide Get started with a free account

Copy link to clipboard

What is Stream (formerly GetStream)?

compare-page-stream.svg

Founded in 2015, Stream is a PaaS that provides APIs and SDKs which allow developers to build and embed live chat and activity feeds into their web and mobile applications.  

Stream's product for building realtime in-app chat is called Stream Chat. It’s an API-based service that gives developers tools to add realtime, 1-on-1, and group chat functionality to their apps. 

Copy link to clipboard

Ably vs Stream Chat: feature comparison

The purpose of this comparison is to help you make a more informed decision when it comes to choosing the best chat solution for your project. We’ll cover a set of topics we think are essential to ask of any technology that helps you deliver chat experiences.

Copy link to clipboard

Performance, reliability, scalability, and messaging guarantees

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

Feature/Capability

Ably

Stream Chat

Uptime guarantee

99.999% uptime SLA for all paid pricing plans.

See the Ably service status page

99.95% uptime SLA for customers with the Business support plan.

99.999% uptime SLA exclusively for enterprise customers.

Latency

<65ms round-trip latency (P99)

Learn more about Ably’s predictably low latencies

It’s hard to estimate exactly what kind of latencies you'll deal with when sending/receiving chat messages.

Some users may deal with significantly increased latencies compared to others, as all traffic for a chat app is routed through a single datacenter. For example, if your app is hosted in US East, and you have a chat user from the US, and one from India, the latter will experience increased latency compared to the former.

There is some info about how long it takes to establish a new connection to the Stream Chat service, so you have an idea of what to expect.

Connect latency from Amsterdam to US East (P99):
- 359ms (edge servers)
- 1155ms (regional proxy)

Connect latency from Amsterdam to Mumbai (P99):
- 219ms (edge servers)
- 2197ms (regional proxy)

Connect latency from Amsterdam to Singapore (P99):
- 255 ms (edge servers)
- 3112ms (regional proxy)

Scalability

We are only limited by the amount of capacity that Amazon AWS can provide us, which is practically limitless. 

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

Claims it can handle 5 million+ concurrent connections in a single channel.

Infrastructure / datacenters

Ably has datacenters 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

Stream Chat is hosted on AWS in several regions:
- US East
- EU West
- Singapore
- Mumbai
- Tokyo

Stream chat infrastructure also consists of multiple edge servers (unclear how many). These servers have a single purpose: they help reduce the time it takes to establish a new connection / connect to Stream Chat (however, they are not responsible for processing and storing chat data). 

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

Even though Stream Chat is hosted in several different regions, it’s not a multi-region solution. You are required to pick just one datacenter for your app; all associated data will be stored and processed there. Data is not replicated in other regions, nor are you able to migrate your app to another region. 

This single-region design has a negative impact on latency (if your chat users live in different parts of the world), reliability, and availability (single point of congestion and failure).

Guaranteed message ordering

Yes

Explore Ably's guaranteed message ordering implementation

Unknown

We have not identified any documentation that indicates whether or not Stream Chat guarantees message ordering.

Guaranteed message delivery (exactly-once)

Yes

Learn how you can achieve exactly-once semantics with Ably

Unknown

We have not identified any documentation that indicates whether Stream Chat supports exactly-once, at-most-once, or at-least-once delivery.

Automatic reconnections with continuity

Yes

Explore Ably's implementation of automatic reconnections with continuity

Unknown

We have not identified any documentation that indicates if Stream Chat supports automatic connection recovery with guaranteed stream continuity (message ordering and delivery).

Copy link to clipboard

Chat features

It’s natural you’ll want to make sure the platform you choose for chat has a robust feature set, provides the functionality you need right now, and has the functionality to support you as you grow and your needs change. 

Feature

Ably

Stream Chat

1-to-1 chat & group chat

Yes

Ably offers pub/sub channels, a flexible pattern that’s ideal for 1-to-1, 1-to-many (broadcast), and many-to-many chat communication.

Learn more about Ably’s pub/sub channels

Yes

Private and public group chat

Yes

Ably allows you to set various permissions for authentication tokens, so you can control which clients have access to any given chat channel.  

Learn more about Ably’s token permissions

Yes

Chat UI components

We don’t provide chat UI components, but you can easily integrate Ably into whatever frontend presentation tier you want, regardless of framework or client technology. 

This way, you have full freedom to customize the presentation tier and UX of your chat app.

Yes

Push notifications

Yes

Ably provides a unified API to deliver notifications, including native iOS and Android push notifications.

Explore Ably's push notifications

Yes

Message history (persisted data)

Yes

If persisted history is not enabled, Ably retains the last two minutes of instantaneous “live” message history in memory. 

If persisted history is enabled, messages will be stored on disk for up to 72 hours. 

You can also persist the last message published on a channel for up to one year.

Learn more about Ably’s message history

Yes

Rewind / load previous messages

Yes

Explore Ably’s rewind capability

Yes

User presence

Yes

Explore Ably's presence implementation

Yes

Advanced features

With Ably, you can build chat experiences with rich features, including:
- Online/offline status
- Last seen indicators
- Emoji reactions
- Edit/delete messages
- Typing indicators
- Threads
- Read receipts
- Avatar stack
- Chat admin privileges

Explore Ably’s chat apps reference guide to find out more

Diverse feature set, including:
- Typing indicators
- Read receipts
- Reactions
- Unread message count
- Message states
- Threaded conversations
- Message and user moderation (e.g., image moderation, ban users)
- Media attachments and resizing
- Offline messages

Copy link to clipboard

Supported languages, integrations, and protocols

The modern internet is a web of different programming languages, platforms, protocols, and services built on top of other services. This isn’t likely to change anytime soon, so a chat provider that offers SDKs in different languages, 3rd party integrations, and multi-protocol capabilities is what you should be aiming for. 

Feature

Ably

Stream Chat

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

9 client SDKs:
- React 
- React Native
- Kotlin
- iOS / Swift
- JavaScript
- Flutter
- Java / Jetpack Compose / Android
- Unreal
- Unity

There are backend SDKs (for actions like generating user tokens) in 7 programming languages:
- Node.js
- Python
- Ruby
- PHP
- Java
- .NET
- Go

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.

Explore Ably's library of integrations

Limited:
- Integrations with 100ms and Agora for in-chat calling.
- Integration with Dolby.io for audio and video support in chat apps.
- Webhooks (to react to slash commands, push events to your server application, and modify/moderate message content). 
- Amazon SQS integration (you can send event payloads to an Amazon SQS queue).

Stream Chat doesn’t offer any integrations with components like databases, event streaming platforms (e.g., Kafka), or serverless platforms, which are often used as part of a wider event-driven ecosystem.


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

Stream Chat uses WebSocket connections to propagate chat events to clients in realtime. Long polling is supported as a fallback transport.

Stream Chat doesn’t support any other messaging protocols, such as MQTT, SSE, or AMQP.

Copy link to clipboard

Security and compliance

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

Feature

Ably

Stream Chat

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

Data at rest is encrypted using AWS KMS CMK (Customer Managed Keys).

Data in transit is encrypted with TLS. 

No native support for end-to-end encryption.

Authentication

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

Stream uses JWTs to authenticate chat users. Note that you will need to implement a Token Provider before deploying your application to production.

Configurable chat roles & 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

Yes

Compliance

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

Learn more about Ably’s security and compliance

ISO 27001, HIPAA, GDPR, SOC 2.

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. 

Data is stored by Stream.

Copy link to clipboard

Pricing and support

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

Feature

Ably

Stream Chat

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

30-day trial, which supports a maximum of 1.000 monthly active chat users (MAUs) and 200 concurrent connections.

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

There are 4 paid tiers:
- Startup ($499/month). 10.000 MAUs, 500 concurrent connections.
- Standard ($1299/month). 25.000 MAUs, 1250 concurrent connections.
- Premium ($2299/month). 50.000 MAUs, 2500 concurrent connections.
- Enterprise (custom pricing). 100.000 MAUs, 5000+ concurrent connections.

All core features and unlimited message storage are included with all tiers. Some paid add-on upgrades are available for the Enterprise tier (e.g., 24/7 emergency phone, SAML/SSO). 

Pricing increases if you exceed the number of allowed MAUs and concurrent connections. Overage rates are as follows:
- $0.08 per user, $0.75 per concurrent connection (Startup).
-  $0.08 per user, $0.65 per concurrent connection (Standard).
- $0.04 per user, $0.55 per concurrent connection (Premium). 
- Custom pricing for Enterprise.

Note that you will also be charged for images and files (the same price applies to all plans):
- Bandwidth. $0.12 per GB.
- Storage. $0.05 per GB.
- Resized images. $4 per 1.000 images.
- Video preview images. $4 per 1.000 images.

There are also additional fees (unclear how much) to be paid if you wish to use advanced moderation functionality.

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

Developer support plan
- No uptime guarantee
- Ticket/email support

Business support plan
- 99.95% uptime SLA
- Slack support in addition to email/ticket support.
- 4-hour response time for critical issues, and 3 days for non-critical issues

Enterprise support plan
- 99.999% uptime SLA
- 24/7 support in addition to Slack and email/ticket.
- 2-hour response time for critical issues, and 2 days for non-critical issues.

The Enterprise support plan applies to the Enterprise pricing tier. It’s unclear how the 2 other support plans map to pricing tiers. It’s also unclear how much you have to pay for support.

Note: This comparison was created based on documentation and resources freely available online. The content was last updated on 15 Feb 2023 for Stream Chat, and on 23 Feb 2023 for Ably. 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.

Copy link to clipboard

Learn how organizations benefit from using Ably to deliver live chat experiences

HubSpot relies on Ably to power live chat between 128.000 businesses and their customers across 120 countries. 

Ably has proven highly cost-effective, delivering a 60% upfront CAPEX saving and a further $300.000 saving every year in reduced infrastructure and engineering costs, compared with a self-built solution. Read HubSpot case study.

Ably makes realtime just work – without it, our product would literally stop working - but it is so much more than that. Ably is now a business-critical part of our organisation-wide infrastructure and a key innovation partner that our engineers really like working with. The support and communication are just outstanding and that is huge for us - we really see Ably as a partner in our growth.

Max FreiertProduct Group Lead

With Ably’s help, Guild is able to deliver seamless live chat experiences for more than 5.000 professional communities and groups. 

Ably has helped Guild cut time to market by months, and reduce development costs by an estimated £75.000+. Backed by Ably’s realtime infrastructure, Guild has enjoyed stellar growth - up to 500% year on year since launch. Read Guild case study.

cust-logo-guild-mono-inv.svg

Traditional ‘chat-in-a-box’ messaging apps are quite prescriptive. For Guild’s community and networking features, we wanted realtime infrastructure that could expand standard chat functionality. Using Ably infrastructure from the start of our product development process meant we could be sure we weren’t going to be constrained when it came to implementing innovative features. Ably’s enterprise functionality allows us to tailor realtime innovations specific to the use cases of our different customer groups.

Ashley FriedleinCEO & Founder

compare-page-powered-by-ably.svg

Power not only chat, but all your realtime use cases with Ably

Unlike Stream Chat, Ably goes far beyond live chat experiences. We can help you with many other realtime use cases: