Push is hard. Often, implementing realtime push in a website or web service means having to use unfamiliar software or frameworks. If it isn’t an XMPP server with BOSH, then it’s an esoteric HTTP server framework like Node.js or Tornado. Further, while the knowledge and tools necessary for load balancing a traditional web service are commonly found these days, scaling out and operating a push architecture is less straightforward. The interactions between server nodes are different. The traffic patterns are different. Even if you’ve got a handle on whatever particular approach for push you’re using today, do you know how you’ll scale it tomorrow?
Fanout Cloud is a new service that makes implementing realtime push a heck of a lot easier. Simply use the Fanout Cloud API to publish messages to interested subscribers and let us handle the complexity of maintaining client connections, pushing messages, and all operational and scaling concerns. What makes Fanout Cloud different from similar solutions is that it supports pushing data over a variety of transports, and it allows you to do so in a format-agnostic fashion. Below is a list of the supported transports and the payload customizability of each:
- HTTP long-polling: accept any kind of request, and you specify the response code, status, headers, and body.
- HTTP streaming: accept any kind of request, and you specify the initial response code, status, headers, and then a series of body payloads to be appended.
- XMPP stanzas: you specify the entire XML stanza.
- Webhooks: you specify the HTTP verb, path, headers, and optional body. Any HTTP response is ignored.
This kind of transport versatility is one of our founding principles. Fanout Cloud does not expose a proprietary protocol to those who consume the service unless you want it to. It can be made to expose your protocol. Or a standard protocol. Want to transmit Atom? JSON Activity Streams? How about some raw binary? All are possible. This versatility means you can migrate any existing service to Fanout Cloud, without third party consumers even noticing you made the switch. It also means that if you’re not satisfied with the service, you can migrate away. It’s your protocol, after all. No vendor lock-in here!
Fanout Cloud is available today and free to try. If you are building a website, REST API, app, or other service, and are interested in learning more about how Fanout Cloud can bring joy to your life, let us know.
Liked this post? Follow this blog to get more.