Hébergement web sans échec

Je travaille en maintenant un logiciel SaaS que nous avons développé en interne, et il ne peut vraiment pas être hors ligne. Être en mode hors connection dérangera la plupart de nos clients et entraînera vraisemblablement la perte de certains contrats.

Nous hébergeons une bonne société d'hébergement – Media Temple, mais récemment, nous avons eu un certain time d'arrêt en raison de leur server DNS en panne, et nous ne pouvons vraiment pas prendre ce risque. Je comprends que les sociétés d'hébergement ne peuvent pas garantir 100% de disponibilité, alors je pensais qu'il y avait un système de security pour l'hébergement Web. J'ai essayé de le décrire, mais il semble que nous ayons toujours un seul point d'échec. Quelle est la manière la plus sûre d'héberger un site?

Je pensais à cela, mais après les dernières questions techniques qu'ils m'ont fait reconsidérer. S'il y avait un moyen de faire en sorte qu'un server soit la sauvegarde d'un autre, je serais heureux d'adopter, par exemple, Amazon et MT.

Oui, c'est assez commun. Il y a encore toujours des points d'échec, mais vous pouvez rendre les points d'échec less susceptibles d'échouer.

Si vous utilisiez les services Web d'Amazon, vous devez configurer deux instances EC2 identiques. Vous auriez les bases de données connectées via la réplication maître-maître, de sorte que chaque server possède les mêmes données et vous vous assurerez que le même code est sur les deux.

Devant ces deux servers, vous auriez un Amazon ELB (Elastic Load Balancer). Les ELB peuvent détecter si un server est déconnecté et le retirer de la rotation, et les scripts d'Amazon surveillent votre ELB et le remplacent s'il commence à être décalé.

Encore une fois, cependant, rien n'est 100%. AWS a eu sa propre panne importante récemment. Cela aidera, certainement, probablement à vous donner neuf ou deux autres de fiabilité, mais comme je l'ai dit dans mon commentaire, même certaines parties de Facebook, Google et Amazon sont en panne parfois.

Bien qu'il n'y ait aucun moyen d'assurer un time de disponibilité de 100%, vous voudrez peut-être consulter un roi de solution d'équilibrage de charge tel que Keepalive. L'équilibrage de charge vous permettra d'avoir plusieurs servers Web pour la redondance au cas où l'un des servers descendait. Votre hôte actuel devrait déjà proposer une sorte d'installation d'équilibrage de charge.

Vous pouvez améliorer la disponibilité de votre DNS en utilisant vos propres servers DNS hébergés dans plusieurs sociétés d'hébergement (au less 2 différentes). Les adresses de ces servers de noms seraient publiées dans les loggings NS sur les servers de noms de TLD que nous pouvons considérer toujours disponibles (ceci est vrai pour au less des TLD énormes comme com). Si un de vos servers de noms échoue, les résolveurs DNS utiliseront un autre automatiquement.

Prenez soin de choisir de bonnes sociétés d'hébergement géographiquement éloignées les unes des autres et utiliser des FAI différents (ils devraient avoir des liens avec plus de FAI).

Si ce service est vraiment, vraiment important pour votre entreprise, il n'y a pas d'autre choix que de l'intégrer à la maison.

Si vous faites cela, vous devriez l'avoir hébergé sur au less deux servers, sur des sites distincts, dont chacun devrait avoir des liens vers deux FAI, ainsi que des stream de puissance de preference de différents fournisseurs. Les liens externes (alimentation et données) doivent entrer dans les bâtiments via des routes distincts.

Dans la mesure du possible, les servers doivent être assemblés (comme c'est le cas de nos jours de toute façon) afin que les composants les less fiables (l'alimentation et les disques durs) soient doublés. De toute évidence, le réseau doit être construit de sorte qu'il n'y ait pas de point d'échec unique dans le réseau local.

Bien sûr, si le service n'est pas vraiment important, laissez-le avec un tiers que vous ne pourrez jamais contrôler et qui aura toujours une bonne excuse que vous pouvez transmettre à vos clients (qui ne comprendra pas pourquoi vous utilisez un server que vous n'avez jamais vu).