Вертикаль в ИТ масштабировании
Я со своей стезей, как обычно. :)
В ИТ сфере при росте нагрузки масштабирование обычно начинается с вертикального, если до этого не было подготовлено горизонтальное.
Вертикальное масштабирование (Scale Up) — это «долить бензина в тот же двигатель». Вы не покупаете новую машину, а просто меняете свечи, ставите турбину и заливаете 98-й. В серверах это значит: заменить проц на более мощный, добавить оперативки или поставить SSD быстрее. Ещё проще - просто и быстро завалить проблему деньгам.
· Плюс: Проще простого. Не надо переписывать код, всё работает как раньше, только быстрее.
· Минус: У железа есть потолок. Самый дорогой процессор всё равно не бесконечный, и когда он сгорит — сервер падает целиком (единая точка отказа). И чем мощнее железо в одной точке, тем оно дороже и дорожает оно в геометрической прогрессии, ибо большую мощность надо запихнуть на один физический кристалл\мать\юнит
Горизонтальное масштабирование (Scale Out) — это «купить ещё одну такую же машину». Вместо одного монстра вы берёте 100 дешёвых мини-компьютеров и объединяете их в кластер.
· Плюс: Теоретически бесконечно. Сломался один из 100 — остальные 99 продолжают работать (отказоустойчивость).
· Минус: Адский геморрой с архитектурой. Приложения нужно специально писать под «распределённость», синхронизировать данные (это боль) и настраивать балансировщик нагрузки.
Главная метафора для запоминания:
· Вертикаль — это лошадь. Можно накормить её до размера слона, но даже дом она все равно не сдвинет.
· Горизонталь — это упряжка из 100 пони. Сложно управлять, но безлимитным количеством пони можно хоть города передвигать.



Комментарии