Question

Dans mon travail quotidien, nous avons des serveurs Web à charge équilibrée qui communiquent avec des serveurs d'applications à charge équilibrée via des services Web (et dernièrement WCF).À tout moment, nous disposons de 4 à 6 équipes différentes qui ont la possibilité d'ajouter de nouveaux sites ou services Web ou d'utiliser des services existants.Nous avons probablement environ 20 à 30 applications Web différentes et services correspondants.

Malheureusement, étant donné que nous n'avons aucun contrôle centralisé sur cela en raison de priorités concurrentes, de structures organisationnelles, de calendriers de projets, de tranches financières, etc., c'est un véritable gâchis.Nous avons une variété de services qui sont réutilisés, mais un groupe est spécifique à un front-end.

Idéalement, nous aurions un meilleur contrôle sur cette situation, et nous essayons de la contrôler, mais cela prend du temps.Une chose que nous aimerions faire est d'en savoir plus sur toutes les interrelations entre les sites Web et les serveurs d'applications.

J'ai utilisé Reflector pour rechercher des dépendances entre les assemblys, mais j'aimerais pouvoir voir les modèles de trafic entre les services.

Quelles sont les options pour tenter de cartographier les relations entre les services Web ?Pour l’essentiel, nous parlons principalement de services internes (web to app, app to app, batch to app, etc.).De mémoire, je peux penser à deux façons de l’aborder :

  • Analysez les assemblys pour toutes les références Web.L'inconvénient ici est que tout n'est pas une référence Web et je ne sais pas comment les connexions WCF sont répertoriées.Cependant, ce serait au moins un début pour trouver 80 % des connexions.Quelqu'un connaît-il des outils permettant de faire cette analyse ?Comme je l'ai dit, j'ai utilisé Reflector pour les références d'assemblage mais je ne trouve rien pour les références Web.
  • Éventuellement, exploitez IIS et surveillez passivement le trafic entrant et sortant et déterminez d'une manière ou d'une autre ce qui est appelé et d'où.Nous étudions des outils d'entreprise qui pourraient aider, mais il faudra un certain temps avant qu'ils soient mis en œuvre (et coûtent cher).Mais existe-t-il quelque chose qui pourrait aider rapidement et à moindre coût ?Un outil en particulier (AmberPoint) peut exploiter IIS sur les serveurs et surveiller le trafic entrant et sortant, ajoute une petite sauce spéciale et commence à créer une carte du trafic.Très sympa, mais coûte cher.

Je sais, je sais, comment diable es-tu tombé dans ce pétrin en premier lieu ?Ça me bat, j'essaie juste de nous aider à prendre le contrôle et à nous en sortir.

Merci, Matt

Était-ce utile?

La solution

Vous avez besoin d'un registre de services (UDDI ??)...Si vous aviez un moyen de cataloguer ces services et leurs consommateurs, cela rendrait ce travail de découverte des dépendances beaucoup plus facile.Ce n’est cependant pas une solution facile.Il faut du temps et de la documentation pour mettre en place un catalogue.

Je pense que la solution la plus rapide serait d'interroger vos journaux IIS et de trouver les URL sources provenant de vos propres serveurs.Vous seriez au moins en mesure de savoir de quels serveurs proviennent vos consommateurs.

De plus, si vous disposez déjà d’un mécanisme d’authentification, vous pouvez savoir qui utilise un service particulier en fonction de la connexion.

Vous avez raison à propos d'AmberPoint.Il existe d'autres outils qui cataloguent le trafic des services et fournissent des rapports montrant ce qui arrive à vos services.Systinet, SOA Software et Actional proposent également des produits similaires à Amberpoint, mais Amberpoint propose une version gratuite, je crois.

Autres conseils

Le moyen le plus simple est de parcourir les journaux, mais si cela n'inclut pas le référent, vous souhaiterez peut-être également surveiller ce qui sort de votre site Web vers le serveur d'applications.Vous pouvez utiliser des outils comme Wireshark ou Microsoft Network Monitor pour voir ce trafic.

L'autre "solution" et je l'utilise vaguement consiste à lier un serveur Web spécifique au serveur d'applications, puis à exécuter un bundle et à voir ce qu'il frappe sur le serveur d'applications.Vous pourriez probablement le faire dans un environnement de test pour comprendre les effets sur les utilisateurs du site.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top