подписки и загрузка файлов на gql это боль.
Можно как вариант апи сделать на gql, а подписки на ws (
socket.io напр. кто в курсе, как он сейчас, или есть что посвежее?).
А чтобы была балансировка между апи (учитывая что если перед всеми бэками поставить балансировщик, который тоже может лечь) - писать к апи ещё и SDK в обязательном порядке