Nodejitsu

Nodejitsu is another Node.js PAAS that offers a free plan.  The free plan is shared hosting through Joyent.  The performance of NodeJitsu’s free plan is very good, especially considering it’s free.  To start sign up on NodeJitsu’s site with the free plan and then follow the Getting Started instructions.  It was a very quick process on Windows.  You can use either their command line, Node.JS based jitsu tool, use the admin web site or use the HTTP API.

Executing the basic jitsu command will show you the following information:

G:>jitsu
info: Welcome to Nodejitsu
info: It worked if it ends with Nodejitsu ok
info: Executing command
help: ___ __
help: / / / /_ / /
help: __/ / / __/ /__/
help:
help: Flawless deployment of Node.js apps to the cloud
help: open-source and fully customizable.
help: https://github.com/nodejitsu/jitsu
help:
help: Usage:
help:
help: jitsu <resource> <action> <param1> <param2> ...
help:
help: Common Commands:
help:
help: To sign up for Nodejitsu
help: jitsu signup
help:
help: To log into Nodejitsu
help: jitsu login
help:
help: To install a pre-built application
help: jitsu install
help:
help: Deploys current path to Nodejitsu
help: jitsu deploy
help:
help: Lists all applications for the current user
help: jitsu list
help:
help: Additional Commands
help: jitsu apps
help: jitsu logs
help: jitsu env
help: jitsu conf
help: jitsu users
help: jitsu databases
help: jitsu snapshots
help: jitsu logout
help:
help: Options:
help: --version, -v print jitsu version and exit
[string]
help: --localconf search for .jitsuconf file in ./ and then parent dir
ectories [string]
help: --jitsuconf, -j specify file to load configuration from
[string]
help: --noanalyze skip require-analyzer: do not attempt to dynamically
detect dependencies [boolean]
help: --colors --no-colors will disable output coloring
[boolean] [default: true]
help: --release, -r specify release version number or semantic increment
(build, patch, minor, major) [string]
help: --raw jitsu will only output line-delimited raw JSON ( use
ful for piping ) [boolean]
info: Nodejitsu ok

To add a MongoDB NoSQL Database is really simple!

jitsu databases create mongo myMongo
info: Welcome to Nodejitsu tspannnodejs
info: It worked if it ends with Nodejitsu ok
info: Executing command databases create mongo myMongo
info: A new mongo has been created
data: Database Type: mongo
data: Database Name: myMongo
data: Connection url: mongodb://nodejitsu:c23948239348239482934@st
aff.mongohq.com:10064/nodejitsudb684248241564
info: Nodejitsu ok

To create your first test app, you can install their demo Hello World application as follows:

jitsu install helloworld
Directory of paasnodejitsuhelloworld
07/20/2012 12:41 PM <DIR> node_modules
07/20/2012 12:41 PM 1,015 package.json
07/20/2012 12:41 PM <DIR> bin
07/20/2012 12:41 PM 1,534 ReadMe.md
2 File(s) 2,549 bytes
4 Dir(s) 2,900,639,744 bytes free
cd helloworld
jitsu deploy
info: Welcome to Nodejitsu tspannnodejs
info: It worked if it ends with Nodejitsu ok
info: Executing command deploy
warn:
warn: Your package.json file is missing required fields:
warn:
warn: subdomain
warn:
warn: Prompting user for required fields.
warn: Press ^C at any time to quit.
warn:
prompt: subdomain: (tspannnodejs.helloworld)
warn: About to write G:paasnodejitsuhelloworldpackage.json
data:
data: {
data: contributors: [
data: { name: 'Marak Squires', email: 'marak.squires@gmail.com' },
data: { name: 'Joshua Holbrook', email: 'josh.holbrook@gmail.com' }
data: ],
data: dependencies: {},
data: repository: { type: 'git', url: 'git://github.com/nodeapps/hellowor
ld.git' },
data: bugs: { url: 'https://github.com/nodeapps/helloworld/issues' },
data: subdomain: 'tspannnodejs.helloworld',
data: engines: { node: '>=0.4' },
data: optionalDependencies: {},
data: analyze: false,
data: name: 'nodeapps-helloworld',
data: devDependencies: {},
data: scripts: { start: 'node ./bin/server' },
data: author: { name: 'Nodejitsu Inc.', email: 'support@nodejitsu.com' },
data: main: '',
data: description: 'a very basic node.js helloworld application',
data: homepage: 'http://nodeapps.github.com/helloworld',
data: version: '0.2.0',
data: licenses: [
data: { type: 'MIT', url: 'https://github.com/nodeapps/helloworld/raw
/master/LICENSE' }
data: ],
data: keywords: [ 'nodeapps', 'helloworld' ]
data: }
data:
prompt: Is this ok?: (yes) yes
info: Skipping require-analyzer because noanalyze option is set
info: Checking app availability nodeapps-helloworld
info: Creating app nodeapps-helloworld
info: Creating snapshot 0.2.0
info: Updating app nodeapps-helloworld
info: Activating snapshot 0.2.0 for nodeapps-helloworld
info: Starting app nodeapps-helloworld
info: App nodeapps-helloworld is now started
info: http://tspannnodejs.helloworld.jit.su on Port 80
info: Nodejitsu ok

 

You can see the deployed application here.

This NYC Node.js PAAS is very performant with a fast easy to use tool.  I am liking them so far.  They are also very Node.JS oriented, being the only of the PAAS vendors to use Node.JS for their command line tool.

They have also developed the very interesting FlatIron Framework, which I will be looking at next.

 

 

 

 

 

 

Leave a Reply