GoogleはV8 JavaScriptエンジンを作成しました。V8は、最初に実行されたときにJavaScriptソースコードを直接マシンコードにコンパイルします。
Node.jsはV8上に構築されています-なぜGoogleはMicrosoft AzureのようなNode.jsサーバーを提供しないのですか?
Google App EngineはNode.jsを置く自然な場所です。
Googleがそれをしていない理由を知っていますか?
2014年6月の時点で、Googleは Google App Engine(Google Compute Engineとは異なる) でカスタム言語の限定プレビューを行っていました。
App Engineとカスタムランタイムを使用したNode.jsアプリケーションのビルド を確認し、チェックアウト https://cloud.google.com/appengine/docs/managed-vms/ :
App Engineは、2番目のホスティングオプションであるManaged VMを提供するようになりました。 Managed VMホスティング環境では、設定可能なCompute Engine仮想マシン(VM)でApp Engineアプリケーションを実行できます。また、管理されたVMを使用して、ユーザー設定可能な カスタムランタイム 、 Node.js およびその他のランタイムなど。
ベータ版に入る手順は次のとおりです。
管理対象VMは限定プレビューです。この機能へのアクセスにサインアップし、課金対応プロジェクトを作成し、管理対象VMで実行するようにホワイトリストに登録できるようにプロジェクトについてお知らせください。次の手順を実行します:
メールを受け取ったら、舞台裏でいくつかのリソースを設定し、プロジェクトの準備ができたらメールで通知します。メールには、セットアップの最終手順が含まれています。これらの手順を実行中にエラーが発生した場合は、app-engine-managed-vm-tt-id @ google.comまでご連絡ください。
Node.jsは、Googleの競合他社であるJoyentによって管理されています。
Node.jsはこれまでにGoogleとリンクしていませんが、実際にはGoogleが開始したオープンソースプロジェクトの上に構築されています。
GoogleはAzureと同じようにこのビジネスに飛び込んだかもしれませんが、すでに多くのPaaSがそれを行っているので、価値がないかもしれません。 GAEを使用したことはありませんが、他のPaaSとはまったく異なり、GAEライブラリを使用してコードを実行する必要があることを理解しています。
これは私の個人的な感覚ですが、実際にはNode.jsコミュニティが探しているものではありません。 Node.jsは、高速で軽量なアプリ(たとえば、電話アプリのAPIの大きなシェア)をすばやく作成するために使用されます。
それでも、Node.jsのPaaSを探している場合は、かなりの数があります。
それらは私の頭の上の名前のほんの一部です。かなりありますが、それらは主要なものです。ああ Herok もありますが、Socket.IOベースのアプリにとっては残念なWebSocketをサポートしていません。
Google Compute Engine(基本的には仮想コンピューター)にノードを簡単にインストールできます。リンクは次のとおりです。 https://developers.google.com/datastore/docs/getstarted/start_nodejs/
よろしくラース
google AppEngineでの長年の経験の後、今は他のクラウドサービスに切り替えています。
google appengineは、実際にはクラウドコンピューティング業界の古いファッションサービスだと思います。新しいテクノロジーには時間がかかり、展開が難しく、APIを学ぶのに時間を浪費し、使用する言語に必要な多くの機能が不足しています。
googleの大規模なコミュニティに関係なく、Google AppEngineを使用することは誰にも勧めません。
[新しいpaas]
オープンシフト、appfog、heroku .etcの新しいpaasクラウドコンピューティングテクノロジーを使用することを強くお勧めします。 specificいプラットフォーム固有のAPIのないライブラリ。
[iaas]
実行中のos環境をさらに制御したい場合は、linode、Digital Ocean、Amazon、googleクラウドエンジン、Microsoft Azureなどiaasプロバイダーを試してみてください。
App Engineはサービスとしてのプラットフォームであり、新しい言語/スタックをGAEに追加するために、Googleは App Engineのサービスの過剰 とインターフェースする中間レベルのライブラリを作成する必要があります。
さらに、 すべてのApp Engineアプリはサンドボックス化されています であり、サンドボックス環境内から制限されたいくつかの機能があります。これは、サービスライブラリを作成する必要性に加えて、GoogleはGAEに導入しようとする言語/スタック用の保護されたサンドボックス環境を作成する必要があることを意味します。
個人的には、2番目の理由は、GoogleがAzureほど積極的な新しい言語/スタックのサポートを導入しない理由だと思います。ある意味では、App EngineはAzureよりも「管理」されており、新しい言語/スタックの初期開発コストが大きくなります。
背景:App Engine StandardとApp Engine Flexible
App EngineにはStandardとFlexibleの2つのバージョンがあるため、このトピックには多少の混乱があるようです。 NodeJSはApp Engine Flexibleでサポートされていますが、[〜#〜] not [〜#〜]on App Engine標準。 (違いのより完全な説明については here を参照してください)。
App Engine Standardは(Flexible環境の場合の数分ではなく)数秒でスケーリングし、無料の枠があるので、1ドルもかけずに開発とデモを行うことができます。これらの利点には、柔軟性が犠牲になります。 App Engine Standardは特定の言語とライブラリのみをサポートし、ディスクへの書き込みもSSHも許可しません。つまり、環境はstandardizedです。
回答:App Engine StandardでのNodeJSサポート
App EngineでのNodeJSサポートStandardに興味がある場合は、この問題にスターを付けてください: https://issuetracker.google.com/issues/67711509 。
Googleは、コミュニティから注目を集める機能に取り組んでいます( here を参照)。この機能に注意を向ける最良の方法は、上記にリンクされているGoogle Issueトラッカーで星を付けることです。
Node.jsは最近、Google Cloudユーザーのサポートを有効にしました。主なドキュメントページは次のとおりです。
現時点ではCompute Engineインスタンスが必要なようです。
Googleは2016年3月21日に、Google App EngineのNode.jsがベータになることを発表しました: https://cloudplatform.googleblog.com/2016/03/Node.js-on-Google-App-Engine-goes -beta.html?m = 1
GoogleもNode.js Foundationに参加し、GoogleはChromeおよびNode.jsを駆動するV8 JavaScriptエンジンを開発しているため、これは予想されていました: https://nodejs.org/en/ blog/announcements/welcome-google /
Googleは同時にNodeSourceとのパートナーシップを発表しました。
Googleは、App EngineでのNode.jsのサポートを発表しました。
参照: https://cloud.google.com/nodejs/
Node.jsアプリをApp Engineにデプロイする方法 の例を次に示します。
Googleはソフトウェア保守的な会社です。 JavaScriptでバックエンドをプログラミングすることは、Googleのマネージャーにとってはまったく想像できません。 Google自身が使用しないインフラストラクチャを作成することは、良い投資ではありません。参照: ミステリーマシンバスからのメモ