why is javascript node.js not on google app engine

Solution 1:

Node.js is maintained by Joyent, who is in a way a competitor of Google.

Node.js has no link what so ever with Google but is in fact built on top of an open source project started by Google.

Google might jumped into this business just like Azure did, but there are already so many PaaS doing it, it might not be worth it. I have never used GAE, but my understanding is that it is quite different that other PaaS and you have to use GAE libraries to make your code run.

Which, this is my personal feeling, is not really what the Node.js community is looking for. Node.js is used to quickly make a fast lightweight app, a big share for APIs for Phone apps for example.

Nevertheless if you are looking for a PaaS for Node.js, the are quite a few out there:

  • Joyent (nodejitsu)
  • dotCloud which has WebSockets support.
  • Windows Azure
  • Nodester (bought by App Fog recently)
  • Any Cloud Foundry host should support Node.js too.
  • and many more...

Those are just some names off the top of my head. There quite a few but those are the major ones. Oh there is Heroku too, but they don't have support for WebSocket which is a bummer for any Socket.IO based app.

Solution 2:

As of June 2014, Google had a limited preview for custom languages on Google App Engine (which is different from Google Compute Engine).

Watch Building Node.js applications with App Engine and Custom Runtimes and check out https://cloud.google.com/appengine/docs/managed-vms/:

App Engine now offers a second hosting option: Managed VMs. The Managed VM hosting environment lets you run App Engine applications on configurable Compute Engine Virtual Machines (VMs). You can also use Managed VMs to deploy user-configurable custom runtimes, such as for Node.js and other runtimes.

The procedure to get into the beta is:

Sign up and create a Managed VM project

Managed VMs are in Limited Preview, you must sign up for access to this feature, create a billing-enabled project, and tell us about your project so we can whitelist it to run in a Managed VM. Follow these steps:

  1. Sign up for access to Managed VMs.
  2. Join the app-engine-managed-vms Google Group to participate in discussions about Managed VMs.
  3. Projects (or apps - they are the same thing) must be in a U.S. data center. If you're planning to use an existing project, skip to the next step. Otherwise, create a new app in a U.S. data center. Navigate to https://preview.appengine.google.com and create a new app.
  4. Enable billing for the project. Visit the page https://cloud.google.com/console/project/apps~, where is the ID of your project. Click on Settings in the left menu and then enable billing. If your app is billed under a Premier account, email us at [email protected] to have your new Cloud project billed under the same account.
  5. Send an email to [email protected] with the application ID in the subject line.

When we receive your email, we’ll configure some resources behind the scenes and notify you via email when your project is ready to go. The email includes final instructions for setup. If you encounter an error while following these instructions, contact us at [email protected].

Solution 3:

You can easily install node on Google Compute Engine (which basically is a virtual computer). Here is a link: https://developers.google.com/datastore/docs/getstarted/start_nodejs/

Regards Lars