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.
5 votes
Haha. Dommage qu'il n'y ait pas eu un client du mur de la honte
83 votes
Si vous parvenez à un temps de fonctionnement de 100%, faites-le moi savoir. Je créerai un business avec ça et je le vendrai à Google. C'est impossible de garantir 100%. Même des sociétés comme Microsoft, Amazon ou Google ne vont pas aller aussi loin parce qu'elles savent que c'est impossible. Le meilleur que j'ai vu est 99,999% et même cela est un peu exagéré (5 minutes en un an). Le mieux que vous puissiez faire est probablement une fiabilité de 99,99%.
39 votes
Il suffit d'inventer un prix exorbitant à mettre sur leur demande insensée. Cela les ramènera probablement à la raison. Ou alors, ça les fera partir à la recherche de quelqu'un prêt à leur mentir.
4 votes
Mettez le client d'accord sur 99,99 % et indiquez clairement que, même si cela implique une obligation éventuelle pour votre partie (frais), cela entraîne également que le devis pour eux sera +50 % plus élevé que s'il n'incluait pas le temps de fonctionnement garanti. Mettez tout cela dans une perspective financière, et ils abandonneront. Source : expérience directe. Parlez argent et les gens comprendront.
3 votes
Au lieu de dire que ça ne peut pas être fait, donnez-leur un prix fou. Je vous garantis que si vous leur dites que cela coûtera 100 milliards de dollars pour avoir un temps de fonctionnement de 100 %, ils ne vous prendront pas au mot.
6 votes
Pas de problème. Dites simplement que vous pouvez garantir un temps de fonctionnement de 100 % (arrondi à zéro décimale).
9 votes
Il ne doit pas nécessairement s'agir d'un chiffre follement élevé. Il doit être réaliste. Dessinez-leur un graphique des coûts de la haute disponibilité et des coûts des temps d'arrêt, et parlez du point où ils se rejoignent. Si le temps d'arrêt vous coûte des millions de dollars par heure, alors un taux de 5 neuf est réalisable, puisque vous avez des millions de dollars à dépenser en HA. S'il vous coûte 100 $/heure, alors deux neuf est probablement tout ce que vous devriez envisager.
6 votes
Combien facturez-vous à votre client ? L'informatique à très haute disponibilité est généralement le domaine de HP NonStop, IBM zSeries, etc. toujours avec des centres de données multiples et synchronisés. Ces sociétés facturent leurs services très cher, alors à moins que vous ne facturiez 7 chiffres pour cela, n'envisagez même pas d'accepter quelque chose comme 99,999 %, et encore moins 100 %.
19 votes
Ne vous inquiétez pas, utilisez la solution Microsoft : 100% de temps de fonctionnement garanti* (*remboursement pour la période d'indisponibilité).
7 votes
100% de temps de fonctionnement ? Bien sûr, je fais du 100% uptime. Je vais graver votre site web dans des plaques de marbre et l'envoyer à chaque personne sur Terre, deux fois.
4 votes
Je peux garantir un temps de fonctionnement de 100%. Première étape. Transférer chaque livre|dollar|coin sur mon compte. Deuxième étape. Attendre. Cela va prendre beaucoup de temps.
3 votes
Unobtainium
0 votes
Votre réponse a-t-elle été "Ce fut un plaisir de ne pas travailler avec vous" ?
16 votes
Pour rappel : Youtube est tombé en panne aujourd'hui
0 votes
@Justin : non. Parce qu'ils étaient prêts à 1. l'héberger complètement et 2. en prendre l'entière responsabilité, ce problème a disparu de mon point de vue. Après que plus de détails soient sortis, cela n'avait d'importance que si j'hébergeais le site principal pour eux. Donc ma réponse a été "ça a l'air génial".
3 votes
@ChrisLively : Vous avez évité une balle alors :)
1 votes
@ChrisLively Dieu merci pour ça alors n'est-ce pas ? Même s'ils veulent un basculement, ce qui est parfait, ce ne sera pas à 100%. Il y aura ce délai où il bascule, ou il peut même ne pas basculer et vous devez le faire manuellement. Bien que vous n'ayez pas eu de temps d'arrêt pour ce qui est de la présence des données et du matériel, vous avez toujours ce problème de disponibilité, que vous ne pouvez tout simplement pas éviter. Les utilisateurs ne s'en aperçoivent peut-être même pas, ils essaient peut-être de lancer l'application et elle est en panne pendant quelques minutes ou autre, mais on s'en fiche.
3 votes
Pour l'amour de tout ce qui est saint, assurez-vous qu'il y a des dispositions dans le contrat pour garantir que lorsqu'ils connaissent inévitablement des temps d'arrêt, ils n'essaient pas de rejeter la faute sur votre code et d'intenter une action en justice. Faites en sorte que ce soit aussi solide que possible pour que vous puissiez simplement prendre leur argent et dormir la nuit.
2 votes
Certains services qui annoncent un temps de fonctionnement de 100 % proposent une clause de pénalité en petits caractères du type "2 jours gratuits pour chaque jour d'indisponibilité du service". Les 100% sont donc destinés au marketing et une partie de l'argent est réservée aux remboursements. Aucun ingénieur n'offrirait un temps de disponibilité de 100 % et certains trouveraient un autre emploi s'ils découvraient que leurs services ont été annoncés comme tels, avec l'attente d'un temps de disponibilité de 100 %. De même, les fenêtres de maintenance doivent être organisées à l'avance dans le cadre de l'accord de niveau de service et, lorsqu'elles sont planifiées, elles ne sont pas prises en compte dans les 100 %.
1 votes
Dites-leur juste que bien sûr vous allez vous donner à 110%. Cela devrait les satisfaire pleinement :)
0 votes
Ce que j'ai vu dans le passé, c'est qu'un paiement d'étape est atteint lorsqu'un système essentiel à la mission est capable d'atteindre un temps de fonctionnement de 99,9 % sur 3 mois. Dès qu'il est inférieur à 99,9 %, le décompte recommence. Le temps d'indisponibilité comprend le temps nécessaire à la mise en place de correctifs pour améliorer la fiabilité du logiciel. Si vous dépassez cette limite, vous leur donnez le droit de vous escroquer pour obtenir des concessions gratuites lorsque vous ne pouvez pas respecter la limite. Sans une limite raisonnable, vous leur donnez essentiellement un champ d'action illimité ou une bonne raison de vous escroquer pour de l'argent gratuit au tribunal.
0 votes
Dites-leur que vos fournisseurs (matériel, réseau, développeurs de noyau...) ne vous donnent pas un temps de disponibilité de 100%, donc vous ne pouvez pas garantir un temps de disponibilité de 100%. Fin de la discussion. S'il demande encore, vous l'informez qu'il n'y a pas de fournisseurs qui offrent un SLA de 100%. Garantir 100% signifie que vous devez également auditer tout le matériel (y compris le réseau) et pour cela, vous devez également aller au niveau de la puce. Vous pouvez obtenir 99.x grâce à des équilibreurs, des astuces de DNS, mais même avec cela, il y aura un court moment où certaines informations ne pourront pas être envoyées. Donc, 100% signifie que la machine, le réseau et l'alimentation ne tombent jamais en panne.
0 votes
Dites-leur que vous ne pouvez pas leur donner 5 9, mais que vous pouvez leur donner 9 5.
1 votes
Je peux (presque) garantir que si vous vous hébergez chez moi, vous obtiendrez un temps de disponibilité de 100% pendant les 5 prochaines minutes !
0 votes
Assurez-vous de connaître leur définition du "temps de fonctionnement". Il vous suffit peut-être d'héberger vos serveurs dans un centre de données très haut, ou de tourner le rack de serveurs sur le côté. Ou bien installer un tarpit sur le(s) réseau(x) de serveurs pour que les pings obtiennent toujours des réponses. Ou encore, obliger les clients à installer un correctif du noyau qui présente une page de connexion défaillante si l'accès à l'un de vos domaines sur les ports 80 ou 443 échoue. De cette façon, pour le client, votre site est opérationnel, il est simplement bloqué. Et vous pourrez expliquer "nous avons simplement mis en place des politiques de sécurité très strictes". Cela les fera taire.