Подтвердить что ты не робот

Почему javascript node.js отсутствует в движке приложений Google

Google создал движок JavaScript V8: V8 компилирует исходный код JavaScript непосредственно в машинный код при его первом запуске.

Node.js построен на V8 - почему Google не предлагает никаких серверов Node.js, таких как Microsoft Azure?

Google App Engine будет естественным местом для размещения Node.js.

Знаете ли вы, почему Google не делает это?

4b9b3361

Ответ 1

По состоянию на июнь 2014 года Google имел ограниченный предварительный просмотр пользовательских языков в Google App Engine (который отличается от Google Compute Engine).

Посмотрите сборку приложений Node.js с помощью App Engine и пользовательских сред выполнения и посмотрите https://cloud.google.com/appengine/docs/managed-vms/:

Теперь App Engine предлагает второй вариант хостинга: управляемые виртуальные машины. Среда хостинга управляемых виртуальных машин позволяет запускать приложения App Engine на настраиваемых виртуальных машинах Compute Engine. Вы также можете использовать управляемые виртуальные машины для развертывания настраиваемых пользователем пользовательских сред выполнения, таких как Node.js и других сред выполнения.

Процедура входа в бета-версию:

Зарегистрируйтесь и создайте проект управляемой виртуальной машины

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

  1. Зарегистрируйтесь для доступа к управляемым виртуальным машинам.
  2. Присоединяйтесь к группе Google app-engine-managed-vms, чтобы участвовать в дискуссиях об управляемых виртуальных машинах.
  3. Проекты (или приложения - это одно и то же) должны находиться в центре обработки данных в США. Если вы планируете использовать существующий проект, перейдите к следующему шагу. В противном случае создайте новое приложение в центре обработки данных в США. Перейдите к https://preview.appengine.google.com и создайте новое приложение.
  4. Включить биллинг для проекта. Посетите страницу https://cloud.google.com/console/project/apps~, где находится идентификатор вашего проекта. Нажмите "Настройки" в левом меню, а затем включите биллинг. Если ваше приложение оплачивается с помощью учетной записи Premier, напишите нам по адресу [email protected], чтобы ваш новый облачный проект был выставлен с той же учетной записью.
  5. Отправьте электронное письмо по адресу [email protected] с идентификатором приложения в строке темы.

Когда мы получим вашу электронную почту, настройте некоторые ресурсы за кулисами и уведомите вас по электронной почте, когда ваш проект будет готов к работе. В письме содержатся последние инструкции по настройке. Если при выполнении этих инструкций вы столкнулись с ошибкой, свяжитесь с нами по адресу [email protected]

Ответ 2

Node.js поддерживается Джойентом, конкурентом Google.

Node.js не имеет никакой связи с Google, но фактически построен на основе проекта с открытым исходным кодом, запущенного Google.

Google может начать этот бизнес точно так же, как это сделал Azure, но PaaS уже делает так много, что, возможно, оно того не стоит. Я никогда не использовал GAE, но, насколько я понимаю, он сильно отличается от других PaaS, и вы должны использовать библиотеки GAE, чтобы ваш код работал.

Что, по моим личным ощущениям, не совсем то, что ищет сообщество Node.js. Node.js используется для быстрого создания легковесного приложения, например, большой доли API-интерфейсов для приложений Phone.

Тем не менее, если вы ищете PaaS для Node.js, их немало:

  • Джойент (nodejitsu)
  • dotCloud с поддержкой WebSockets.
  • Windows Azure
  • Nodester (недавно был куплен App Fog)
  • Любой хост Cloud Foundry также должен поддерживать Node.js.
  • и многое другое...

Это только некоторые имена с моей головы. Их немало, но это главные. О, есть и Heroku, но у них нет поддержки WebSocket, что является обломом для любого приложения на основе Socket.IO.

Ответ 4

После многолетнего опыта работы с Google Appengine я переключаюсь на другие облачные сервисы.

Я думаю, что Google Appengine на самом деле является старым сервисом в индустрии облачных вычислений. которая медленна для новых технологий, сложна в развертывании, трата времени на изучение API и нехватка многих функций, которые вам нужны в используемых вами языках.

независимо от большого сообщества Google, я бы не советовал никому использовать Google Appengine.

[новый паас]

я настоятельно рекомендую вам использовать openshift, appfog, heroku.etc и новые технологии облачных вычислений paas, которые гораздо более расширяемы, требуют меньше изменений, более переносимы с одной платформы на другую, более свободно кодируют красоту естественного языка и его стандарта библиотеки без уродливой специфичной для платформы apis.

[IAAS]

если вам нужен больший контроль над работающей ОС, вы можете попробовать линод, цифровой океан, Amazon, облачный движок Google, Microsoft Azure и другие.

Ответ 5

Поскольку App Engine представляет собой платформу как услугу, и для добавления нового языка/стека в GAE Google необходимо создать библиотеки среднего уровня, которые взаимодействуют с множеством служб App Engine.

Кроме того, все приложения App Engine находятся в изолированной программной среде и имеют несколько функций, ограниченных внутри их среды песочницы. Это означает, что помимо необходимости создания сервисных библиотек Google также необходимо создать защищенную среду песочницы для любого языка/стека, который они пытаются внедрить в GAE.

Я лично думаю, что вторая причина заключается в том, что Google не вводит поддержку нового языка/стека так агрессивно, как в Azure. App Engine, в некотором смысле, более "управляемый", чем Azure, и имеет большую начальную стоимость разработки для нового языка/стека.

Ответ 8

Справочная информация: стандарт App Engine против гибкого App Engine

Кажется, в этой теме есть некоторая путаница, потому что существует две версии App Engine: Стандартная и Гибкая. NodeJS поддерживается в App Engine Flexible, но НЕ в стандарте App Engine. (См. здесь для более полного объяснения различий).

App Engine Standard масштабируется в считанные секунды (в отличие от минут для гибкой среды) и имеет бесплатный уровень, так что вы можете разрабатывать и демонстрировать, не тратя ни копейки. Эти преимущества достигаются за счет гибкости. App Engine Standard поддерживает только определенные языки и библиотеки, не разрешает запись на диск и SSH. Другими словами, среда стандартизирована.

Ответ: Поддержка NodeJS в стандарте App Engine

Если вы заинтересованы в поддержке NodeJS в App Engine Standard, отметьте эту проблему следующим образом: https://issuetracker.google.com/issues/67711509.

Google обращается к функциям, которые привлекают внимание сообщества (см. здесь). Лучший способ обратить ваше внимание на эту функцию - добавить ее на трекер Google Issue, указанный выше.

Ответ 9

21 марта 2016 года Google объявил, что бета-версия Node.js в Google App Engine: https://cloudplatform.googleblog.com/2016/03/Node.js-on-Google-App-Engine-goes-beta.html?m=1

Этого ожидали, поскольку Google также присоединился к Фонду Node.js, и Google разрабатывает движок V8 JavaScript, который поддерживает Chrome и Node.js: https://nodejs.org/en/blog/announcements/welcome-google/

Google объявил о партнерстве с NodeSource одновременно.

Ответ 11

Google является программно-консервативной компанией. Программирование бэкэнда на JavaScript было бы совершенно невообразимым для менеджеров Google. Создание инфраструктуры, которую Google не будет использовать, не является хорошей инвестицией. Ссылка: Примечания от Mystery Machine Bus