Compare all

Push Technology vs Pusher

A comparison of realtime providers

Easily build complete, trusted realtime functionality.

Take our APIs for a spin

Disclaimer: All information is as accurate as possible as of publishing, January 2019. It’s worth noting that the information presented in this article has been gathered based on documentation and resources freely available online from Push Technology and Pusher. Be sure to double-check anything before you make any decisions. If you do find anything incorrect or out of date then please let us know.

That said, the aim is to help you make a more informed decision when it comes to choosing a realtime data streaming or messaging platform. We’ll cover a set of questions we think are essential to ask of any realtime data streaming platform.

Push Technology and Pusher are realtime messaging platforms offering high-throughput and realtime data delivery between online networks of users and services. Like all platforms there are pros and cons of each.

Contents

To help you answer the questions above in relation to Push Technology and Pusher we’ve done our best to perform an unbiased, high-level comparative analysis of both platforms.

Is it globally fast, reliable, and redundant?

Before considering anything else you need to trust your realtime provider can deliver a stable and reliable service that’s easy to implement.

Information provided is from publicly available sources and is intended as a starting point for further investigation. See full disclaimer.

Reliability Push Technology Pusher
Latency of response times Varies between 100ms-250ms+. Check status site for current latencies. No data available.
Uptime SLA Unclear. SLAs offered but no mention of uptime guarantees. 99.9% uptime SLAs for Enterprise plans.
How many globally distributed datacenters? According to the status site Push Technology has at least 3 datacenters across Europe, US, Australia. Six datacenters across six Amazon geographical regions in Europe, USA, Asia Pacific.

However, you must choose a single datacenter to host your app.
Mesh architecture with no central point of failure Unknown. No.
Data replicated in multiple regions Supported on specific plans No.

Application data is stored in a single datacenter, making it more susceptible to data loss.
Quality of Service and message delivery guarantee (never lose data during brief disconnections) No support. No.

If a message is published whilst a client is briefly disconnected (such as going through a tunnel or changing networks), then the message will never arrive to that client.

The comparisons presented here are: (i) derived from public information and open sources available as of January 2019, and thus may be outdated; (ii) intended as a starting point for further investigation; and (iii) not guaranteed to be 100% accurate or complete. The reader is encouraged to conduct an independent evaluation and to not rely solely on the information presented here. Please contact us if you believe the information here is inaccurate or incomplete.

The comparisons presented here are: (i) derived from public information and open sources available as of January 2019, and thus may be outdated; (ii) intended as a starting point for further investigation; and (iii) not guaranteed to be 100% accurate or complete. The reader is encouraged to conduct an independent evaluation and to not rely solely on the information presented here. Please contact us if you believe the information here is inaccurate or incomplete.

What’s the level of platform interoperability?

The modern internet is a web of different languages, platforms, open and proprietary protocols, and services built on top of other services. This isn’t likely to change anytime soon so a platform that supports widespread interoperability is essential in the long-term. There are three questions to help assess how interoperable a platform is:

  • How extensively does the platform support different languages, frameworks, and protocols?
  • How easy is it to migrate to or move away from the platform?
  • Are there protocols for streaming data into third party platforms?

Information provided is from publicly available sources and is intended as a starting point for further investigation. See full disclaimer.

Interoperability Push Technology Pusher
Support for native client libraries/SDKs Limited with only six SDKs covering the most popular platforms/languages (JavaScript, Apple, Android, .Net, C, Java). Wide support with ~30 SDKs.
Support for open source and proprietary protocols (e.g. MQTT, AMQP, STOMP) No support. No support.
Migration and lock-in Does not support proprietary realtime vendor protocols, making it harder to migrate in and away. Does not support proprietary realtime vendor protocols, making it harder to migrate in and away.
Coverage of various languages, frameworks, protocols and transports, including MQTT Supports Kafka. See GitHub. No support.

The comparisons presented here are: (i) derived from public information and open sources available as of January 2019, and thus may be outdated; (ii) intended as a starting point for further investigation; and (iii) not guaranteed to be 100% accurate or complete. The reader is encouraged to conduct an independent evaluation and to not rely solely on the information presented here. Please contact us if you believe the information here is inaccurate or incomplete.

