I'm trying to get a handle on the concepts and best practices of cloud development with Node.js, because I haven't found a good explanation.

  1. When you buy a virtual machine from Rackspace or wherever, do you get SSH access and then you can run whatever you want within the limitations of your RAM/CPU allocations?

  2. Can we run a MongoDB process in the same virtual machine as Node, or do we need to purchase a separate virtual machine? Would communication between the two be faster on the same virtual machine than if they were separate?

  3. Is it a good idea to use nginx in conjunction with Node for serving the static files? (Same virtual machine or different ones?)

  4. Our application requires a database and GraphicsMagick for image manipulation. If we use a service like Heroku or Nodejitsu (I believe these are called platform-as-a-service) then all we get is an instance of Node, not a whole virtual machine, and therefore we will have to shop elsewhere for our database hosting and GraphicsMagick processing power, correct?

  1. Yes.
  2. Yes, you can run them on the same machine. Whether it would be faster depends on the same machine depends on the specs of the machine as well as the specs of the network. If you have a low end machine, network maybe faster.
  3. I believe most people use nginx as a proxy to send web requests to the correct node server. https://stackoverflow.com/questions/5009324/node-js-nginx-and-now
  4. It says on Heroku's website, "Run Anything". They also offer DB options. Nodejitsu says it has support for ImageMagick. The idea with these two services is to be an all-in-one package. Whether or not that's true is up to you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.