|Why it matters?|
|Global datacenters locations||7||11 geographic regions||
As we have 7 datacenters globally and 307 edge acceleration points-of-presence (PoPs), we can ensure that your users always experience the lowest possible latency by connecting to the closest datacenter, and have complete availability by connecting to alternative healthy datacenters when necessary.
Amazon IoT benefits from Amazon’s global datacenter operations which includes 11 geographic regions.Find out more about Ably's datacenters
|Latency based routing||Limited||
Our latency based routing ensures that users anywhere in the world connect through one of our 307 edge acceleration PoPs to one of our 7 Ably datacenters.
Amazon IoT is offered on a per region basis and is not offered as a global cluster. Therefore latency based routing does not apply.Find out more about Ably's latency based DNS
|Binary encoded messages||
Encoding messages in binary format is faster. It reduces bandwidth to send and receive messages, and streamlines the processing time for clients and servers when encoding and decoding messages.
AWS IoT does not support binary encoded messages, although MQTT itself is a binary protocol.Find out more about our binary protocol
|Redundancy and Reliability|
|Mesh architecture / no central point of failure / self-healing cluster||Limited||
The Ably platform is designed with no single point of failure and to be self-healing. All our customers benefit from their apps running on all of our datacenters providing resilience, reliability and low latencies globally.
Amazon IoT stores all topic and message information across Amazon’s network of infrastructure in the chosen region. Whilst it is likely that within that region the IoT platform runs with a mesh-like architecture, a single point of failure exists for that region.Find out more about Ably's mesh architecture
Ably's servers are located in 7 datacenters covering 4 continents with each datacenter designed to operate as part of the global cluster when available, but operate autonomously when necessary.
Amazon’s IoT service operates in multiple availability zones in each region.Find out where Ably's servers are located
|Data replicated in multiple regions||
Ably stores every message in at least 2 datacenters and separate geographical regions. This ensures that an outage in any datacenter or region cannot result in data loss.
Amazon IoT stores at least 3 copies of the data across multiple availability zones but these will all be within one geographical area. Ably ensure data is replicated across 2 distinct geographical regions thus an outage in an entire region would not put your operations at risk.Find out about Ably's QoS and message delivery guarantee
|QoS & message delivery guarantee||Partial||
Ably provides guaranteed message delivery and continuity across disconnections. Publishers only receive an ACK when data is persisted in two locations, and subscribers never lose data during brief disconnections as we maintain connection state for each client on our servers.
On the delivery end, Amazon IoT implements a 4-phase retry policy in order to deliver messages when the subscribing endpoint is not available. However, as message publishing is performed over HTTP 1.1, it is impossible to guarantee a message won’t be delivered more than once if the initial publish request is terminated abruptly.Find out about Ably's message delivery guarantee
|Uptime SLA guarantees||
Ably offers varying levels of uptime guarantees depending on your needs. For all of our enterprise customers we provide a 99.999% uptime SLA.
Amazon IoT does not offer a specific SLA thus if the service goes down or fails then you are entitled to no refunds.Find out about Ably's uptime guarantees
|Message and worker queues||
Data published into Ably's realtime system can be moved into traditional message queues for realtime or batch processing.
Amazon IoT integrates with Amazon SQS (Simple Queue Service) in order to offer traditional message queue functionality.Find out more about Ably Queues
Ably's Webhooks provide a means to get messages, channel lifecycle and present events pushed to your servers over HTTP.
Amazon IoT also supports Webhooks.Find out more about Webhooks
|Serverless cloud function invocation||Partial||
Ably can trigger serverless functions on any third party platforms such as Amazon Lambda, Microsoft Azure or Google Function.
Amazon IoT only offers serverless cloud functions on their Amazon Lambda platform thus reducing the options available to you. Ably is able to integrate across all serverless functions thus utilising the platform that is most suited to your business.Find out more about Webhooks
Presence allows you to subscribe to events when users or devices enter or leave channels. This is a useful feature for collaborative apps, games and chat rooms.
Amazon IoT allows you to use lifecycle events to keep track of specific devices. However, there is built-in no feature to register a number of devices / clients’ presence on a single channel.Find out more about Presence
Ably's message history feature provides a means for clients or servers to retrieve messages that were previously published on a channel.
Amazon IoT does not support message history. Only the latest device shadow can be accessed.Find out more about our History API
|Realtime data firehose||Limited||
Stream your realtime data published within the Ably platform directly to another streaming or queueing service such as Amazon Kinesis, Apache Storm or Kafka.
Amazon IoT also allows you to send data directly to their own streaming and queueing services, but not other third party services such as Kafka or AMQP.Find out more about our Firehose
|Reliable message ordering||
Ably ensures that messages are delivered to persistently connected subscribers in the order they were published on each channel.
Amazon IoT does not provide this feature and states “There is no guarantee that messages from the AWS IoT service will arrive at the device in any specific order.”Find out more about reliable ordering
Ably can offer push notifications, as can Amazon IoT through Amazon SNS.Find out more about Push Notifications
|Custom domain endpoint (CNAME)||
Ably supports custom domains for our Enterprise customers allowing them to connect to Ably using a CNAME such as "realtime.your-company.com".Find out more about our custom domains
|Client libraries and protocol support|
|Native client libraries for every popular platform||
Ably offer a considerable range of client libraries for every popular platform.View our client library SDKs
|Ably protocol support||
Ably's realtime protocol provides an efficient means to reliably and efficiently publish and subscribe to realtime data.
aws-iot supports their own protocol.See which libraries natively support the Ably protocol
|MQTT protocol support||
The Ably platform is designed to be protocol-agnostic and ensure protocol interoperability. As the primary protocol used for AWS is MQTT, Ably does support the AWS IoT protocol./protocols
|SSE protocol support||
The Ably platform is designed to be protocol-agnostic and ensure protocol interoperability. That's why we support SSE. AWS IoT doesn't support SSE.Find out which protocols we support
Using our protocol adapters, our customers can use a large selection of compatible embedded client libraries for low energy and other embedded devices. Additionally, Ably supports MQTT enabling a wide range of embedded client library SDKs to be used./protocols
|White-label browser library||
|Continuity and connection state recovery||Partial||
Ably provides continuity for clients that become disconnected for reasons such as going through a tunnel or changing networks. Ably stores the connection state for each client on its servers so that clients that reconnect within two minutes can resume their connection and receive all messages published whilst they were disconnected.
AWS IoT will allow for a client to reconnect following an abrupt disconnect, but will not receive all missed messages.Find out more about connection state recovery
|1st class WebSocket support||
WebSockets are widely regarded as the most efficient HTTP compatible transport for full duplex realtime communication between devices.
Amazon IoT provides support for WebSockets with MQTT.View our supported transports
|Fallback to Comet (XHR) and Long Polling for older browsers||Limited||
Whilst most modern devices support WebSockets, there are situations where the device or the network environment requires use of HTTP transports.
AWS IoT does support HTTP, however a typical MQTT client library, which is commonly used with AWS IoT, will not automatically support fallbacks.View our supported transports
Ably and Amazon IoT offer TLS connections ensuring that all data in transit is encrypted.Find out more about SSL/TLS
|Token based authentication||
Token based authentication ensures your private key is never shared and instead a short-lived token is used to authenticate.
Ably allows configurable policies and an identity to be embedded in a token ensuring you have complete control over what actions your users can perform such as limiting which channels they can subscribe or publish to.
Amazon offers numerous authentication policies.Find out more about Ably's authentication
|JSON Web Token support||
Using JWT allows for easy integration with your existing authentication systems, along with ensuring your private key is never shared.
Ably allows for not only Ably Tokens to be embedded within JWTs, but also for JWTs to be signed by Ably API keys and used themselves for authentication.
AWS IoT also supports JWT.Find out more about using JWT with Ably
|Configurable private key permissions||
Ably and Amazon IoT provides support for private API keys with configurable permissions including restrictions on channels or operations.Find out more about API keys
|Configurable channel permissions||
Ably provides channel rules providing you with the flexibility to maintain control of your channels, such as requiring SSL/TLS or only identified authenticated clients on a channel.
With Amazon IoT you can personalize rules on Topics.Find out more about channel rules
|Encrypted message payloads||
Ably's AES encryption allows messages to be encrypted using the provided private key before they are published to Ably. As a result, messages are practically impossible to intercept and view for anyone including Ably. For very sensitive data, this ensures you can safely use us knowing your payloads are always secure and opaque.
Amazon IoT also supports AES.Find out more about Ably's encryption
* All information regarding our competitors was obtained on or before May 2018. It is therefore possible that some of this information may now be out of date. If you believe that any of this information is incorrect, please get in touch with us so that we can correct it immediately.