The age of the commodity development VMs has arrived.
Nitrous.IO has just gone into public beta, making it officially the latest entry into the virtual machine hosting market, with a twist: Nitrous.IO focuses on providing cloud-based development boxes and tools, rather than production environments.
I'd been champing at the bit to get a look ever since I first read about the concept a few months back when it was called Action.IO, and, over the weekend, I got my chance.
It took less than 30 minutes from getting the email from Nitrous.IO to get logged in, verify my email, read the documentation, and set up my first fully functional dev box with a Ruby/Padrino project installed and running.
To repeat the process would probably take less than 5 minutes, and most of that would be waiting for gems to install.
The way Nitrous.IO is set up tells me that it has learned well from some of the big success stories of the web.
Like Heroku, Nitrous.IO offers simple VM hosting and management in multiple development languages (Ruby/Rails, Python/Django, Node.JS, and Go, but a promise of more languages soon). It's easy to set up a new box, and resource allocation is child's play.
Like Dropbox, Nitrous seems to plan on offering a free service with enough resources to run a minimum spec box without the need to pay any fees. And like Dropbox, it offers the ability to boost the available machine resources by linking accounts (Google, LinkedIn, and GitHub, with Facebook and Twitter coming soon) or by referring friends to the system.
Finally, like Google Docs, Nitrous.IO offers an entirely web-based solution. That's not to say that you can't dev using your own IDE, connecting to the server via SSH, etc, but you don't need to. The cloud-based tools provided mean you can configure, manage, build, and edit entirely from within the browser — no installs, no configurations, total mobility.
I mentioned a minimum machine, but the specs are pretty reasonable, and so far, the performance of the beta has been great.
When you sign up, you get given a certain amount of "N2O" points, and you use these points to build a box. The simplest box uses 150 points, and comes with 384MB of memory and 750MB of storage.
An extra 40 points would take the box up to 512MB of memory, and you could get that much by referring four of your friends to the service — or you could simply buy it for about $2.45/month. (Note: That's from its pricing page; the system is still in beta, so paid subscriptions don't appear available yet.)
I was very happy to see that it offers a choice of regions that include Oceania, so people can choose sites closest to themselves for the best possible performance.
Compared to setting everything up on a local machine for development, Nitrous.IO is a breeze, super fast and super easy.Releasing code to it via Git is as easy as running
git clonefrom the in-browser terminal. The file browser and WebIDE don't seem to have any built-in Git support yet, but it's hard to believe that it's not on the to-do list.
The WebIDE is minimal, but workable for writing and editing code. It lacks most of the bells and whistles that developers come to expect from their desktop IDEs, but that's OK, because you can still use your own IDE if you want.
One of the most interesting elements is the experimental collaboration feature. Having set up a machine, you can invite others to it, so people can work on projects together, and if you open a file in the editor in "colab" mode, you can actually see others typing in it.
A chat window is included for swapping messages, but it also intelligently reports and shares activity like opening and saving files. My wife and I played with this for a bit. She invited me to her dev machine, I connected, browsed for a bit, and created a new file in colab mode. My wife only had to click the link in the chat window to go straight into the same file to see what I was doing.
I really hope they keep and enhance this feature, as I think it shows fantastic promise.
Of course, the system is in beta, so it's not perfect, but I was hard pressed to find actual bugs — and, more importantly, I was hard pressed to find any features I would want to swap out. The WebIDE, for instance, may be minimalist, but the features it does have are the features you'd insist on first.
As I said, the WebIDE and collaboration features are likely to be the "killer app" in this market. With them, I can invite a new developer into a project with zero lead time, and best of all they don't need to change their personal dev environment in any way to see and contribute to my project.
It also means that you need nothing more sophisticated than a chromebook or connection in an internet cafe to be in full development mode.
In fact, I have only one wish at the moment: That the WebIDE completely works on my iPad. In fact, I could edit just fine, but the in-browser terminal refused to detect keyboard events. I could use third-party apps for editing and SSH, but I love the idea of having it in a browser and using the full power of collaboration on a truly mobile device.
The thing to remember when you look at Nitrous.IO is that it's for development, not production. This is not a service for hosting live websites; it's for hosting development environments where code can be written, run, and tested before being deployed to a production environment.
If you're a developer or even if you're a techie who manages developers, I recommend investing 30 minutes in signing up and getting your head around Nitrous.IO, because the impact on costs and accessibility for small to medium teams could be remarkable.