The last 24 hours have been a pain in the bum, firstly because I've got man flu and keep coughing hunks of lung butter, but mainly because I've been in a quandary about servers. Specifically I've an idea to design and build a system, which uses a server to host a database on the back end to store the data, I've been playing with MySQL for this very purpose and am happy to proceed on technical ground.
But, and its a bit But... I'm not entirely sure what to do about a server in general, I have set up a virtual machine hosting the server on my laptop, so wherever I go I have the server on a local looping back address, great for development. I can copy this virtual machine to other physical hosts. I could even place the development virtual machine (after a security check) on the final host system showing the whole thing to the world at large.
My trouble comes when I think about that final host... Will it be a box in my front room attached to my anaemic cable modem? Will it be one of my physical Dell servers, which I buy hosted rack space for at a data centre? Will it be a hosted server I buy/rent from a data centre?
These questions have no easy answer. Especially as my project has £0 financing until at least in the late alpha stage, when I intend to tout it to a few known interested parties to see if they want to run with it as a concept and pay the bills at my end.
Certainly to host it myself on a box in the front room is free, I can even select to set up the linux server as "Free Software Only". To demonstrate the system on such a slow uplink however could be detrimental, so what about the hosted offerings?
To rent 2U space (this is two wrack slices in a data centre) was not too bad in London, with unlimited I/O with the server for customers, and a simple sign up process the two hosts I looked at were decent enough... but you could not bring the machine yourself, you had to ship it to them, and it had to pass safety checks and power checks and be of a certain age. Neither of my servers passed any of these checks online, let alone in person, they're slightly battered, old, Dell 2650's. Running a vulnerable (to hack) version of Ubuntu Server... Plus, to ship the machine to them for checking would cost almost as much as I paid for the machine in the first instance.
To rent a hosted solution seemed to be the way to go, a little more expensive per hour of operation then using my own machine, but with the advantage of their support and their network behind it. My only concern was to ask whether the data on the machine remained wholly and under my sole ownership. They said it did, but reading the small print of two different hosting solutions I noted phrased such as "access to your data, files and programs, maybe deemed necessary at any time and shall be left accessible to the root or administrative users by your assigned administrator". Essentially, saying they're going to look at the files at any time...
Is this a problem? For my purposes 99% of the time, no, I only planned to place compiled binaries and a database on the machine, none of my intellectual property (IP) would be at risk. Though, its not he IP we're worried about, its that pesky database.
Specifically the users database, these days you have to be very careful storing other peoples personal information, and in a secured database or not, if the machine is not physically on your premises you have you be very careful with your EULA wording to ensure that those signing up to your service know where the box is.
All very tedious, and means I need to go run around checking legal loops before committing to a hosting plan, for what should be a simple enough progression of a small, un-funded, project.