Когда использовать Google App Engine Flex и Google Cloud Run - PullRequest
12 голосов
/ 15 апреля 2019

Я хочу развернуть контейнерный код, используя один из вариантов без сервера Google.Насколько я понимаю, у Google есть два варианта для этого:

  1. Гибкая среда Google App Engine
  2. Google Cloud Run (в бета-версии)

Я смотрел Google Next 2019 г. Next talk Где мне запустить код?Выбор из 5+ вариантов вычислений .И я прочитал ответ Jerry101 на общий вопрос «В чем разница между Google App Engine и Google Cloud Run?» .

Мне кажется, что Cloud Run - это ответ наОграничения использования гибкой среды Google App Engine.

Причины выбора гибкой среды App Engine вместо Cloud Run:

  • Legacy - еслив настоящее время ваш код основан на App Engine Flex, и вам, возможно, не захочется его перемещать
  • История записи - App Engine Flex уже давно доступен для общего доступа и в этом смысле имеетпослужной список, в то время как Cloud Run только в бета-версии

Но это оба соображения типа операций.Ни один не беспокоит меня.Есть ли техническое преимущество при выборе App Engine Flex по сравнению с Cloud Run?

Спасибо

Примечание. Бета-версия Serverless VPC Access для App Engine доступна только для стандартной среды на момент публикации этого вопроса в апреле 2019 года, но не для Flex, поэтомуне рассматривается в вопросе App Engine Flex против Cloud Run

Ответы [ 2 ]

12 голосов
/ 15 апреля 2019

Ценообразование / автоматическое масштабирование: Модель ценообразования между GAE Flexible Environment и Cloud Run немного отличается.

  • В GAE Flexible вы всегда запускаете как минимум 1 экземпляр в любое время. Поэтому, даже если ваше приложение не получает никаких запросов, вы платите за этот экземпляр. Детализация счета составляет 1 минуту.
  • В Cloud Run вы платите только за , когда обрабатываете запросы, а уровень оплаты составляет 0,1 секунды. См. здесь для объяснения модели биллинга Cloud Run.

Базовая инфраструктура: Поскольку GAE Flexible работает на виртуальных машинах, развертывание новой версии вашего приложения и его масштабирование происходит немного медленнее, чем в Cloud Run. Развертывание Cloud Run выполняется быстрее.

Портативность: Cloud Run использует API-интерфейс Knative с открытым исходным кодом и его контейнерный контракт . Это дает вам гибкость и свободу в большей степени. Если вы хотите запустить ту же рабочую нагрузку на управляемой инфраструктуре (например, GKE), вы можете сделать это с помощью «Cloud Run on GKE».

1 голос
/ 13 июля 2019

Короткая история: Appengine - это нечто реальное, относительно стабильное. Cloud Run - это всего лишь черновик / идея, очень нестабильный.

Длинная история: Нахождение в альфа / бета-версии Google Cloud Run может претерпеть множество изменений. Если вы достаточно взрослый, вы можете вспомнить, насколько сильно изменились цены на Appengine. Он пообещал ценообразование на основе ЦП / ОЗУ, затем решил, что это «невозможно» или, по крайней мере, не очень выгодно, и перешел на ценообразование на основе виртуальных машин, а затем выпустил достойную версию appengine (Appengine Flex или другое название, которое у него было в то время). но также увеличил цену снова, добавив модель минимального экземпляра. Не говоря уже о бесчисленных API / критических изменениях или изменениях лимитов.

Cloud Run основан на gVisor, который имеет некоторые ограничения , поэтому в зависимости от языка / библиотеки, которую вы используете, и того, что вы делаете, он может сломаться (или просто реализация Google может сломаться) в какой-то момент, и есть Вы ничего не можете сделать (например, исправить систему), и это подорвет вашу производительность и, возможно, ваш бизнес. Вы можете посмотреть текущие выпуски .

Бесплатный совет: даже если вы выберете Appengine или Cloud Run избегайте собственных API / сервисов, таких как Google Datastore . Они могут разрушить ваш бизнес. Цены, API и ограничения изменятся. Нет реального открытого или платного варианта, поэтому ваш код не переносим. Ваш код довольно бесполезен вне облака Google

Отказ от ответственности: я был сожжен изменениями в устройстве и блокировкой хранилища данных, поэтому мое мнение может быть предвзятым.

...