Bonjour,

Je suis webmaster et je dois mettre en place une infrastructure web (apache/php/mysql) haute disponibilité, tout en ayant un budget limité (environ 60€ par mois) dans le but de réduire au maximum la fréquence des pannes perçues en cas de défaillance d'un service ou d'une panne au niveau de l'hébergeur.
Tant qu'à mettre en place une nouvelle infrastructure, je compte me baser sur un système de load balancing afin d'avoir quelque chose d'évolutif, et d'utiliser les ressources des différents serveurs et ainsi limiter la charge de chacun.

Les deux sites concernés sont actuellement hébergés sur un même serveur VPS avec 4go de RAM, 2 processeurs virtuels et 80Go d'espace disque qui est loin d'être surchargé (moins de 5% des ressources CPU utilisées, et environ 25% de ma RAM dont 10% par MySQL).
Je pense donc que l'utilisation d'instances virtuelles type VPS ou public cloud seraient largement suffisantes tout en limitant le risque de défaillance matérielle.


Cependant, j'ai plusieurs interrogations qui me trottent dans la tête :

1/ Lors de mes recherches sur le sujet, je constate que les solutions proposées se basent sur la création d'un cluster, avec un load balancer (ou non), où tous les serveurs partagent un même réseau privé.
N'est-ce pas là un SPOF (single point of failure) ? En effet, si une panne survient au niveau des services de l'hébergeur, toute l'infrastructure s'effondre...
N'est-il pas possible de créer une infrastructure reposant sur des serveurs basés sur disons deux hébergeurs distincts afin de limiter ce risque ?

2/ Voici ce que je pensais faire afin d'avoir à la fois une architecture évolutive et simple :
- 2 load balancers (afin d'éviter d'avoir un single point of failure à ce niveau) ;
- 2 serveurs web avec Apache, PHP et MySQL ensembles (Je suis bien conscient qu’idéalement il faudrait avoir des serveurs SQL séparés des serveurs Apache, mais ça ne me semble pas utile pour le moment et pourrait facilement être changé par la suite si le besoin s'en fait sentir).
Qu'en pensez-vous? Y a-t-il mieux à faire avec ce nombre de serveurs virtuels ? Y a-t-il de grosses failles dans cette infrastructure ?

3/ Ma dernière question concerne la synchronisation des fichiers. En effet, il me semble logique d'avoir une synchronisation à ce niveau à partir du moment où on est sur un système de redondance actif/aftif (par exemple les photos, en cas d'ajout d'articles).
Quelle solutions existent à ce niveau? Une simple synchro avec par exemple rsync ou Unison ? L'utilisation d'un NAS (mais là encore est-ce qu'on ne s'expose pas à un risque si la connectivité au NAS est coupée pour une raison quelconque) ?

Merci d'avance pour vos conseils !