Quel est le bon moment pour introduire la haute disponibilité pour le site Web?
Il existe de nombreux articles sur les options de haute disponibilité. Ce n'est pas si évident cependant QUAND est le bon moment pour passer d'un serveur unique à une configuration à haute disponibilité.
Veuillez considérer ma situation:
http://www.postjobfree.com est un site Web 24/7 avec un trafic important:
http://www.similarweb.com/website/postjobfree.com
Actuellement, je l'exécute sur un seul serveur: le serveur Web IIS 7.0 et SQL Server 2008 s'exécutent sur la même boîte matérielle.
Il y a occasionnellement (~ un par mois) ~ 5 minutes d'indisponibilité généralement provoquées par le redémarrage requis par certaines mises à jour de Windows Server. Habituellement, les temps d'arrêt sont prévus et se produisent la nuit. C'est toujours désagréable, car Google Bot et certains utilisateurs sont toujours actifs la nuit.
Les revenus actuels du site Web sont d'environ 8 000 $ / mois.
J'envisage de passer à la configuration à deux serveurs (batterie de serveurs Web de 2 serveurs Web et cluster de 2 serveurs SQL hébergés sur deux serveurs matériels).
Avantages:
1) Haute disponibilité (théoriquement aucun temps d'arrêt). Même si l'un des serveurs tombe en panne - un autre serveur prendrait le relais.
2) Aucune perte de données: sans cluster SQL, jusqu'à un jour de données peut être perdu en cas de panne matérielle (nous effectuons une sauvegarde quotidienne).
Inconvénients:
1) Plus d'efforts pour installer et maintenir une telle configuration.
2) Coût d'hébergement plus élevé. Au lieu de ~ 600 $ / mois, ce serait environ 1 200 $ / mois.
Quelle serait votre recommandation?
la source
Réponses:
Réponse courte: lorsque le temps d'arrêt ou son risque vous coûte plus cher qu'il ne vous en coûterait d'avoir une haute disponibilité.
C'est fondamentalement une décision économique. Par exemple. 8 000 $ / mois implique qu'une interruption de 2 heures vous coûtera 22 $. Si vous pouvez configurer votre système de sorte que vous puissiez passer de zéro à un site entièrement fonctionnel en 2 heures, la haute disponibilité ne vous rapportera que 22 $ de fonctionnalités au-delà.
Autrement dit, vous pouvez économiser de l'argent à moins que / jusqu'à ce que vous ayez 54 heures d'arrêt non évitables dans un mois donné.
la source
Vos parties prenantes / gens d'affaires (qui pourraient être vous!) Doivent décider
La perte de revenus est facile à quantifier: le reste ne peut pas être répondu ici désolé ...
la source
Je pense que la plupart des utilisateurs peuvent gérer un peu de temps d'arrêt planifié. Considérez que ebay a des mises à jour hebdomadaires le vendredi soir, et les enchères ne fonctionnent parfois pas. Les services bancaires en ligne de ma banque (la plus grande australienne) prévoient des interruptions pendant des heures chaque semaine. Twitter se déconnecte tout le temps. Heroku / EC2 était en panne depuis quelques jours récemment.
Je garderais cela dans cette perspective, si vous ne parlez vraiment que 5 minutes par mois, vous faites du bon travail en tant qu'administrateur système.
la source
Vous avez déjà mentionné Google comme un facteur d'indexation, mais il peut également être utile de considérer l'impact que la latence / réactivité du site peut avoir sur le référencement. C'est une boîte noire et tout cela, si difficile à quantifier - bien que pour ce que ça vaut, Matt Cutts estime que c'est un pour cent . Je serais plus préoccupé par la réputation, comme d'autres l'ont dit.
la source
Gardez à l'esprit que HA, comme la sécurité, n'est pas un produit, mais plutôt un processus.
Par exemple, la réplication de la base de données ne vous amènera qu'au point où chaque miroir de la base de données pourra continuer seul, mais vous aurez également besoin d'une stratégie de resynchronisation après le remplacement des composants défaillants.
Prenons l'exemple d'un système de commande: le client soumet une commande et, pendant le traitement, le système physique auquel il parlait tombe en panne après avoir stocké les informations de commande dans sa copie locale de la base de données. Impatient, le client appuie à nouveau sur «soumettre» et est dirigé vers un autre serveur, qui accepte la commande. Si vos bases de données se resynchronisent en rejouant simplement les instructions INSERT manquantes de l'autre côté, la commande sera dupliquée, ce qui peut ne pas être ce que vous voulez.
Comme l'a suggéré @Slartibartfast, tout se résume à une décision économique, mais je vous recommande également de planifier quelques années à l'avenir ici. Si vous vous attendez à avoir besoin d'une configuration HA appropriée, alors ce serait le bon moment pour réserver des ressources pour le travail préparatoire.
la source
Pendant que vous y réfléchissez, je pense que vous envisagez de créer une page "échec des baleines".
Il existe de nombreuses façons de le faire, mais le combo aws de route53 et s3 fonctionne bien sur mes petits sites.
J'ai configuré le domaine avec des vérifications de santé afin qu'en cas d'échec, DNS envoie les utilisateurs aux utilisateurs vers une page html statique assise en s3; Coûts presque rien.
D'après mon expérience, le fait que votre site dise «les choses sont désolées mais nous y travaillons» fait toute la différence pour les utilisateurs. Un compte Twitter où vous pouvez même communiquer avec les utilisateurs est encore mieux.
Cela permet d'atténuer la «perte de réputation» qui peut être l'impact le plus significatif d'une panne.
voir: https://aws.amazon.com/blogs/aws/create-a-backup-website-using-route-53-dns-failover-and-s3-website-hosting/ pour un guide sur sa configuration.
Le basculement social de DynDns http://dyn.com/managed-dns/social-failover/ est une sorte de chose similaire.
Vous pouvez lancer le vôtre et effectuer vos contrôles de santé, puis scripter les modifications DNS, à condition que vos enregistrements DNS aient un TTL faible et que vous ayez un moyen de les manipuler par programme.
la source
Avez-vous envisagé d'utiliser quelque chose comme EC2 qui vous permettra de vous adapter de manière flexible et de nier vos inconvénients? C'est finalement une décision économique si l'utilisation de l'EC2 en vaut la peine ou non, mais c'est au moins une option à considérer.
la source
Pour éviter la perte de données, vous devez examiner les configurations Raid avant les clusters. Vous devez également configurer une IP de basculement que vous pouvez passer d'un serveur à un autre en cas de sinistre sans avoir à attendre la propagation DNS.
la source