HubSpot is a marketing, sales, and service software for supporting business growth. Its all-in-one marketing hubs provide sales analytics, lead-capture forms, contact tracking and communications to grow traffic, convert leads, prove ROI and ensure optimum customer-service delivery. Reliable, realtime communication and analytics form an integral part of HubSpot’s offering, both in terms of everyday UX, and also delivering on its core proposition to help teams identify and act upon leads as quickly and as effectively as possible.
Infrastructure to support immediate realtime requirements
Every message counts for HubSpot’s Conversations team. The company’s premium customer revenue driver, the Conversations function provide tools for live-chat, team email, and bots. It also provides a universal inbox that gives sales, marketing, and customer service teams one place to view, manage, and reply to all conversations from various message channels.
HubSpot required infrastructure to deliver live updates on multiple user interactions, conversations and potential leads. HubSpot sought a vendor with architecture and design that guaranteed integrity, delivery and low-latencies of messages globally, enabling sales and marketing teams to act upon potential leads as efficiently as possible.
Key Technologies used
- 100% message delivery & ordering
- 100% uptime guarantee
- Firehose for streaming data out of pub/sub into their systems for processing, whilst still allowing p2p communication between customers’ devices.
- Demands for conversations, projects, sidekick and notifications
- Responsive, collaborative technical support
Realtime infrastructure to support a culture of innovation
In employing Ably, HubSpot were thinking beyond their immediate realtime infrastructure requirements towards future innovations built on realtime functionality.
Their requirements were as follows:
- Scale limitlessly to meet HubSpot’s growth, seamlessly accommodating multiple new features and an expanding user base. New additions to the Conversations offering making use of Ably infrastructure include agent and visitor presence visibility, as well as presence-based agent availability logic.
- Provide platform- and language-agnostic realtime messaging that avoids technology lock-in.
- Ensure teams could effectively collaborate using a single, easily accessible and simple API for their messaging and streaming requirements.
- Through Ably’s unified API, HubSpot could offload the burden of support and documentation around the message bus from their stack, allowing them to focus on delivery of products and services built on top of this for furthering HubSpot’s core proposition.
- Ably’s infrastructure fitted in with HubSpot’s service-oriented architecture - suitable for use across 1,000s of services, with 100s of deploys each day by many small, autonomous teams.
- Ably’s infrastructure supports both pull mechanisms (devices connecting into the bus) and push mechanisms for data flows (Ably’s Reactor enabled the message bus to easily stream data into third-party systems).
- Build a unified message bus, future-proof enough to support emerging protocols, new requirements, as well as publicly-exposed realtime APIs to share among the developer community.
HubSpot: DIY, or buy Ably?
HubSpot’s previous realtime IaaS provider failed to meet message-consistency and integrity performance targets, or offer adequate delivery guarantees.
HubSpot is an organisation supported by an experienced and mature engineering team, who have won numerous awards both for their products and for their workplace culture. They understand the importance of managing technical debt, SOA, deploying engineering where the value lies for customers, and buying in services that enable them to continue their impressive growth.
HubSpot first looked into building this solution in-house, using a combination of home-built and open-source solutions, as well as solutions from another provider. Serving their large, global customer base encompassing 60,000 customers spread across more than 100 countries, this approach was risky, as well as difficult and expensive. Building a pub/sub messaging layer appears straightforward, but in practice - especially with a user base like HubSpot’s - the growing functionality requirements, edge cases, cross platform support, and ongoing operational challenges come with many engineering strings attached.
HubSpot Use Case
HubSpot initially used Ably for dashboard notifications, and subsequently employed Ably for the conversation function, before steadily moving all realtime functionality over to Ably’s infrastructure.
Ably now provides a single message bus, used by all teams, for all messaging in and out of the confines of their private network. It caters for the current, stringent demands of end-users as well as the current and future demands of developers via the API Streamer.
Ably was able to offer quality of service guarantees that support HubSpot’s existing brand and reputation, while also providing broad, reliable and flexible infrastructure with scope to quickly bring to market new innovations.
Ably’s consultative support service and flexible pricing added an extra dimension to this, allowing Ably to play the role of innovation partner as well as technology vendor.
HubSpot relies on Ably for
- Enterprise package with:
- 24/7 support, 365 days a year
- Shared Slack channel to promote cohesion between the engineering teams
- 15 minute response time for critical issues with an incident escalation pager facility
- Active Traffic Management
- Private multi-region dedicated cluster, for guaranteed capacity and more predictable, ultra-low latencies
- Kinesis Reactor Firehose for high-volume delivery of data into HubSpot’s internal message queues and data processing engine
- Delivery of billions of messages p/month to serve 300k devices concurrently online
- Mission-critical realtime infrastructure:
- Guaranteed message ordering and delivery - consistency of messaging
- 100% uptime
- Idempotent publishing ensures decoupled systems operate with guarantees about outcomes and data integrity - no message will be duplicated
- Connection state recovery
- Ease of integration