October 18, 2012 - by Laurel Reitman, VP of Product at Joyent and Maciej Malecki, Node.js Core Contributor and Engineer at Nodejitsu
We love Node.js. We’ve done work up and down our stack to help make Node.js easy to use for developers and to make sure the Joyent Cloud is the best place possible to run a Node.js application by introducing strong debugging tools and killer performance. But we also know that sometimes, when you love something, you have to set it free. For a while, we took a stab at a Node.js PaaS with no.de service, but we realized that our real core competence is building a stable and performant infrastructure-as-a-service.
Then, we met Nodejitsu and saw that they were doing an amazing job with the PaaS layer for Node.js. We decided to pair their awesome user experience with our amazing infrastructure platform. Now, customers can get the best developer PaaS for node.js with Nodejitsu and benefit from the core infrastructure work at Joyent.
Nodejitsu offers newer versions of node, great customer support, features like WebSockets and multi-cloud deployment targets (coming soon!) all on the best operating system to run your Node.js application: SmartOS Joyent SmartMachines.
If you’ve been working on No.de, we want to make sure your application keeps running and that your transition is as smooth as possible. We caught up with Maciej Malecki , a member of Nodejitsu’s DevOps team, and he laid out the following upgrade instructions to help you upgrade before October 31st.
Here’s what you’ll need to know:
Nodejitsu only installs latest versions of node: v0.6 and v0.8.
At this point node v0.4 should not be considered production quality. Many bug and security fixes have been introduced in latest releases and didn't find their way into latest node v0.4 release.
If you need help with upgrading your application, here are some resources for you:
Also, feel free to drop by our IRC channel to get support from the Nodejitsu team and fellow coders.
To deploy to Nodejitsu, you need our CLI tool, jitsu. You can install it really easily with npm.
[sudo] npm -g install jitsu
Now, jitsu command should be globally accessible.
There are 2 ways to sign up for a Nodejitsu account: through the website and with jitsu.
jitsu command responsible for signing up is jitsu signup. jitsu will prompt you for username, email address and password and create an account for you. In both cases, you'll receive an email with instructions on what to do next.
The major difference between no.de and Nodejitsu deployment is the method of sending code to servers. no.de uses git-based deployment, while at Nodejitsu we simply pack your code into a tarball using npm. Therefore, to deploy you don't need to commit your changes into version control. At any point in time you can execute the jitsu deploy command and have your changes reflected in the code running on a remote server (obviously, you should still use version control; it's just no longer required for deployment).
So, here’s how your typical deploy will look:
[maciej@pc08 test-app]$ jitsu deploy info: Welcome to Nodejitsu nodejitsu info: jitsu v0.9.7 info: It worked if it ends with Nodejitsu ok info: Executing command deploy info: Analyzing your application dependencies in app.js info: Checking app availability test-app info: Creating app test-app info: Creating snapshot 0.3.5-46 info: Updating app test-app info: Activating snapshot 0.3.5-46 for test-app info: Starting app test-app info: App test-app is now started info: http://test-app-21421.jit.su on Port 80 info: Nodejitsu ok
Another difference is way of accessing server logs. no.de offered SSH access. Accessing logs is a bit different at Nodejitsu - you can fetch them using jitsu. For example, to get 5 most recent lines of logs from app home:
[maciej@pc08 ~]$ jitsu logs app home 5 info: Welcome to Nodejitsu nodejitsu info: jitsu v0.9.7 info: It worked if it ends with Nodejitsu ok info: Executing command logs app home 5 info: Listing logs for home [08/29 23:09:12 GMT+0200] [served] /css/normalize.css [08/29 23:09:11 GMT+0200] [served] / [08/29 23:08:59 GMT+0200] [served] /paas/tools.html [08/29 23:08:15 GMT+0200] [served] /img/visuals/visual-2.png [08/29 23:08:15 GMT+0200] [served] /img/visuals/visual-3.png info: Nodejitsu ok
You can access more help about that command by executing jitsu logs in your terminal.
If you were using a custom domain with no.de, you need to apply some changes to your DNS set up. Instructions on how to do that can be found at dns.jit.su.
Nodejitsu would love to help and make the transition as pleasant as possible! Talk to them at #nodejitsu at Freenode IRC or at firstname.lastname@example.org.