##Option 1 : a Raspberry pi No, this is not a joke. I’m currently running a raspberry pi at home with Linux installed (pretty much the only option) and it has, among others, nodeJs and MongoDb installed. The raspberry pi is simply connected to my home router and luckily my internet provider allows me to use port 80, so it’s publicly available. Obviously, I did set up the DNS accordingly. The following pictures show my pi in my office. I should definitely buy a decent case for that little baby.
I installed, as kind of test a copy of my previous pragmaswitch blog (which I imported in Ghost). Currently (January 2015) it’s available here, but I might use it later on for other purposes. You might notice it runs pretty fast ! Although you could, I’m not pretending you should install production applications on a raspberry pi, but it is definitely a very good choice as staging environment. Since it has a low cost processor, you will notice quite easily performance problems in your application. Even for a blog (in production mode) it would be a great choice if you want a real very low cost solution. You only need to work out a decent backup strategy. It’s really low cost because you have not the variable cost of a hosting provider and when it comes to energy consumption: a raspberry pi is connected to a cell phone charger and runs on 5 Volt, so Greenpeace will not protest ! ##Option 2: azure Microsoft understood quite well the power of Linux and they offer nowadays great support for e.g. Ubuntu servers. Let’s quickly walk through the steps to setup an Ubuntu server. It’s very straightforward. ######Create a new virtual machine from the azure management portal ######Select the Ubuntu server template ######Provide a name and user You can work with a user name/password combination or optionally provide directly an SSH key. It’s always possible to add the RSA public key afterwards and disable login via username/password on the Linux box. In case you are not familiar with generating RSA key pairs, it’s best to go first for the username/password approach. But note that for serious work, you should definitely use RSA ! ######Select a region ######Add an endpoint ######Select http as endpoint In case you plan to use SSL on your web app server, add also the 443 port for SSL. ######Log into your server via ssh The best choice, when connecting from a windows machine, is here to use putty. In case you connect from a mac or a Linux machine, SSH is available directly from the command propmt.
##Option 3: digital ocean My favorite ! Digital Ocean is definitely a more democratic option. Their plans starts from 5$ a month for full root access to a Linux box making use of a solid state drive ! The steps to create a ‘droplet’ (that’s their name for a virtual machine) is so simple that I won’t go further into detail here.
##What’s next? In the next episode, we’ll install our web server on the Linux box and install something on it. But we’ll also explain why I selected Nginx. Which option you selected above is irrelevant. Stay tuned !