Какие существуют методики и инструменты для масштабируемости проекта?
Словом нужно заложить масштабируемость в проект, который не требует пока масштабируемости, но если потребует, нужно сразу увеличить возможности сервиса

Первым делом - четко определить на какую нагрузку вы рассчитываете и какого типа она будет. 
Например - 10000 запросов в секунду на сервер. 
или 10000 пользователей в день загружающих фронт. 
или 100 тяжелых запросов в базу в минуту.
До этого разговор будет непонятно о чем.
Потом проверить сколько может вытянуть текущая архитектура/железо.
А то может окажется что если добавите +$10 в месяц на инстанс помощнее то вашего текущего сервера вам еще лет на 5 хватит
масштабировать компоненты - будет эффективнее -> тк нагрузка на компоненты всегда не равномерная, какие-то более нагружены какие-то менее. 
>Создать несколько одинаковых бэков на разных серверах
оба варианта рабочие, но нужно помнить что при разделении компонентов или разделении бэков, они не должны зависеть от одного источника данных (одной БД), иначе все опять упрется в производительность одной БД. 
Для этого можно использовать базы поддерживающие разделение через Ключ->Значение (типа Касандры), и которые тоже в свою очередь по серверам масштабируются