Под масштабируемостью обычно понимают возможность системы подстраиваться под изменение нагрузки: сегодня пользователей мало, завтра их в десять раз больше, а всё продолжает работать приемлемо.
Говоря человеческим языком, масштабируемость показывает, насколько просто системе «вырасти» или, наоборот, ужаться, когда требования меняются. Для современных сервисов это уже не бонус, а базовое требование: без этого любые всплески трафика превращаются в проблемы.
Есть два основных подхода. Горизонтальное масштабирование — когда вы не «раздуваете» один сервер, а добавляете новые машины или узлы в кластер. Вертикальное масштабирование — это усиление конкретного сервера: больше памяти, больше CPU, более мощное железо. В реальной жизни часто комбинируют оба варианта, чтобы адекватно реагировать на рост нагрузки.
В облаках масштабирование обычно означает, что вы можете динамически крутить объёмы ресурсов: поднять ещё несколько инстансов под пиковый трафик или, наоборот, уменьшить всё в ночные часы и не платить лишнего. Такая гибкость напрямую бьётся с доступностью и отказоустойчивостью: система, которая умеет масштабироваться, проще переживает и рост числа пользователей, и сезонные провалы, и при этом не жрёт ресурсы впустую.
