Does Nodejitsu support neo4j? - node.js

I want to use Nodejitsu to host my Node.js app. The app also uses Neo4j. Does Nodejitsu provide any kind of support for that? Or do I need to host Neo4j separately (and pay for all network traffic)?

Nodejitsu doesn't support native Neo4j integration. If you can host a Neo4j service or find one you can use it, and for node.js applications you can use the neo4j api with https://github.com/thingdom/node-neo4j
I will try to find the best answer for you, if I can find anything about Neo4j hosting i will update this question.

Related

How to host nodejs application with sockect.io

I have build an chat application using nodejs with mysql database. I have developed on my windows system and it works fine.
Now I want to make it live on a server to check its real time performance, As a beginner I don't know which server hosting should I choose to develop nodejs application, so someone please suggest me a hosting for nodejs application?
If you want something relatively easy to test on, Heroku will provide you with a free instance.
I can also recommend Azure over Amazon for a simple nodejs based app. The main reason is that Azure has a very simplified interface for deploying node apps after a little bit of minor setup. Amazon offers similar capabilities, but the last time I looked at them they aren't quite as simple to get up and running. Again, they're competitive in cost and reliability, this is just a subjective opinion on what I think will be easier for a dev to get up and running without prior experience.
I use Dokku, an open source solution for a Heroku like PaaS. Either of those are great for doing git style deployments. Heroku has better documentation, and doesn't require your own server so I would start with them.
https://www.heroku.com
http://dokku.viewdocs.io/dokku

Using google memcache in nodejs session

I would like to migrate from vm to app engine with an node.js app.
How can i use session in this case, I know i should use 'google memcache' to make an cross vm session but how should i do it?
I saw that there are some node module that can store the session in memcache db but the google memcache is different.
Is this the best solution? or should i use mysql db ? i care a lot about the performance of this app.
Thank you for the help.
For the reference:
https://github.com/GoogleCloudPlatform/appengine-nodejs
You don't need to use the appengine-nodejs project here. You automagically get a memcached instance with your app running at memcache:11211, and you can use the standard memcached driver to use it. I put together a quick demo of using express and connect-memcached here:
https://gist.github.com/JustinBeckwith/e25983cd50ab21a6b8ad
You can see it running here:
https://express-memcached-demo.appspot.com/
We will work on getting our docs updated. Hope this helps!
Unless you signed up for the Google App Engine flex memcached alpha, the best (or at least most well documented) way to access memcached on App Engine for a Node.js application is documented here: https://cloud.google.com/appengine/docs/flexible/nodejs/using-redislabs-memcache

Can Meteor be used with PaaS services?

Am I correct in the assumption that without access to the MongoDB server, there is not much point developing with Meteor?
Meteor is a great framework for building, packaging and deploy apps and sites. From a development POV, the templating and responsive DB work make prototyping so much easier than most MVC's.
I understand that underneath the hood, websockets and DDP provide the realtime sync'ing magic which means that you need access to the MongoDB server, something you don't have with PaaS solutions like GoogleAppEngine, Parse or Kinvey.
So, for the backend developer, they don't derive much benefit from Meteor since they need to maintain the server stack and scalability issues.
Is there a path to create and deploy products with Meteor without having to build and maintain the backend infrastructure? Heroku is still pretty close to the bone when it comes to managing infrastructure.
Wondering if there's a way to have CRUD operations through a REST driver that maps out to whatever PaaS you want and have the PaaS post log changes to a server that strictly handles websocket connections. Basically, pass the CRUD operation to a PaaS and maintain your own websocket server/s.
MeteorPedia has a page on deploying to PaaS: http://www.meteorpedia.com/read/Category:PaaS_providers
Recently, Google AppEngine has added support for custom VMs.
You can also use MongoHQ or similar for the database.

Scaling Node.js App - Which provider?

I have been working with a couple Node.js frameworks to create applications of which I typically use Heroku to deploy. Recently I came across this disclaimer on Derby's documentation page that states:
Note that while Derby supports multiple servers, it currently requires
that clients repeatedly connect to the same server. Heroku does not
support sticky sessions or WebSockets, so it isn’t possible to use
more than one dyno. You’ll have to use a different hosting option to
scale your app.
This is obviously concerning for scalability. Because of the statement above, I understand it is not a Node limitation, but a Heroku limitation.
First, is this accurate? That is - I cannot scale Node apps on Heroku?
If that is the truth, where should I turn? AWS?
Thanks.
Derby is not a typical Node.js app. Derby (and Meteor) are essentially complete frameworks built on top of Node. Websockets is not yet supported on Heroku: https://devcenter.heroku.com/articles/using-socket-io-with-node-js-on-heroku
However, the typical alternative to sticky sessions for regular Node apps is to use a datastore like Redis (or Postgres or Mongo) to store session data. This is a far more robust approach than sticky sessions, as it's resilient to the failure of any particular device.
Take a look at http://12factor.net/ for more info on horizontal scaling.

hostgator vps level 1 & node.js

I've acquired a hostgator vps level 1 account to use with node.js development. But when it comes to servers I'm a bit of a noob so I was wondering if the more experienced developer could give me suggestion of to setup my new account to work best with node.js. What would you recommend me to install. Apache? Python? Php? and so on?
Would you recommend me to use Haraka as an email server?
I'm planning to use this server for websites and services with node.js as the backend.
Any suggestions would be appreciated and could possible be good for other getting the same type of account. =)
PHP and Python have no relation to Node.js/Javascript. Remember that, unlike PHP apps which rely on a third party web server (i.e. Apache/Nginx/IIS), Node.js apps act as their own web server. If you don't need Apache, don't install it. It takes up resources and will most likely be listening on port 80 (preventing your node app from doing so).
Node requires only a very minimal environment. You should install Node.js, and probably a C++ compiler. Other than that, it simply depends on what you need for your particular app.
There are lots of resources for how to get started with node. For example: https://stackoverflow.com/a/5511507/2210128

Resources