View Single Post
Old 2014-05-13, 11:28   #159
ET_'s Avatar
Aug 2002
Team Italia

2·2,383 Posts

Originally Posted by Prime95 View Post
Questions include -- I'm sure there are others:
1) Own the hardware or rent it (and from which ISP)?
2) What are the hardware requirements and cost for owning or renting?
3) How much bandwidth do we need?
4) Linux (or similar) or Windows?
5) Which database?
6) Backup procedures (and/or database replication).
7) If not Windows/SQLServer, timeline for rewriting and testing all the server side PHP code.
8) Who is available to do all the required work?
9) How do we migrate the several GB of data to the new setup?
I have become proficient on cloud servers. They offer lower prices for managed hardware, backup, redundancy and fail-safe / load-balancing operations. You can define an external storage and attach / detach / backup it at will. There is also a possibility to have the whole server automatically backed up in a timely manner.

The main issue is on network outbound traffic, but again it can be carefully estimated, it is possible to add bandwidth on the fly if needed if a new Mersenne prime is discovered.

They offer both Micro$oft and Centos OSes, the latter being cheaper.

On Linux environment, I suppose MySQL EE may offer speed and easy management, including stored procedures.

The server-side PHP scripts should work fine on both environments, once the SQL statements were standard: on a development point of view, we may build an abstraction layer to isolate the database engine calls and make the PHP code more versatile and optimized.

As James pointed out, we only need to setup a group of QA tests to check that everything ran smooth, and backup / restore the system once. We might run the backup and optimization tasks offline, and add and test new features.

We may choose either PaaS or IaaS: the first offering preconfigrued virtual machine snapshots created, optimized and tested offline after cloning the actual servers, the second creating the whole infrastructure having specialized servers, a private network inside the cloud and an elastic IP to connect to the Internet.

Who will take care of the migration and the management of it?
It depends. First of all, we need a detailed task list including each migration / optimization / development step. It can be done overtime, and each task discussed on a dedicated thread.
Once the tasks ar defined, we may look for a human responsible for each task: if we find enough people helping with it, we will proceed to the following step.

I just elaborated upon George's list; I don't want to show preference towards cloud services instead of private/ISP managed ones. As I already did such an analysis for a startup last month, I added my two cents to the discussion.

I'm of course ready to tax myself for the project, and help in any fields where my knowledge can help.

ET_ is offline   Reply With Quote