The comparisons presented here are: (i) derived from public information and open sources available as of January 2019, and thus may be outdated; (ii) intended as a starting point for further investigation; and (iii) not guaranteed to be 100% accurate or complete. The reader is encouraged to conduct an independent evaluation and to not rely solely on the information presented here. Please contact us if you believe the information here is inaccurate or incomplete.

How easy is it to get started and scale up?

We all want to work with platforms and technologies that are easy to understand, implement, and then scale. When it comes to realtime platforms you can get a good feel for this by looking at:

  • The user-friendliness of the API
  • The documentation

Is the API easy to use?

Looking at the official Node.js Client, this section compares ease of publishing.

Is the API easy to use: Getting set up with Push Technology
var diffusion = require('diffusion');

diffusion.connect({
    host : 'hostname',
    principal : 'control',
    credentials : 'password'
}).then(function(session) {
    console.log('Connected!');
    // add a topic
    session.topics.add('json', diffusion.topics.TopicType.JSON);
    // Update topic with JSON data
    session.topics.update('json', '{"foo": bar}');
    //subscribe to the topic
    session.subscribe('json').asType(datatype).on({
        value : function(topic, specification, newValue, oldValue) {
            console.log(JSON.parse(newValue.get()));
        },
    });
});

Is the API easy to use: Getting set up with Pusher

Here we use JavaScript to get going with Pusher.

var pusher = new Pusher('APP_KEY', {
  cluster: 'APP_CLUSTER'
});
// Subscribe to a Pusher channel
var channel = pusher.subscribe('my-channel');
// Listen for events on the channel
channel.bind('my-event', function(data) {
  alert('An event was triggered with message: ' + data.message);
});
// Trigger events/send messages from your server using Node.js
var Pusher = require('pusher');
var pusher = new Pusher({
  appId: 'APP_ID',
  key: 'APP_KEY',
  secret: 'APP_SECRET',
  cluster: 'APP_CLUSTER'
});
pusher.trigger('my-channel', 'my-event', {"message": "hello world"});
Which API is best?

Is the documentation any good?

Documentation is the bedrock of understanding and using software, especially for such complicated and essential functionality as realtime messaging. Nowadays this is a really low bar but far too many services still have minimal, incomplete, or no documentation at all. Clear and succinct documentation is usually a good indication that the service is well-designed and you’ll be able to find the information you need. And if they’re using the OpenAPI Specification then that’s a good sign too.

Connectivity and transport

How your data/messages are transported changes the speed of delivery and fundamentally impacts your product or service. A realtime platform provider should always choose the best transport available based on the browser and connection available. The client library should prioritize transports in this order:

How mature is the feature set?

It takes non-trivial engineering effort to adopt a realtime data streaming platform and integrate into your application or service. It’s natural you’ll want to make sure the platform you choose has a mature and full feature set that provides the basic the functionality you’d expect from a realtime platform, provides the features you need right now, and has the functionality to support you as you grow and your needs change.

Below is a feature matrix with a set of standard features you’d expect to see on offer from an established realtime data streaming platform. Push Technology and Pusher are compared side by side against these features.

Information provided is from publicly available sources and is intended as a starting point for further investigation. See full disclaimer.

Features Push Technology Pusher Why does it matter?
Realtime data streaming Yes. Yes.
Message and worker queues No. No.

Pusher does not offer any message queuing features or ways to distribute data using once-only pattern to your server workers.
Message queues that provide a reliable and straightforward mechanism to consume, process, store, augment or reroute data efficiently from a realtime platform.
Webhooks No. Yes. Webhooks provide a means to get messages, channel lifecycle and present events pushed to your servers over HTTP.
Serverless cloud function invocation No. No. Trigger serverless functions on third platforms like Amazon Lambda, Microsoft Azure or Google Function.
Presence No. Yes.

