Разница между механизмом приложений, безсерверными контейнерами и безсерверным дополнением gke - PullRequest
0 голосов
/ 31 августа 2018

- App Engine продается как безсерверный

-Новое предложение безсерверный контейнер от Google не имеет сервера, но в чем разница? Они объясняют так:

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

Что они подразумевают под "конкретными средами выполнения" и "пользовательскими двоичными файлами", кстати, почему приложение в App Engine не переносимо?

- Безсерверная надстройка GKE рекламируется так:

Вы можете мгновенно переходить от источника к контейнерам, автоматически масштабируя рабочие нагрузки на основе контейнеров без сохранения состояния

Разве это не то, что делает App Engine?

Я так запутался сейчас, должен добавить несколько примеров, где использовать, по крайней мере,

1 Ответ

0 голосов
/ 31 августа 2018

App Engine продается как безсерверный

App Engine определенно является тем, что теперь называется безсерверным , поскольку вам просто нужно беспокоиться о коде, а не об операционной системе или о том, сколько у вас серверов. В качестве тривиального примера у меня есть приложение App Engine, которое использует TLS, но мне не нужно беспокоиться об обновлении OpenSSL.

Что они подразумевают под "конкретными средами выполнения" и "пользовательскими двоичными файлами", под Кстати, почему приложение в App Engine не переносимо?

Старая версия App Engine Стандартные среды выполнения используют пользовательскую «песочницу» для управления вашим приложением. Это означает, что «нормальная» среда исполнения Python, Java и т. Д. Была изменена, чтобы добавить ограничения, чтобы ваш код мог безопасно выполняться в общей среде, например, на тех же серверах, что и другие приложения. Обычно для взаимодействия с другими облачными сервисами предоставлялось несколько дополнительных API. Все это означает, что, по крайней мере, исторически, если вы пишете для App Engine Standard, вам придется внести некоторые изменения для запуска в других средах, и некоторые библиотеки не будут работать, потому что сталкиваются с ограничениями.

Кстати, есть проекты с открытым исходным кодом, такие как AppScale , которые пытаются эмулировать стандартную среду App Engine, поэтому такие приложения несколько переносимы.

Сравните это с более новыми средами выполнения, которые основаны на контейнерах. Вместо пользовательской среды выполнения, обеспечивающей изоляцию, ваше приложение и его зависимости запускаются в контейнере , а система контейнеров обеспечивает изоляцию. Поскольку среда выполнения больше не изменяется почти так сильно, многие ограничения исчезают, но без всех этих модификаций пользовательские API также исчезают в пользу того, что вы просто используете автономные сервисы, которые делают то же самое. Простой пример: в App Engine Python 2.7 есть библиотека ndb, которая взаимодействует со службой хранилища данных. В настоящее время Cloud Datastore является автономным продуктом со своим собственным API, и вы просто использовали бы этот API для связи с Datastore, например, с. приложение Python 3.7.

Безсерверная надстройка GKE рекламируется следующим образом ... Разве это не то, что делает App Engine?

GKE Serverless еще не выпущен, поэтому нам нужно будет посмотреть, как люди его используют, но идея, похоже, заключается в том, что он предназначен для людей, которые уже используют Kubernetes и хотят использовать функции App Engine, такие как автоматическое масштабирование в ответ на входящие Запросы. Я мог бы быть очень смущен здесь.

...