SERVICE BUS AZURE

 

Dans le cadre du développement de la version mobile de l’application de gestion des visiteurs de TF1, il a été nécessaire de créer une communication entre une application web hébergée sur le Cloud Azure et le système d’information hébergé sur l’infrastructure propriétaire de TF1. Le fait que l’infrastructure de TF1 soit protégée par des pare feu et repose sur un adressage réseau interne non visible de l’extérieur rend la mise en place de cette communication délicate.

Par ailleurs, au delà des contraintes d’architecture technique, un des objectifs de notre étude était la mise en place d’un standard de communication performant, fiable et sécurisé, généralisable dans le cadre d’autres développements applicatifs.

Notre choix s’est porté vers le Service Bus Azure qui est le système de messagerie inter applicative implémenté dans le cloud Microsoft Azure.

Le Service Bus Azure offre quatre modes de communication :

  • Queues, qui permet de créer des files de messages monodirectionnelles asynchrones vers un destinataire unique. L’émetteur envoie le message dans la file qui le stocke jusqu’à ce que le consommateur l’ait lu. 
  • Topics, qui permet de créer des files de messages monodirectionnelles asynchrones vers plusieurs destinataires qui s’abonnent à un sujet. Dans ce cas, la file d’attente stocke les messages jusqu’à ce que les abonnés les aient lus. Il est possible de mettre en place des filtres de message pour chaque abonnement.
  • Relays, qui permet de mettre en place une communication synchrone et bidirectionnelle. Il est à noter que dans ce cas, le service ne stocke pas les messages en attendant leur lecture mais assure leur transmission en temps réel.
  • Event Hubs, qui permet de traiter des événements de manière massive avec un minimum de latence et un très fort niveau de disponibilité.

Dans notre cas de figure, à savoir une communication synchrone et bidirectionnelle entre l’application Web hébergée sur le cloud Azure et les Web services métiers hébergés chez TF1, c’est le mode relay qui s’est imposé.

Le principe général est que les deux applications établissent de manière asynchrone une connexion avec le bus Azure pour que la liaison soit opérationnelle. La communication est ensuite assurée de manière transparente via les API proposées par Windows Communication Foundation (WCF).

Notre retour d’expérience est très bon car cette approche permet de réaliser simplement une communication performante, fiable et sécurisée avec des applications externes au SI de TF1 sans impact sur la configuration des architectures réseau.

Pour plus d’information, voir la documentation officielle sur https://azure.microsoft.com/en-us/documentation/articles/service-bus-fundamentals-hybrid-solutions/

 

 Olivier C.

Ajouter un commentaire