319 votes

100% de temps de fonctionnement pour une application web

Nous avons reçu aujourd'hui une "exigence" intéressante de la part d'un client.

Ils veulent un temps de fonctionnement de 100% avec hors site basculement sur une application web. Du point de vue de notre application web, ce n'est pas un problème. Elle a été conçue pour être capable de s'étendre sur plusieurs serveurs de base de données, etc.

Cependant, pour des raisons de réseau, je ne parviens pas à trouver comment le faire fonctionner.

En bref, l'application sera hébergée sur des serveurs au sein du réseau du client. Elle est accessible à la fois par des personnes internes et externes. Le client souhaite que nous conservions une copie hors site du système qui, en cas de panne grave dans ses locaux, serait immédiatement prise en charge.

Nous savons maintenant qu'il n'y a absolument aucun moyen de résoudre ce problème pour les personnes internes (pigeon voyageur ?), mais ils veulent que les utilisateurs externes ne le remarquent même pas.

Très franchement, je n'ai pas la moindre idée de comment cela pourrait être possible. Il semble que s'ils perdent la connectivité Internet, nous devrions modifier les DNS pour transférer le trafic vers les machines externes... Ce qui, bien sûr, prend du temps.

Des idées ?

UPDATE

J'ai eu une discussion avec le client aujourd'hui et ils ont clarifié la question.

Ils ont maintenu le chiffre de 100 %, affirmant que l'application devrait rester active même en cas d'inondation. Cependant, cette exigence ne s'applique que si nous l'hébergeons pour eux. Ils ont dit qu'ils s'occuperaient de l'exigence de temps de fonctionnement si l'application vivait entièrement sur leurs serveurs. Vous pouvez deviner ma réponse.

50 votes

Ne sous-estimez pas l'énorme temps d'indisponibilité causé par le piratage, regardez Sony et le réseau PlayStation. Vous pouvez être sûr qu'ils avaient la même idée d'un temps de fonctionnement de 100 % et l'argent/le matériel pour le soutenir. Expliquez clairement au client qu'un temps de fonctionnement de 100 % est une attente irréalisable, même les techniciens de Google hésiteraient à marmonner "100 % de temps de fonctionnement".

185 votes

Je voudrais personnellement RUN de ce client aussi vite que possible. Je pense que ce ne sera pas la dernière idée folle qu'ils auront (d'un point de vue technologique).

140 votes

J'aimerais pouvoir rétrograder votre client.

26voto

Ed Ball Points 1341

Si Facebook et Amazon ne peuvent pas le faire, alors vous ne pouvez pas. C'est aussi simple que cela.

17 votes

Il pourrait être plus intelligent que tous leurs collaborateurs réunis, qui sait :p

3 votes

Un temps de fonctionnement de 100 % ne doit pas être aussi littéral - cela signifie que le système est disponible à 100 % pendant la période où il est nécessaire. Par exemple, les systèmes bancaires doivent toujours être disponibles, et ils le sont très bien. Ce n'est pas parce qu'ils tombent en panne pour maintenance pendant une seconde une fois par an qu'ils n'ont pas atteint leur objectif de disponibilité à 100 %.

13 votes

@DavidFreitas - Je pense que dans les contrats, c'est généralement assez littéral....

25voto

Jungle Hunter Points 525

Pour ajouter Réponse d'oconnore de Hacker News

Je ne comprends pas quel est le problème. Le client veut que vous prévoyiez un désastre, et il n'est pas orienté vers les mathématiques, donc demander une probabilité de 100% semble raisonnable. L'ingénieur, comme les ingénieurs ont tendance à le faire, s'est souvenu de son premier jour de cours de prob&stat 101, sans considérer que le client pourrait ne pas le faire. Lorsqu'ils disent cela, ils ne pensent pas à l'hiver nucléaire, mais à Fred qui jette son café sur le serveur du bureau, à un disque qui tombe en panne ou à un FAI qui tombe en panne. En outre, vous pouvez y parvenir. Avec des serveurs géographiquement distincts, indépendants et autosurveillés, vous n'aurez pratiquement aucun temps d'arrêt. Avec 3 serveurs fonctionnant à une fiabilité indépendante(1) de trois 9, avec de bons modes de basculement, votre temps d'arrêt prévu est inférieur à une seconde par an(2). Même si cela se produit en une seule fois, vous restez dans les limites d'un accord de niveau de service raisonnable pour les connexions Web, et le temps d'arrêt n'existe donc pratiquement pas. Le client doit toujours faire face à des scénarios apocalyptiques, mais à l'exclusion de Godzilla, il disposera d'un service qui sera "toujours" opérationnel.

(1) Un serveur à Los Angeles est raisonnablement indépendant du serveur à Boston, mais oui, je comprends qu'il y ait une certaine intersection impliquant une guerre nucléaire, des pirates chinois faisant tomber le réseau électrique, etc. Je ne pense pas que votre client sera contrarié par cela.

