2010-06-28 8 views
3

Je posais la question suivante lors d'une interview dans une entreprise travaillant sur le cloud computing, et je n'ai pas bien répondu. Toutes les suggestions sur la façon d'analyser cette question seront grandement appréciées. Notre société compte des centaines de millions d'utilisateurs et nous attendons zéro temps de production, expliquons les techniques et les pratiques de programmation qui aident à améliorer la redondance et les capacités de basculement pour les services frontaux, intermédiaires et dorsaux, y compris la base de données. prestations de service.une question de conception de système

+3

Je vote pour ne pas fermer, il pourrait y avoir quelques réponses intéressantes ici. – BobbyShaftoe

+0

C'est une question d'entrevue valide. Pourquoi fermons-nous? –

Répondre

0

C'est une question plutôt vaste. S'ils ne s'attendent à aucun temps d'arrêt, dites-leur d'oublier ou de transformer tous leurs profits en redondance. Maintenant, s'ils veulent juste "cinq 9, ou 99,999% de disponibilité" alors nous pouvons parler. :)

Vous pouvez généralement répondre à ce genre de questions avec l'habituelle blague en boîte sur la construction d'un environnement de construction durable et automatique qui inclut des tests unitaires approfondis. L'utilisation de modèles de conception comme MVC ou similaire peut aider à la testabilité. Effectuer des audits de sécurité réguliers. C'est beaucoup plus qu'une question de développement, c'est une question d'architecture de réseau et de serveur, de maintenance de centres de données secondaires et tertiaires, etc. Ces questions vous donnent vraiment l'occasion de donner de l'importance à l'intervieweur.

2

Cette question est très semblable à la "Impossible Question" from Joel. Il n'y a pas de bonne réponse à cette question.

Je commencerais briser ce en une liste de tous les points de défaillance possibles:

  • Database Server
  • Database
  • Middle Tier
  • serveur Middle Tier
  • application
  • Web Serveur

Ensuite, pour chacun d'entre eux, j'identifierais les raisons de la rupture, et comment en sortir sans avoir de temps d'arrêt. Ceux dont je ne connais pas les réponses, j'en ferais autant. Par exemple, construisons une liste des raisons pour lesquelles un serveur de base de données tombe en panne. Puisque nous recherchons une disponibilité de 100%, nous ignorons rien - peu importe à quel point les cheveux

  • matériel va mal
  • puissance descend
  • Carte réseau va mal
  • système d'exploitation se bloque de façon inattendue
  • OSMises à niveau de rupture
  • système Dumb Admin ou DBA
  • Dumb Janitor

Certaines solutions possibles (compte tenu de SQL Server sur Windows back-end)

  • serrure sur la porte
  • Database Mirroring (avec des tests de basculement réguliers)
  • Plusieurs NICS
  • Clustering (avec des tests de basculement régulier)
  • obtenir de meilleures personnes

Vous pouvez garder essentiellement répondre à cette question jusqu'à ce que l'enquêteur jette l'éponge parce qu'il n'y a vraiment pas l'un-droit réponse à cette question.