Использование облачных функций для инкапсуляции более сложной логики кода вашего приложения довольно распространено.
Преимущество состоит в том, что вам нужно написать код только для одной платформы (независимо от того, какой язык вы используете в облачных функциях) и вы можете обновить код, не сообщая пользователям об обновлении приложения.И это определенно проще для определенных сценариев, когда вам не нужно рассуждать о том, что все клиенты обращаются к вашей базе данных одновременно.
Недостатком является то, что для вызова облачных функций требуется, чтобы клиент был в сети.Если у вас есть логика вызова в самом клиенте, он также может работать, пока у клиента нет Интернета.
Я лично являюсь поклонником использования базы данных (базы данных Firebase Realtime или Cloud Firestore) в качествепосредник между моим клиентом и бэкэндом Cloud Functions.Так что мой клиент пишет в базу данных, которая затем запускает облачные функции.Облачная функция записывает результат в базу данных, которую слушает клиент.Таким образом, я получаю некоторую автономную обработку SDK базы данных с дополнительными преимуществами облачных функций.