What is our primary use case?
Our main use case for Ably is for our real-time integrations, where we use Ably as a third-party integration for our chatbox and other real-time use cases.
We use Ably for live data feeds for our dashboards, chats, messaging, notifications, alerts, and AI streamings, linking banks for our banking integrations using Plaid. We get the webhook from Plaid, currently used with Kafka, and we use Ably to connect the front end to the subscriber channel, where we instantaneously receive messages validated in the TanStack Query, allowing the UI to show the bank connection without any polling.
Our main use case with Ably is when the bank account gets synced completely; instead of the front end polling every five seconds, the client is updated once the back-end integration is completed through Ably, establishing a continuous connection with our servers and syncing the front-end with the status of the transactions and bank account connections.
We utilize Ably for Pub/Sub use cases, which includes channels, WebSockets, and Edge Networks, leveraging Ably's SDKs that are significantly helpful for us, alongside reliability features like exactly-once delivery and message history. Establishing these systems through AWS or Kafka is tricky, but Ably provides advantages such as boilerplate code and ready-made SDKs in React, React Native, and Kotlin, while taking care of security via our JWT token validations and end-to-end encryptions necessary for banking and transactions.
Ably operates as a real-time notification layer in our technology stack, which does not replace our APIs or database. Our current flow is primarily request-response, integrating with our money app that connects to a monolith layer followed by an API gateway and Lambdas, utilizing Ably between our serverless and monolith infrastructure, as well as the client infrastructures.
Integrating Ably into our existing systems was relatively straightforward at first, leveraging Ably's APIs for notifications, chats, and other functionalities. We later encountered challenges scaling with millions of users and substantial data, necessitating extensive load testing to efficiently ramp up traffic.
What is most valuable?
Ably's time taken for setup when using our own services is cumbersome, requiring significant testing effort, while Ably SDKs are well-tested and reliable. This reliability has helped our team get started with real-time use cases simply, especially since our back end is event-driven through Kafka, whereas the front end primarily relies on REST APIs and polling. For instance, when connecting bank accounts, Ably's features such as message ordering and connection recovery offer us ready-made solutions, sparing months of development and testing for WebSockets. Ably's value is primarily in dependable real-time notifications without managing WebSocket infrastructure ourselves.
Ably has significantly reduced our downtimes, and our team often relies on it; we have transitioned our financial data processing through Ably due to faster turnaround times and reliable recon mechanisms. While we primarily do not seek Ably for chat or AI streaming, we employ it atop our existing systems with Lambdas, SQS, Kinesis, and Kafka, optimizing our connections and UI updates. We have achieved message batch processing to find deltas and synchronize data efficiently, subscribing both our web and mobile systems to Ably's real-time infrastructure, with monitoring and logging integrated reliably with DataDog.
We experience vast improvements across many areas with Ably; when users connect bank accounts, we previously had to poll repeatedly, which is now replaced by Ably's real-time infrastructure that maintains a persistent back-end connection. This significantly reduces the need for infrastructure management and API load, resulting in average bank connection display times decreasing from eight to twelve seconds down to one to two seconds. Additionally, with persistent back-end connections reducing API calls, we achieve a lower operational load, seeing an impressive reduction of thirty thousand to forty thousand calls monthly.
What needs improvement?
Overall, Ably appears strong for managed real-time operations, but could improve areas such as pricing predictability. Given our finance product with millions of users, forecastable costs are challenging, and we would benefit from cleaner cost calculators, budget alerts, hard caps, and automatic throttling to avoid surprise bills. While the generic documentation is good, we seek tailored guidance for regulated applications such as finance and health sectors, and HIPAA compliance. Extensive support exists for Lambda, SQS, Kinesis, and Kafka, but we would appreciate enhanced documentation for Java, Spring Boot, NestJS, FastAPI, and other modern tools.
We wish to have custom hooks as provided in React, such as for cache invalidation and context API integrations, to leverage modern coding methods with Ably's SDKs. Timely updates with React versions and providing HIPAA and SOC 2 compliance for our healthcare and finance products are important, allowing us to assure stakeholders of reliable SDK usage. More testing APIs for some services could prevent unexpected production breakages.
We desire more stringent implementations regarding AI capabilities governance and security, due to the sensitivity of our applications concerning customer data and the necessity for HIPAA and SOC 2 compliance.
For how long have I used the solution?
I have been using Ably for almost two years.
What do I think about the stability of the solution?
Ably has proven stable in our experience, having successfully ramped up the traffic percentages.
What do I think about the scalability of the solution?
Scalability presented challenges, particularly after the initial POC and pilot phases, as we faced difficulties in monitoring and reliably utilizing APIs with our expansive user base and data; thus, we adopted a step scaling approach to closely observe Ably's scalability and reliability.
The initial integration was manageable, but we struggled with SDK usage among millions of users during testing.
To overcome scaling and testing challenges with Ably, we concentrated on a single publish point, a Java service that consumes Kafka, to remain close to the source of truth and avoid duplicative publishers from various layers. Concerns about balance and transaction security prevented us from sending data over Pub/Sub, so we fetch critical messages through REST APIs such as sync completion or connection errors, ensuring user-scoped permissions that update synchronously with CDC from our DynamoDB streams.
How are customer service and support?
Our customer support experience consists primarily of email communications, which has allowed easy interactions; queries are generally addressed within twenty-four to thirty-six hours, enhancing the overall efficiency.
Which solution did I use previously and why did I switch?
We previously used Twilio extensively for video and audio calls but found they did not match the ROI we acquire using Ably, mainly due to Twilio being costlier and lacking a straightforward POC setup.
How was the initial setup?
The pricing setup was straightforward, involving minimal procurement barriers for the POC; we began with a free tier and advanced to a Standard plan at twenty-nine dollars a month for a controlled pilot. The POC experience was easy, with a smooth transition to production, though predictability is merely moderate due to significant traffic fluctuations. We have cleared all legal procedures due to our advanced compliance, finding no hidden costs. In terms of return on investment, we recognize significant reductions in infrastructure needs and maintenance personnel, confirming a substantial ROI through the use of Ably.
What was our ROI?
We presently assess our bills with Ably against previous estimates, witnessing a considerable reduction in infrastructure and maintenance costs, which is a promising sign. However, Ably's predictions for our user base in their portal would significantly aid our financial forecasting.
What's my experience with pricing, setup cost, and licensing?
Ably's time taken for setup when using our own services is cumbersome, requiring significant testing effort, while Ably SDKs are well-tested and reliable. This reliability has helped our team get started with real-time use cases simply, especially since our back end is event-driven through Kafka, whereas the front end primarily relies on REST APIs and polling.
Which other solutions did I evaluate?
Before choosing Ably, we evaluated Twilio and were also considering other options, focusing on Ably for its advantages.
What other advice do I have?
For others looking into using Ably, I would advise considering it as a cost-effective solution if experiences with Twilio show high costs or cumbersome setups; Ably is easy to set up, and the provided APIs suit their serverless infrastructure well. I rate this solution an eight out of ten.