Pusher supports a maximum of 100 members per channel.
Subscribe to events when users or devices enter or leave channels/topics.
Message history Partial. A fixed number of messages can be retained for a small amount of time. A NoSQL cloud database with built-in real-time notifications keeps data synchronized between users. No. Dictates whether clients can access historical activity, catching up on missed messages.
Realtime data firehose No. No. Stream your realtime data published within a realtime platform directly to another streaming or queueing service such as Amazon Kinesis, Apache Storm or Kafka.
Native push notifications Yes. Yes. Send notifications and updates to users even when they are offline.

The comparisons presented here are: (i) derived from public information and open sources available as of January 2019, and thus may be outdated; (ii) intended as a starting point for further investigation; and (iii) not guaranteed to be 100% accurate or complete. The reader is encouraged to conduct an independent evaluation and to not rely solely on the information presented here. Please contact us if you believe the information here is inaccurate or incomplete.

The comparisons presented here are: (i) derived from public information and open sources available as of January 2019, and thus may be outdated; (ii) intended as a starting point for further investigation; and (iii) not guaranteed to be 100% accurate or complete. The reader is encouraged to conduct an independent evaluation and to not rely solely on the information presented here. Please contact us if you believe the information here is inaccurate or incomplete.

Does the platform offer realtime API Management tools?

The demand for realtime apps and experiences is exploding, which is probably why you’re reading this vendor comparison. Current realtime data streaming providers can give you the much-needed core transfer infrastructure for realtime data – but they put the responsibility for managing realtime APIs back onto you, which can get messy and why we all use REST API management tools nowadays.

A couple of extra considerations when you’re choosing a realtime data streaming platform:

  • In addition to the realtime streaming infrastructure, does the platform provide the operational tools you need to stream, manage, and exchange data in realtime? For example, analytics, developer portals, and rate limiting tools.
  • Is end-to-end data delivery supported – from source to subscriber? This might be sending data straight from an IoT sensor to a smartphone, without needing to pass through your own servers first.

A globally distributed data stream network providing an all-encompassing platform with everything you need to build the realtime experiences is the future. Just something to think about.

How secure is the platform and the way it does things?

Security and encryption are front of mind and any realtime platform will have robust security built into their design and delivery. A good general checklist for security is:

Push Technology

Push Technology is secured using a role-based model where permissions control actions performed on the server by client sessions. They offer a Unified API AuthenticationControl feature which allows a control client session to authenticate other client sessions. This is done by sending a principal and a password to the server, which is either granted or denied.

All Push Technology transport protocols support TLS. To ensure passwords and session tokens are not transferred in the clear, TLS is recommended to protect all communication with the server.

Pusher

How responsive and helpful is support?

Even if a platform or product is well-designed and the docs are strong, the nature of software and complex infrastructure means you’ll inevitably need to talk to a human at some point. Whether it’s about pricing, implementation, or a bug – support is a fact of building stuff on the internet. So it’s essential you can rely on responsive, helpful support.

Good indicators are short response times across live chat and email, access to people who understand the nitty gritty technical details of the platform, and an up-to-date support portal for docs. An active community with forums or a group chat can also be a good sign.

Push Technology’s support

Push Technology has everything you’d expect:

However, if you need more extensive support you’ll need to buy a support package. This comes in two flavors.


Push Technology's two support packages

Pusher’s support

A breakdown of what we found of Pusher’s support offering:

  • Ticket-based support with no live chat – most software providers today offer some sort of live chat or support and it’s often a quick two minute chat can point you to the right bit of documentation, saving you time searching yourself
  • The help centre is solid with the expected FAQ style
  • Most of the pricing tiers have target response times:
    • Startup and pro pricing: target response within 72 hours
    • Business and premium: target responses within 48 hours
    • Enterprise: standard for the industry but quite the bump compared to Pusher’s other tiers with 24/7 support, phone support, and a dedicated Slack Channel

How clear, flexible, and scalable is the pricing structure?

Pricing for realtime platforms should be flexible and scalable. Rigid pricing tiers with fixed quotas on messages and concurrent connections often result in huge price jumps when you hit arbitary limits. It can even impact on your service availablity if the realtime provider locks you out once you hit your limits. This can be a huge pain when you’re trying to grow your business or have a service with unpredictable spikes. And it often works against you when you want to scale up capacity because the price changes are so dramatic. Not good.

