Who can answer this question the best??[TECH][JOB]

Jelly

Veteran XX
ESSAY QUESTION: Describe how you would create a fault tolerant, n+1 redundant, no single point of failure, linux cluster that gives public Internet users a PHP generated page served by Apache that displays the page count hit from data stored in MySQL. Assume this cluster will be racked in a state-of-the-art co-location facility. Also, explain how you would harden this cluster considering MySQL should only be accessible from the cluster, and administrator access to the cluster will be made over the public Internet. Be as specific as possible (go as low level as you wish, tweaking /proc, compiling kernel modules, generation of RSA keys, whatever).


k...GOGOGOGOGOGOGOGOOGOGOG

NOTE: Do not feel like you have to spend more than 15 minutes on the question. We are just looking for people that know what they are talking about. This question is entirely theoretical, and in no way will this information be used to actually construct such a system.
 
Last edited:
mnem.jpg
 
Jelly said:
ESSAY QUESTION: Describe how you would create a fault tolerant, n+1 redundant, no single point of failure, linux cluster that gives public Internet users a PHP generated page served by Apache that displays the page count hit from data stored in MySQL. Assume this cluster will be racked in a state-of-the-art co-location facility. Also, explain how you would harden this cluster considering MySQL should only be accessible from the cluster, and administrator access to the cluster will be made over the public Internet. Be as specific as possible (go as low level as you wish, tweaking /proc, compiling kernel modules, generation of RSA keys, whatever).


k...GOGOGOGOGOGOGOGOOGOGOG

NOTE: Do not feel like you have to spend more than 15 minutes on the question. We are just looking for people that know what they are talking about. This question is entirely theoretical, and in no way will this information be used to actually construct such a system.

Easy, take two boxes, install Linux/Apache/PHP on them. Raid the disks for mirroring. Take two more boxes and install MySQL on them, setup the disks for raid 5. Setup replication between the two MySQL boxes for redundancy.

Run the public Internet connection to the two web servers, through a firewall that only allows port 80 connections. Install a 'private' network on a seperate NIC that connects the web and sql box through another firewall, only allowing the MySQL port through.

Setup a VPN box on the public firewall, that allows connections to the private network. Allow only SSH2 connections from the VPN to the private nic on the web/sql boxes.
 
Teflonatron said:
Easy, take two boxes, install Linux/Apache/PHP on them. Raid the disks for mirroring. Take two more boxes and install MySQL on them, setup the disks for raid 5. Setup replication between the two MySQL boxes for redundancy.

Run the public Internet connection to the two web servers, through a firewall that only allows port 80 connections. Install a 'private' network on a seperate NIC that connects the web and sql box through another firewall, only allowing the MySQL port through.

Setup a VPN box on the public firewall, that allows connections to the private network. Allow only SSH2 connections from the VPN to the private nic on the web/sql boxes.

almost exactly what I would have said if I weren't too lazy to think.
 
Jelly said:
ESSAY QUESTION: Describe how you would create a fault tolerant, n+1 redundant, no single point of failure, linux cluster that gives public Internet users a PHP generated page served by Apache that displays the page count hit from data stored in MySQL. Assume this cluster will be racked in a state-of-the-art co-location facility. Also, explain how you would harden this cluster considering MySQL should only be accessible from the cluster, and administrator access to the cluster will be made over the public Internet. Be as specific as possible (go as low level as you wish, tweaking /proc, compiling kernel modules, generation of RSA keys, whatever).


k...GOGOGOGOGOGOGOGOOGOGOG

NOTE: Do not feel like you have to spend more than 15 minutes on the question. We are just looking for people that know what they are talking about. This question is entirely theoretical, and in no way will this information be used to actually construct such a system.

Err, answer will be long and complicated....

I also have to do more research into mySQL. I used to write distributed system fault tolerant and even self-recoverable code for a living....It's not easy to create one and you have to stress test it too.

You bascially need at least 2 of everything if not more. I would prefer to use the old Informix cluster as database because they're more robust but not Informix is gone, sold to IBM, need to look into what's happening with IBM's ofering.

You need a ssytem to monitor your cluster and recover from problems. That system should be written in C, Java, or soem other languages that are more robust than PHP.

Good luck, it's fun to write system a system because I've done it. Making everything work together can be fun then try to make the whole thing recover can be even more fun :)
 
Teflonatron said:
Easy, take two boxes, install Linux/Apache/PHP on them. Raid the disks for mirroring. Take two more boxes and install MySQL on them, setup the disks for raid 5. Setup replication between the two MySQL boxes for redundancy.

Run the public Internet connection to the two web servers, through a firewall that only allows port 80 connections. Install a 'private' network on a seperate NIC that connects the web and sql box through another firewall, only allowing the MySQL port through.

Setup a VPN box on the public firewall, that allows connections to the private network. Allow only SSH2 connections from the VPN to the private nic on the web/sql boxes.

will apache/php automatically mirror there state to the slave server? i.e. if you have a session running on your primary which dies does your secondary know what is going on?
 
Back
Top