Fastly Fanout makes stateful real-time communications easy
We’re excited to announce that Fastly Fanout now makes stateful, real-time communications easy for anyone, starting today with general availability of a larger, faster, and easier-to-use real-time communications network. The internet has become more and more dynamic and real-time ever since its inception, moving from static html pages, to dynamic and interactive applications, and now a broad demand for truly real-time communications that require a stateful solution.
WebSockets were an amazing step forward for real-time communications, but they came with a burden that included building and maintaining a separate tech stack outside of your HTTP infrastructure. It also introduced complexity because maintaining long-lived stateful connections at your origin required you to also maintain long-lived compute instances. Depending on your architecture at origin this could be extremely difficult, outright impossible, or introduce disruptive deployment processes.
Fanout is a WebSockets solution that’s easier to implement if that’s what you’re looking for, but it goes further and gives you access to a much larger feature set and potential for real-time communications. Whether you’re using Fanout to handle your WebSockets implementation or moving off of WebSockets completely, Fanout’s support of one-to-many communication and Pub/Sub features bring serious gains. When you want to send an object in real-time to a set of thousands (or millions, or tens of millions!) of clients, you only need to send it once to Fastly from origin, and Fanout does the rest from the network edge. By comparison, without Fanout, you have to make that send each time from origin, and you’re responsible for the egress charges on top of the maintenance and management of the WebSockets messaging stack, which has to live separately from your HTTP stack.
WebSockets with Fanout
When you implement WebSockets using Fastly Fanout you don’t have to do passthroughs to your origin because Fanout maintains the WebSockets-style stateful connections with the clients from the edge, removing the burden from your origin. Fanout converts the WebSockets activity into HTTP requests and sends them to your HTTP server so you don’t have to work in a separate stack, and still get all the information you want. You can even use Fastly Compute as your backend so your origin doesn’t have to be involved at all, and completely offload your real-time burden to the edge.
Going beyond WebSockets with Fanout
Fanout also enables you to do much more than WebSockets when you’re ready. Fanout supports Pub/Sub and handles more efficient data transfer, and true one-to-many real-time communications. With Fanout you can start to think about more advanced ways to leverage real-time communications without worrying about performance, scaling, or maintenance bottlenecks.
Real-time is now real easy
It’s time to implement the real-time communications ideas you’ve had, and get all the benefits of statefulness, but without any of the headaches, and Fanout is the better choice even as you scale up massively. In fact, our free tier is extremely generous, allowing up to 1 million messages per month and 1 million connection-minutes per month for anyone who wants to try Fanout at scale before committing. You can see a full comparison of how Fanout compares to WebSockets in the chart at the bottom if you’re interested, but a few of the biggest benefits of using Fanout are:
Reduced cost → Save money through origin offload. Reduce your egress charges by pushing content once to the Fastly edge, and letting Fanout do the rest. Fanout is also a reverse proxy, so there’s additional origin offload by bundling requests at the edge before sending them to origin. All of this helps to eliminate the CapEx and maintenance costs for managing a WebSockets stack that would have to scale linearly with the expansion of your real-time operations.
Better performance → Fanout customers experience significant performance improvements over WebSockets or Fanout competitors because Fanout is fully integrated into Fastly’s global edge network.
Improved productivity → Pub/Sub features and outsourcing all of the overhead to the Fastly edge means that application developers can stay focused on their most important work. They can work completely within the HTTP stack, and only need to configure what they want for stateful, one-to-many, and real-time communication at scale.
What differentiates Fanout?
Fanout can do a lot that WebSockets can’t, just by nature of supporting one-to-many and configuring groups of users with Pub/Sub, but that’s just the beginning of what differentiates Fanout from other real-time communications options.
Fastly performance meets Fanout functionality
Fastly’s edge network is faster and more modern than other CDNs. Being fully software-defined allows Fastly’s modern POPs to do things that other networks can’t, such as fully integrating a service like Fanout. Before Fanout was acquired and integrated into Fastly it ran really well on a network of about 8 POPs designed with a functional, but legacy architecture. Now that it’s running on Fastly, Fanout is one of, if not the largest real-time one-to-many data delivery networks in the world, with significant latency and performance improvements to show for it.
Improved ability to scale
Another benefit that comes with being part of Fastly’s global edge network is a better ability to scale. Fanout has less limits than the competition for the number of concurrent connections that our customers can have. Our architecture and efficiency at scaling with demand means we can place fewer restrictions on our customers and give you the freedom to do anything you can imagine. When we make innovations and improvements to our network like our traffic engineering automation system, they benefit everyone by making the network able to handle more traffic and adjust as needed – immediately, intelligently, and automatically. This benefits the real-time communications on the network just as much as the traditional CDN services. Our network won’t be your bottleneck.
Try at scale before you buy with a generous free tier
Our network capacity is big, and so naturally our free tier is BIG. You can get started on the Fastly Fanout with a completely unlimited 30 day free trial, and then after that our free tier allows up to 1 million connection minutes per month and 1 million messages per month. Other providers of one-to-many real-time services are startups, operating at start-up scale. Many don’t offer a free tier, and if they do, it’s usually much smaller. On the other end of things, Fastly’s CDN competitors don’t offer any kind of one-to-many real-time messaging solution. If you’re interested in something faster and easier to manage than WebSockets, with performance, cost, scaling, and productivity benefits, Fanout is the smarter choice. Create your free Fastly account to get started.
Built-in security
All traffic running through the Fastly network automatically benefits from DDoS and bot protection at the L3 and L4 network layers. Origin offload at Fastly doesn’t just stop at reducing egress charges, it also means that we prevent many security issues from creating load on our customers’ origins, and they never have to think about it. Building your real-time communications on top of Fastly brings you benefits of a secure-by-design network at no extra cost or effort.
Origin offload
Fanout is a reverse proxy, so requests are gathered by Fastly at the edge and then grouped. Instead of millions of messages coming at your origin, it’s only a handful. And that’s just getting started. If you chose to build a bit more logic on the edge using Fastly’s Compute offering, you could offload the entirety of your real-time messaging backend to the Fastly edge.
Cost savings and vendor consolidation
In an era of tight or shrinking budgets, vendor consolidation is on everyone’s mind, and people are taking every opportunity to save money by reducing CapEx, reducing overhead and maintenance costs, and trimming vendor management efforts through consolidation. Fastly Fanout provides a better solution as part of a complete platform for content delivery, network services, advanced security, and edge computing, with straightforward pricing structures, no overages or surprise bills, and all of your customer support bundled under one roof.
Easier for application devs to work with and configure
Fastly Fanout is backend agnostic. You don’t have to configure WebSockets at origin or run a separate stack apart from your HTTP architecture in order to get started. If you want to publish data you hit an API endpoint on the Fastly API, and you simply point the traffic from the clients at your Fastly service. You get better performance out of the box just by configuring a service without maintenance or management headaches.
Delivering data up to 7 times faster in the real world
Dansons is the parent company of Pit Boss Grills, and they needed a solution that would move real-time data faster, and reduce latency in their Grill Connect™ wireless control technology for the Pit Boss Grills mobile app. After moving to Fanout, Dansons saw Grill Connect’s data transfer speeds improve between 5 to 7 times what the old solution could achieve. By cutting the conversation between the app and the grill to just a few milliseconds they were able to provide a user experience for controlling their grills that truly felt like it was occurring in real-time. Read the full Dansons case study →
Fanout comparison chart
If you want even more information about what can be achieved with different real-time communications solutions, check out this chart comparing a home-grown WebSockets implementations, running a WebSockets passthrough with Fastly’s help, and Fastly Fanout. No matter what your real-time needs are, and especially if you’ve been hesitant to implement real-time communications because you didn’t want additional complexity or overhead, Fanout is the modern messaging solution that works better, and is easier to use. We’d love to talk to you about it, so if you’re interested, read more about Fanout and get in touch with us today!
WebSockets | WebSockets w/ Fastly | Fastly Fanout | |
---|---|---|---|
Lower latency, lower costs, and higher reliability delivered by a larger global network for real-time communications | "check" | "check" | |
Implemented completely within HTTP and does not require maintenance or scaling of a separate technology stack (such as WebSockets) | "check" | ||
Application developers can do all of their real-time work within the HTTP stack. | "check" | ||
Reduced load on origin through reverse proxy bundling of requests at the edge before sending them to origin over HTTP. | "check" | ||
Can work with multiple transport protocols (including HTTP, WebSockets, HTTP, HTTP Long Polling, and Server Sent Events (SSE)) | "check" | ||
Eliminates maintenance of stateful logic at origin | "check" | ||
Eliminates cost of increased origin capacity and scaling. Scale the number of connections and the management of those connections without additional hardware or software costs. | "check" | ||
1:1 real-time stateful communications requiring origin to push content separately to each receiving endpoint. | "check" | "check" | "check" |
1:many real-time stateful communication at scale from the edge. The origin is ONLY responsible for one transfer to the edge, and then the edge handles the push to endpoints. | "check" | ||
Eliminates cost of egress charges (which would increase linearly with usage) | "check" | ||
Request inspection at the edge (for additional origin offload) | "check" | "check" | |
DDoS & bot protection automatically included for real-time traffic (L3/4) | "check" | "check" | |
Pub/Sub - Subscription channels and groupings of users/endpoints for optimized and selective content distribution | "check" | ||
API Enabled | "check" | ||
30 days unlimited free trial and large free tier with 1 million messages per month and 1 million connection-minutes per month. | "check" | "check" |
Additional Fanout resources:
Learn about Fastly Compute and basic Fanout handlers with this starter kit
Learn about Fastly Compute and sending connections through the Fanout GRIP proxy to a backend with this starter kit
Learn about Fanout forwarding with the JavaScript starter kit
See it live and view the source code on GitHub for this leaderboard demo app