(2) Le basculement DNS peut ajouter quelques secondes. Vous êtes toujours dans un scénario où le client doit réessayer une requête une fois par an, ce qui est, encore une fois, dans un SLA raisonnable, et n'est pas typiquement considéré dans la même veine que le "temps d'arrêt". Avec une application qui reroute automatiquement vers un nœud disponible en cas de panne, cela peut passer inaperçu.

6 votes

Le problème, c'est qu'ils le disent en langage contractuel. Ce qui veut dire que si une catastrophe fait et qu'il vous faut plus de dix secondes pour remettre le site en ligne à l'aide de sauvegardes, ils auraient le droit d'intenter une action en justice.

0 votes

@Shadur : S'ils vraiment vous le souhaitez, vous devez vraiment les facturer. Répartissez les serveurs géographiquement très loin, en espérant qu'il n'y aura pas de catastrophe partout.

3 votes

J'ai vu un site qui offrait des garanties de temps de fonctionnement à 100 % ou qui vous remboursait. Le truc, c'est qu'ils facturaient une somme astronomique et qu'ils divisaient cette somme en mois. Ainsi, certains mois ne sont pas payés et vous planifiez tout en fonction de cela, et vous couvrez la perte avec les mois qui fonctionnent bien.

17voto

voretaq7 Points 78924

On vous demande quelque chose d'impossible.

Revoyez les autres réponses ici, asseyez-vous avec votre client, et expliquez-lui POURQUOI c'est impossible, et jaugez leur réponse.

S'ils insistent toujours sur un temps de fonctionnement de 100 %, dites-leur poliment que c'est impossible et refusez le contrat. Vous ne répondrez jamais à leur demande, et si le contrat n'est pas totalement nul, vous vous verrez infliger des pénalités.

2 votes

Le 100% doit être défini, c'est-à-dire 100% disponible sauf lors des opérations de maintenance ou de mise à niveau, et ce temps sera limité aux heures calmes pendant quelques heures par mois au maximum. Tout cela dépend sur l'objectif et l'utilisation de l'application web dans ce cas...

1 votes

Et définir ce qu'est un "temps d'arrêt". Il n'est même pas possible, en théorie, de garantir qu'ils pourront accéder à un serveur situé à Omaha depuis leurs bureaux de Fairbanks, à moins que vous ne contrôliez l'ensemble du réseau entre les deux (bien que vous puissiez donner l'assurance que le serveur est en état de marche).

0 votes

Les définitions ne sont, à mon avis, pas pertinentes si l'on demande un "temps de fonctionnement de 100 %" : Même si vous négociez une maintenance programmée et que vous prévoyez une redondance N+N, si un problème mineur provoque un redémarrage non programmé ou une interruption de service, vous n'avez pas respecté votre accord de niveau de service. CERTAINEMENT Il est important que vous négociiez un accord de niveau de service (SLA) de 3, 4 ou 5 neuf.

13voto

ayckoster Points 519

Fixez le prix en conséquence, puis stipulez dans le contrat que tout temps d'arrêt au-delà de l'accord de niveau de service sera remboursé au taux qu'ils paient.

Le fournisseur d'accès de mon dernier emploi faisait ça. Nous avions le choix entre une ligne DSL "normale" avec une disponibilité de 99,9 % pour 40 $/mois, ou un trio de T1 avec une disponibilité de 99,99 % pour 1100 $/mois. Il y avait de fréquentes pannes de plus de 10 heures par mois, ce qui ramenait leur temps de disponibilité bien en dessous de la ligne DSL à 40 $/mois, et pourtant nous n'étions remboursés que d'environ 15 $, car c'était le tarif par heure * heures. Ils ont profité de l'affaire comme des bandits.

Si vous facturez 450 000 $ par mois pour un temps de fonctionnement de 100 % et que vous n'atteignez que 99,999 %, vous devrez leur rembourser 324 $. Je suis prêt à parier que les coûts d'infrastructure pour atteindre 99,999 % sont de l'ordre de 45 000 $ par mois en supposant des colos entièrement distribuées, de multiples liaisons montantes de niveau 1, du matériel fantaisiste, etc.

3 votes

Si vous voyez quelqu'un promettre un temps de fonctionnement de 100 %, c'est exactement ce qu'il fait. Il y a une différence entre promettre un temps de fonctionnement de 100 % et le respecter. Il serait bon d'expliquer cela au client s'il essaie de vous citer l'accord de niveau de service d'un concurrent.

10voto

Paweł Brodacki Points 6411

Si les professionnels se demandent si Une disponibilité de 99,999 % n'est jamais une possibilité pratique ou financièrement viable. alors une disponibilité de 99,9999 % est encore moins possible ou pratique. Sans parler de 100%.

Vous n'atteindrez pas l'objectif de disponibilité à 100 % pendant une période prolongée. Vous pouvez vous en tirer pendant une semaine ou une année, mais quelque chose se produira et vous serez tenu pour responsable. Les conséquences peuvent aller de l'atteinte à la réputation (vous avez promis, vous n'avez pas tenu) à la faillite en raison d'amendes contractuelles.

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