📈 Масштабируемость: не «сколько система тянет сейчас», а «что с ней будет завтра» Масштабируемость — это не скорость системы при текущей нагрузке, а её поведение при росте: сохранит ли она время отклика и долю ошибок, когда пользователей и данных станет в десять раз больше. Быстрая система может не масштабироваться, а масштабируемая — быть неторопливой на малой нагрузке. Два пути добавить мощности различаются направлением. Вертикальное масштабирование усиливает один узел: больше ядер, памяти, быстрее диски — просто, но с физическим потолком и нелинейно растущей ценой. Горизонтальное добавляет узлы: почти неограниченный предел роста за commodity-цены, но платой становятся распределённая сложность, балансировка и согласованность данных. ⚠️ Закон Амдала задаёт жёсткую арифметику: если 10–20% работы последовательны, то N узлов не дадут N-кратного ускорения — потолок окажется на уровне 5–10x, и узлы сверх него не окупятся. Измерение узких мест предшествует масштабированию, а не следует за ним. Типичная ошибка — строить шардинг и микросервисы под «миллион пользователей», пока продукт обслуживает тысячи: Stack Overflow и Shopify годами держали миллионы пользователей на нескольких мощных серверах. Заимствовать у FAANG стоит принципы, а не топологии. 🔗 Подробнее: https://agaltsovav.ru/docs/architecture/scalability/