What is API Streamer?
API Streamer makes it easy for developers to publish realtime APIs (also known as event-driven APIs or streaming APIs).
Built on Ably’s global Data Stream Network, API Streamer provides an additional layer of tooling and features for deploying streaming data to the Ably network to manage data streams, and distributing those data streams to developer teams at third party organizations through realtime push and pull subscription APIs.
Our API Streamer docs are currently in beta. While we are working hard to improve them, please feel free to reach us out in case of any queries.
Why use the API Streamer to build realtime APIs for your streaming data?
When organizations decide to offer their data via APIs to developers, they typically start by building REST APIs. REST APIs are prolific, in a large part due to standardization allowing organizations to simply communicate with each other, synchronously, following a request/response pattern. To date, REST APIs have served developers well and are largely responsible for the catalyst that drove the API economy to emerge.
However, as organizations are increasingly moving towards event-driven architectures, and need to deliver realtime experiences to their end-users, the need for realtime business-to-business data exchange is rapidly emerging. REST APIs are still mostly being used to solve realtime data sharing requirements in spite of their design not being suitable for streaming data. As a result, REST APIs are frequently being subjected to excessive polling, infrastructure is becoming overloaded, and the latencies for realtime data delivery is high.
Many early adopter organizations are addressing this problem by building their own realtime APIs, typically based on WebSockets, WebHooks or a custom streaming HTTP protocol. These organizations are realizing that delivering realtime data at scale, with low latency, across the current and emerging protocols, with the necessary tooling to manage these data flows, is a significant upfront and ongoing engineering undertaking.
This is the problem that the API Streamer addresses. Developers can focus on the data that needs to be shared, whilst Ably provides ready-built realtime API management tools, a global low latency and reliable distribution network, protocol interoperability and limitless scale.
Here’s a look at the increasing engineering effort required with time and growing customers, when building a realtime API from scratch vs when using the API Streamer:
Understanding the working of the API Streamer
Ably’s established global Data Stream Network offers a simple API to developers who publish and receive realtime data using pub/sub channels. Ably is a serverless messaging platform that offers unparalleled reliability, latency, security and streaming at any scale, globally.
API Streamer is conceptually a management layer, built on top of the DSN, for data producers to share realtime data, over any number of push and pull subscription protocols, with any number of data consumers.
Due to the underlying pub/sub pattern in action, the API Streamer allows data producers to be decoupled from data subscribers, offloading the engineering complexity involved with scale, interoperability and distribution via the Ably network. Whilst Ably ensures producers and consumers are technically decoupled, producers retain complete control over their data with API Streamer dashboards, instrumentation, reporting and monetization features.
The Data Producer
Data producers are typically organizations or developers who use the API Streamer to distribute their realtime data streams with other developers. Data producers publish their data over channels to the Ably DSN, and using access control lists that are configurable within the API Streamer dashboards they can manage who has access to their data. For example, a train company may publish live train information on a channel in one their Ably apps, and using the API streamer, allow developers to subscribe to this data via the Ably platform. Developers may, for example, elect to have this data pushed to them via WebSub, or subscribe to this data directly on their mobile devices.
API Streamer ensures data producers are technically decoupled from data consumers, thus offloading all the engineering complexity required to stream data over realtime APIs.
The Data Consumer
Data consumers are typically organizations or developers, who have been given access to one or more data streams, from one or more data producers. The consumer, using their API Streamer dashboard, can configure how they want to consume these data streams.
Ably supports two models for subscribing to streams of data:
- Pull Subscription Protocols are used by clients that connect to Ably and explicitly subscribe to streams on-demand. Protocols such as MQTT, SSE, or Ably’s native protocol, are all Pull based protocols as clients initiate the connection to Ably and request a subscription to a stream of data from the Ably service.
- Push Subscription Protocols are outbound streams to third party systems that are initiated when data is published on a channel. Push Subscription protocols are often used where it is not practical to consume data on-demand, typically when the volumes of messages or channels are high, and complexity for the subscriber increases. Ably’s Push Subscription Protocols are offered through the Ably Reactor service, and enable developers to stream data into their streaming or queuing services like Kafka, AMQP (RabbitMQ) or Amazon SQS/Kinesis, or to trigger serverless functions across all popular cloud providers.
We are working on step-by-step tutorials and video walk-throughs to help you get started with the API Streamer quickly. Get in touch if you need help in the meantime.
You are currently in the overview page of the API Streamer documentation. If you’d like to try out the API Streamer, you can read more about: