During QConRio, I had the pleasure to meet Andrés Galante, UX Designer at Red Hat, in a quick chat in-between our talks. I got surprised when he recognized me by an article I wrote a long time ago. It was an article about my experience on moving the development environment to the cloud and working from an iPad for a year. He mentioned wanting to do that a long time ago.
Today I’m flattered to see that Andrés decided to try setting up a remote development environment again!
So, Andrés, to help you and all developer friends willing to ditch their computers, I’ll share with you how I create a remote server from zero. This is a short compilation of what I learned in the last 3 years.
WHY DOING THAT AT FIRST PLACE?
The three main reasons for moving your development environment to the cloud are:
REASON 1: USE THE LINUX COMMAND LINE
If you are not on a Linux, you’ll have some friction using the command line. No matter if it’s Mac or Windows. Your command line is OS oriented. And nothing feels better than working on a Linux.
I love Mac. But I prefer working on Linux command line. With a remote server, I can use both.
REASON 2: WORK ANYWHERE (EVEN FROM AN IPAD)
Your life as a developer depends on your computer. You devoted hours of your life crafting a development environment that would work for all your projects. You might have no idea of what you’ve installed on it already. You just know that it works. Let anything happen to that computer and you will spend at least a week to properly setup another one.
If you setup a remote server, your development environment is safe on the cloud.
Now looking from a less tragic point of view: imagine your computer is just out of battery and no one has a compatible charger to lend you. But there is a spare computer you can use. Can you work just for one day on a different computer? A few developers will, but not without some discomfort.
REASON 3: HAVE A PUBLIC LOCALHOST
What do you do when you want to show your localhost to others?
Usually, it is no easy task. You have to commit everything you’ve done, stash any leftover code, push it to a server, and wait a minute to see changes applying.
With a remote server, you can just share your public address: your server’s IP or a custom sub-domain.