Минимизировать потребление ресурсов позволит грамотная разработка, не хотите тратить лишнее - не тратьте. К сожалению затраты на саму разработку растут экспоненциально от сэкономленных ресурсов, начиная с определенного уровня это становится на столько накладно что проще купить больше железа чем платить очень дорогим разработчикам поддержку эффективного решения.
Советы:
* не используйте http rest с генерацией html на сервере (устаревший подход, но много готовых фреймворков его используют, у этого подхода только одно достоинство - дешевая горизонтальная масштабируемость), ваш бакэнд должен выглядеть готовым веб сервером и не должен на каждый запрос делать лишние инициализации.
* переносите все что только можно на сторону клиента, всякие single page application, в идеале бакэнд должен быть чем то типа прослойки к базе данных и авторизация, все остальное пусть работает на клиенте
* уменьшайте количество запросов (т.е. запросить 1 мб в виде одного файла менее ресурсоемко чем запросить сто по десять килобайт), никаких периодических запросов на сервер для проверки статусов, пользуйтесь вебсокетами
* все что неизменно или редко меняется должно быть статикой, на ее поддержку тратится несравнимо меньше ресурсов сервера
* не перебарщивайте с использованием готовых фреймворков, да это соблазняет простотой и получением готового результата путем комбинации решений как в конструкторе, но начиная с какого то момента ограничения подхода и борьба с особенностями и даже багами превысят затраты на самостоятельную разработку решения. Знаменитый анекдот 'как программист заваривает чайник' отличная иллюстрация того что готовые решения увеличивают затраты ресурсов и по простому это не исправить.
Готовые репозитарии решений это конечно отлично но вы должны понимать что не вы их поддерживаете а значит становитесь заложником чужих решений и разработчиков, на которых вы не влияете. А уж когда у вас критичная и финансовая информация, чужие готовые решения становятся огромной дырой в безопасности.