Every component of the Ably service that is effected by increased load is designed to automatically scale pre-emptively to meet demand. This ensures that there is always spare capacity in the global realtime grid to absorb any spikes in messages or connections. The core components of the system that automatically scale to meet demand are:
- Our load balancers that distribute traffic to our frontends
- Our frontends that service all REST and Realtime requests
- Our realtime cores that provide the core routing and realtime operations
- Our database layer
We are only limited by the amount of capacity that Amazon AWS can provide us, which is practically limitless. Should one region become overloaded and for some transient reason be unable to scale up sufficiently to service all requests, through the use of our fallback hosts system and proactive health checked DNS, traffic is automatically load balanced across our global cluster of servers.
As the Ably infrastructure is shared across all of our customers, everyone benefits from the economies of scale in relation to the spare capacity in our system. For example, if we had 10 servers running at 50% capacity for 1 client and processing 500k requests per second, the system would in theory have capacity to service a burst of an additional 500k requests per second without yet having automatically scaled up. If however we had 100 servers running at 50% capacity for 10 clients, then our burstable capacity is 5m requests per second as opposed to 500k requests per second, so all of clients benefit from our available burst capacity. Find out more about all connection, channel, message and rate limits we enforce on Ably accounts.
- Our service is designed to scale reactively and is able to scale up to meet unexpected increased load in under 5 minutes.
- We do impose limits at an account level that may affect your ability to scale indefinitely. Find out more about all account limits