"быстрая и простая" - всё закинуть на один мощный сервер.
Безопасность системы от количества серверов никак не зависит.
Если вы уже посчитали, что вам нужно несколько серверов, то:
1. Доступ к ним из интернета не должен быть (вернее должен быть только к фронту и бэку)
2. Везде обязательно должны стоять не дефолтные пароли
3. Сами пароли желательно должны храниться в каком-нибудь безопасном хранилище типа HC Vault
4. Обязательно должна быть какая-то система аутентификации пользователя и какая-нибудь ролевая/правовая система, чтобы обычный пользователь ну никак не могут сделать что-то, что ему нельзя.
Из коммуникаций у тебя даже в самой большой схеме получается что-то такое:
1. Пользователь (браузер на компьютере пользователя) загружает фронтовые файлы с Сервера 1, который раздаёт статику
2. С браузера посылается запрос к API на сервере 2
3. API с сервера 2 посылает запрос к БД.
N. Всё то же самое в обратном порядке для отправки ответа, кроме Сервера 1, который раздаёт статику.
Тоесть тут вообще никаких неочевидных проблем с выбором способа коммуникации вообще быть не должно.
А для надёжность стоит хотя бы по одной копии каждого сервиса сделать.
PS: ничего плохого в делании API Закрытым и server-server коммуникации нет.