4 votes

Atteindre cinq neuf

Je suis en train de construire une application web où le temps de fonctionnement est essentiel. Je comprends qu'une disponibilité de 100 % n'est pas réaliste, mais j'aimerais atteindre un taux de disponibilité de 5 %. Je ne suis pas certain de la manière la plus prudente d'y parvenir.

Mon plan préliminaire consistait à faire fonctionner l'application web dans deux centres de données géographiquement séparés. Le centre de données "principal" contiendrait le serveur maître, qui serait répliqué sur le serveur "esclave" inutilisé situé ailleurs. En cas de panne dans le centre de données principal, le basculement DNS déplacerait le trafic vers le serveur "esclave". Cette technique présente des difficultés, notamment l'impossibilité pour certains utilisateurs d'accéder au site pendant un certain temps en raison de la mise en cache d'enregistrements DNS bizarres, etc.

Cependant, j'ai lu beaucoup d'avis affirmant que le basculement DNS n'est pas une bonne solution et que vous devriez tout garder dans un seul centre de données et vous concentrer sur la redondance à cet endroit. Le problème que je vois avec cela, c'est que même les bons centres de données semblent avoir un problème de réseau bizarre qui peut causer suffisamment de temps d'arrêt pour réduire à néant l'attente de cinq neuf.

Dois-je choisir l'option de basculement DNS ? Existe-t-il de meilleures options ?

13voto

MadHatter Points 77602

La règle d'or que j'applique aux clients est la suivante : vous obtenez deux neuf gratuitement (c'est-à-dire sans rien dépenser spécifiquement pour la haute disponibilité). Chaque neuf supplémentaire augmente le coût total d'un ordre de grandeur.

En d'autres termes, vous pouvez obtenir un temps de fonctionnement de 99 % en plaçant votre application sur un serveur à peu près correct sur la connexion Internet de votre entreprise. Pour améliorer cette situation, vous pouvez opter pour la colocation. Vous pouvez le faire avec un équilibrage de charge et un basculement rapide. Vous pouvez vous installer en colocation avec un équilibrage de charge, un basculement rapide et un site de secours froid. Vous pouvez vous installer en colocation avec un équilibrage de charge, un site de secours à froid, un espace d'adressage PI, gérer votre propre ASN et mettre en place des accords de peering BGP pour garantir que votre espace d'adressage est toujours routable au niveau mondial. Vous pouvez étudier le matériel à haute disponibilité, où tout, y compris la mémoire et les processeurs, peut être mis sous silence et remplacé à chaud. Si votre application le permet, vous pouvez utiliser un hébergement entièrement distribué ou externaliser vers les réseaux de fourniture de contenu hautement disponibles. Vous pouvez avoir besoin, et vous aurez besoin, de cinq fois plus de personnel pour gérer tout cela 24 heures sur 24, 365 jours par an, y compris les congés et les congés maladie, ainsi que les fréquents tests DR en direct que vous devrez effectuer pour avoir confiance dans tout cela.

Vous pouvez faire beaucoup de choses intelligentes. Mais tout cela coûte, et la plupart coûtent un million d'euros. muy une grande quantité d'argent.

Mon conseil le plus sincère est donc le suivant : calculez ce qu'il vous en coûterait pour héberger votre application sur un seul serveur dans les locaux de l'entreprise. Si votre employeur n'est pas prêt à dépenser jusqu'à mille fois plus que cela oubliez les cinq-neuf, ce n'est pas réaliste.

2voto

northben Points 382

Si cinq neuf était facile, Twitter, Facebook, Gmail, Azure et Amazon seraient probablement déjà là. Ils ont certainement l'argent et les arguments commerciaux les plus valables pour cela. Je vous recommande plutôt de viser un hébergement auprès d'un fournisseur de services en nuage qui possède l'expertise nécessaire pour fournir une infrastructure fiable, afin qu'il puisse s'en occuper pendant que vous développez votre produit.

1voto

KOTJMF Points 623

Pour cinq neuf, il faut beaucoup plus qu'une seule solution de basculement. Vous avez besoin d'une solution HA dans un centre de données et d'un centre de données de secours chaud (ou au moins chaud) géographiquement éloigné mais topologiquement proche de votre centre de données principal. Et ce n'est qu'un début...

0voto

vendethiel Points 1

J'imagine qu'il s'agit ici d'une question de points de vente compatibles avec les points de vue des patrons, mais il est possible d'obtenir un temps de disponibilité de cinq neuf ou très proche de ce chiffre - bien qu'il faille faire attention à définir exactement ce qui doit avoir un temps de disponibilité de cinq neuf.

Je suis en train d'écrire une application qui collecte des données à partir d'appareils IoT (également conformes à boss / powerpoint) et présente les données collectées aux utilisateurs finaux, fait de l'exploration de données et ainsi de suite en utilisant MongoDB et autres.

Nous avons en fait un temps de fonctionnement perçu d'au moins 99,9 à ce stade. Comment ? Eh bien, notre temps de fonctionnement est défini comme la disponibilité de l'application frontale de l'utilisateur. Cette partie est exécutée sur GAE tandis que les autres parties (comme MongoDB) sont exécutées sur nos propres serveurs. La communication se fait via REST et beaucoup de cryptographie. Le temps de fonctionnement de GAE est actuellement de 99,45 %, mais en fait, pour les parties que nous utilisons, il est plus élevé : nous n'avons encore enregistré aucun type de panne.

MongoDB, quant à lui, est parfois un peu instable - pas beaucoup - mais obtenir une disponibilité de 98-99% est le mieux que nous puissions faire pour le moment. En plus de MongoDB, nous disposons d'un moteur qui génère des morceaux de données JSONifiés - ceux-ci sont générés sur demande mais aussi périodiquement. Leur mise en cache est très utile pour maintenir le temps de fonctionnement perçu de l'ensemble du système. Les utilisateurs finaux ne savent pas si un appareil vient de transmettre des données au backend ou s'il y a une heure. Ainsi, les données mises en cache semblent aussi fraîches que les données fraîches "réelles".

Il est donc tout à fait possible d'obtenir un temps de fonctionnement très élevé si l'on sait isoler les éléments qui ont réellement besoin d'un temps de fonctionnement élevé. Obtenir un temps de fonctionnement de cinq neuf pour l'ensemble de la pile est difficile et très coûteux, comme d'autres l'ont souligné. Mais vous pouvez probablement faire avec moins et rendre votre patron heureux.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X