Стандартная или гибкая среда Google App Engine?

Я застрял в выборе между выбором Google App Engine Standard или Google App Engine Standard или Google App Engine Standard. Гибкая среда для реального производства. Я определенно хочу использовать Java. Необходимо использовать Firebase (последняя версия) для аутентификации и push-уведомлений; Я не уверен, совместим ли новый Firebase со стандартным или гибким.

согласно предупреждению в следующей ссылке, у меня сложилось впечатление, что последняя версия Firebase совместима только с гибкой средой.

https://cloud.google.com/solutions/mobile/firebase-app-engine-android-studio


person EhsanR    schedule 01.08.2016    source источник


Ответы (2)


При прочих равных условиях любое приложение стандартной среды также может работать в гибкой среде с минимальными изменениями приложения. Обратное неверно - стандартные ограничения среды строже, чем ограничения для гибкой среды (отсюда и flexible в ее названии).

ОБНОВЛЕНИЕ: приведенное выше неверно, языковой раздел Перенос существующего движка приложений Следует проверить руководство по приложению, для которого стандартные API-интерфейсы env явно указаны как совместимые или несовместимые. В некоторых случаях это может сразу прояснить решение. Предположим, что для оставшейся части ответа выбор между средами остается открытым после этой проверки.

Итак - чтобы не застрять - я сначала выбрал стандартную среду (более простую в настройке / управлении, а также потенциально бесплатную, в зависимости от использования приложения) и решил переключиться на env только с гибкой системой, если / когда я столкнулся с неизбежной проблемой. вызвано одним из стандартных ограничений среды и не является проблемой для гибкой среды. Если такая проблема не возникает, вы практически сохраняете возможность переключаться между двумя вариантами развертывания по своему желанию.

Что касается вашего впечатления от учебного документа - я думаю, что оно необоснованно, на основе Раздел расходов ...

И Firebase, и App Engine имеют бесплатные уровни использования. Если вы используете эти службы меньше, чем ограничения, указанные в бесплатном плане Firebase и бесплатной квоте App Engine, за выполнение этого руководства плата не взимается.

... в сочетании с таблицей Pricing row Сравнение сред. ..

введите описание изображения здесь

... поскольку в стандартной среде env есть бесплатная ежедневная квота Instance hours, но Compute Engine Pricing использует Модель выставления счетов по типу компьютера и не имеет бесплатной квоты, за исключением первоначальная ограниченная бесплатная пробная версия.

Что в целом говорит мне, что в учебнике используется стандартная среда :)

Подтверждено в Настройка серверной части App Engine для использования ручного масштабирования, поскольку в конфигурации приложения нет параметра <vm>true</vm>, используемого для выберите гибкую среду.

person Dan Cornilescu    schedule 21.08.2016
comment
Этот ответ устарел, поскольку изменения из гибкой среды в бета-версии и далее не поддерживают те же библиотеки, что и предыдущая среда управляемых виртуальных машин со стандартом. - person BrettJ; 03.10.2017

На данный момент вы предпочитаете использовать стандартную среду движка приложений, если только вам не нужна особая функция, предлагаемая только в гибком варианте. В настоящее время очень мало документации по гибкому движку приложений, и преобразование практически любого приложения из одного в другое НЕ является простой задачей.

Все, что вы читаете, в котором говорится, что «его легко преобразовать из стандартного в гибкий» или наоборот, написано ДО 6 декабря, когда vm: true устарела (вместе со всеми совместными средами выполнения, которые позволяют использовать стандартный код на гибком движке приложений. ). У гибкого теперь есть собственные библиотеки для большинства вещей, и он достаточно отличается, чтобы потребовать почти полного переписывания многих ваших методов.

Например, когда я преобразовал свой контроллер облачного хранилища в гибкий, ни одна строка кода не оказалась полезной, кроме имен методов, поскольку новая библиотека в основном использует BLOB-объекты вместо StorageObjects. (Джава)

person KevinG    schedule 02.05.2017