When it comes to testing the service out, a generous free tier is helpful as it enables you to do some real stuff with your service and properly evaluate whether the provider can deliver what you need.

Push Technology

Push Technology takes a different approach: a limited self-hosted version and a cloud version.


Push Technology pricing options

Both platforms charge roughly ~$1 per million messages sent outside of your agreed limits.

To better understand the pricing models and what you get let’s look at some examples.

Example one

A chat application with 100,000 users/month, each averaging two ten-minute chat sessions with 20 messages averaging 1KB in payload in each direction between customer and operator. The application has around 3,000 concurrent users at any one time.

For Realtime.co, the app would result in the following:

  • 20 messages * 2 sessions * 100,000 messages = 4,000,000 messages
  • Total cost = $30

This would be covered under the $30/month plan as it can take 3,000 concurrent users and 31 million messages a month.

For Push Technology, the app would result in the following:

  • 20 messages * 2 sessions * 100,000 messages = 4,000,000 messages * 1kb data = 4GiB
  • cost of data = 4GiB * $1 = $4
  • Total cost = $75 + $4 = $79

3,000 concurrent users would be covered on the $75/month plan but data for messages would be charged extra.

Example two

This one’s an app where you can hail cabs with your smartphone. When you request a ride the backend checks which drivers are online by using the `here_now()` call. Online drivers are alerted and accept a trip. Once matched, the driver’s location is published twice per minute to the user. An average ride lasts 15 minutes. There’s an average 100 concurrent connections and 30 rides a day.

For Realtime.co, this would result in the following:

  • 100 concurrent connections
  • 30 messages publishing and receiving latitude/longitude from driver to rider = 31 messages * 30 rides = 910 messages per day * 30 = 27,300 messages per month
  • Total cost = $30

For Push Technology, this would result in the following:

  • 100 concurrent connections
  • 30 messages publishing and receiving latitude/longitude from driver to rider = 31 messages * 30 rides = 910 messages per day * 30 = 27,300 messages per month at average of 1KiB / message = 0.0273 GiB
  • Total cost = $35 + $0.013718593 = $35.013718593.

Note that for Push Technology this would actually be covered under the free plan.

Pusher


Fanout pricing options

Pusher prices its three products – Channels, Pusher Beams (aka push notifications), and Pusher ChatKit – separately and in tiers. If you’re looking for modular implementation this can be helpful. However, it can be frustrating to try and get a single overview if you wanted to adopt two or more – which many developers will want to do. And tier-based pricing isn’t the most flexible.


Fanout pricing options

The main issue with Pusher’s pricing is tiering. The nature of realtime messaging and streaming data means connections, required channels, and messages often fluctuate. Plus it’s never easy to estimate how much you’ll need upfront anyway – especially true for realtime uses such as HQ-style games or live event/sports apps.

With this pricing model if you exceed any one attribute of a tier you’ll likely be forced into another more expensive tier. For example, moving from Pro to Business hikes the price from $99 to $299 per month. A better way is usage-based pricing where you only ever pay for capacity you’ve actually used.

Then there’s Beams.


Pusher Beams pricing options

Again, Beams is based on tiers rather than usage. There’s quite a difference between 10,000 devices for $99/month and up to 50,000 devices for $399/month. If you need 11,000 devices it looks like you’d need to fork over another $300 for only 1,000 more devices, which doesn’t make much sense. It’s possible there’s room for flexibility if you get in touch with Pusher.

Finally there’s ChatKit.


Pusher Chatkit pricing options

Once again, the major problem lies in concrete tiering with little room for manoeuvre. Depending on where your customers reside data protection could be an issue with only 90-day retention the standard for business tiers.

Overall Pusher’s rigid pricing tiers don’t seem to encourage growth or provide a joined-up view of data streaming costs. That said, Pusher’s pricing is simple and easily understood.

To sum up, Fanout is a cheaper alternative to Pusher. However, the pricing schemes of both providers require users to look carefully at what their streaming needs are now, and in future, to make sure invoices remain free of unpleasant surprises.

Which platform is best?


Compare these companies with other realtime providers