I have discovered the future of development and it is staggeringly beautiful. Perhaps more so in theory and practicality than aesthetic beauty, but beauty nonetheless.
It is the combination of a cloud IDE (Nitrous.io), cloud version control (Github) and cloud hosting (Jelastic). Meaning I could theoretically cut code for a production environment on a Windows 95 PC in an internet café in Vietnam, if the need takes me.
A quick breakdown of the workflow I have setup:
- Login to my Drupal box (one I built earlier) on Nitrous.io and pull the latest development branch
- Write my impeccably clean, logical module within the cloud IDE and then preview on the same box
- Realistically spend time debugging, then when all works as expected and desired…
- Merge the changes into my staging branch
- My Jelastic staging server will check for any changes in Git, and once it finds a change, it will
pull down and patch the amends in
- This is where extensive testing comes in, to ensure that it passes UAT
- Once signed off by client / myself, then the changes are merged into the master branch
- I will then login to the Jelastic production server and pull the latest changes and patch in to production
Voila – that’s it.
There is absolutely no need for me to go anywhere near a xampp or var directory, as nothing application-related sits on my local machine, it is all done in the cloud. The wondrous, magical, often mis-understood cloud.
Perhaps I am currently blinded by the novelty, but as an avid Chromebook user with very real plans to hit the road soon, this setup is something I have been craving for. As mentioned above, development can be done from anywhere with an internet connection. So should my Chromebook decide to commit suicide, I can jump onto another machine and carry on with my coding commitments. Admittedly I could go down the route of installing Ubuntu as the OS for the Chromebook, but having done it before, I am vastly more impressed by cloud environments.
At the time of writing, Nitrous provided the following environments for use: PHP, Python, Ruby, Node.js, Go and Meteor, as well as a variety of databases and add ons to make life easier, such as phpMyAdmin.
You can sign up for a free plan where you get one box with the language of your choosing, with the only restriction being that the box powers down when not in use. In reality, all this does is add a ~30 second boot time to the box. All your data is still saved, and the environment spins up as if you had never been away. You’re also given terminal access to your workspace, and some form of FTP (although I’ve not used this yet) meaning you can adapt the environment to fit in with your workflow.
The cheapest paid plan gives you 3 boxes where again you choose the language you’re going to build your applications in and mix and match to your hearts content. The key difference now being – that they simply don’t power down. So 3 virtual boxes. In the cloud. With solid reliability. For $19.95 a month. They also offer larger plans, the details of which you can find here.
I’ve tried Cloud9 before and couldn’t stand the lag, and the unreliability of the save function, with the browser request often bailing before it saved.
I don’t really know what you personally are looking for in a cloud development environment, but I would strongly suggest giving it a try. Especially given you can trial it free of charge.