Home / Companies / Ably / Blog / August 2021

August 2021 Summaries

5 posts from Ably

Filter
Month: Year:
Post Summaries Back to Blog
Ably is an enterprise-grade pub/sub messaging platform that provides a suite of integrated services for delivering realtime experiences like interactive learning, logistics GPS tracking, and live sports updates. The Ably protocol uses WebSockets as the underlying realtime protocol to connect to the backend. To interact with the Ably backend, developers can use Ably client libraries or SDKs that provide a public API interface. Authentication is required when connecting to Ably, and it supports token authentication for client-side applications. Once connected, users can attach to channels and publish messages over WebSocket connections.
Aug 25, 2021 2,079 words in the original blog post.
The global demand for realtime data is rapidly increasing due to the growing user preference for realtime digital experiences such as virtual events, news, financial information, and IoT devices. Ably, a platform providing realtime infrastructure, has observed this surge in demand firsthand. Initially, users required realtime updates only for specific features like notifications. However, over time, their applications expanded to include entire platforms and services. To cater to the evolving user demands, Ably introduced Channel Rewind, which allows users to access previous messages upon connection. This feature reduces latency and bandwidth usage by enabling fewer API calls. Additionally, State Persistence was developed to persist the last message on a channel for up to 1 year, addressing the need for state modeling in distributed systems. State Persistence can be particularly useful in scenarios like eCommerce shopping carts or serverless function configurations, where users expect their data to remain intact even after temporary disconnections. By leveraging Ably's State Persistence feature, developers can build dependable realtime applications with versatile APIs and scalability guarantees.
Aug 19, 2021 925 words in the original blog post.
The blog post discusses the migration from Node Redis client library to Ioredis for Ably's backend code written in Node.js. Redis is a distributed, in-memory database used by Ably for short-term storage of various entities such as authentication tokens and ephemeral channel state. They initially chose Node Redis due to its official recommendation and long history but faced performance issues. Upon investigation, they discovered that if one argument to the Redis command is a buffer, Node Redis performs three separate socket writes per argument every time, leading to excessive CPU usage for their use case. This motivated them to look for alternatives, eventually choosing Ioredis due to its efficient handling of buffers and promising performance results in tests. The migration process involved replacing functions and parameters using the Ioredis guide on migrating from node_redis, addressing API differences between Node Redis and Ioredis, and resolving bugs found during testing. Load testing showed a 30% reduction in CPU usage after switching to Ioredis, confirming its performance benefits for Ably's use case.
Aug 17, 2021 1,750 words in the original blog post.
The Ably Periodic Table of Realtime presents a comprehensive overview of the various elements in the realtime and event-driven space, addressing the growing demand for synchronous digital experiences. It includes patterns, protocols, specific technologies, package solutions, and other components that define realtime. The table is designed to be accessible and informative for both beginners and experienced engineers, with interactive features and a visual branding showcase. Users can click on tiles of interest to learn more about the elements that make up realtime technology.
Aug 10, 2021 600 words in the original blog post.
Websocketd is a tool that allows wrapping around a process and making stdin and stdout available with WebSockets by hosting a WebSocket server externally. It can be extended using Ably, a platform for communication between systems via a Pub/Sub system, to add features such as in-built health information on each process and server, many-to-many communication for each process, authentication mechanisms, and more. By using websocketd with Ably, users can start up processes whenever needed and have any statistics, errors, or information returned over WebSockets.
Aug 05, 2021 2,230 words in the original blog post.