Aujourd’hui, je vais indiquer comment configurer un cluster d'AOS avec Microsoft Dynamics 2012. Pour mes tests, j’ai installé 6 AOS et chaque instance est configurée pour se connecter sur la même base de données AX.
Licences
Afin d’avoir la possibilité de connecter plusieurs AOS sur une base de données, il faut préalablement avoir acheté les licences nécessaires. Pour vérifier, il suffit d’aller voir dans Administration - System administration - Setup - Licensing - License configuration
Server Configuration
Il est possible de connaître les AOS qui se sont déjà connectés à notre environnement. L’information est sous System Administration - Setup - System - Server Configuration. Il est possible qu’un AOS qui n’existe plus sur le réseau soit indiqué dans cette liste. La raison est que cette liste affiche tous les AOS qui se sont déjà connectés à la base de données, si le service AOS a été stoppé et désinstallé, il faut supprimer l’entrée du serveur dans cette liste.
Actuellement, mon instance 01@AX2012 n’est pas configurée avec l’option Batch Server, ni Load Balancer et n’est pas membre d’un cluster. De plus, il est possible de configurer un nombre maximal de connexions concurrentes par instance.
Il est possible de voir les AOS actuellement connectés sur la base de données. L'information est dans System Administration - Users - Online users et cliquer sur l’onglet Server instances
Cluster Configuration
Tout d'abord, il est important de savoir que la configuration d'un cluster AOS avec Microsoft Dynamics AX ne nécessite aucune modification ou installation sur le système d'exploitation. De plus, la répartition des charges n'est pas basée sur la performance des serveurs, mais uniquement sur le nombre d'utilisateurs connecté par instance.
Pour commencer, j’ai créé deux clusters (Finance et Production) via le menu System Administration - Setup - System - Cluster configuration. Mon but est d'assigner 3 AOS pour chaque département. Un autre exemple pourrait être un cluster dédié aux connexions Enterprise Portal. Il suffit de cliquer sur New pour créer un cluster et ensuite utiliser le menu déroulant de la colonne Cluster Name pour lier un AOS avec un cluster. Cette image montre mes deux clusters avec 3 AOS chacun.
Architecture avec un Load Balancer
Il est possible de configurer un ou plusieurs Load Balancer dans un Cluster. Mais à quoi sert le Load Balancer? Une instance avec l’option Load Balancer ne peut pas accepter de connexion cliente, en effet cette instance va seulement assurer la distribution des utilisateurs au sein de tous les AOS lié à son cluster. Techniquement, si vous avez 3 AOS dans votre cluster, dont un Load Balancer, les clients AX doivent être configurés pour se connecter sur l'AOS Load Balancer. Lorsqu’une connexion est établie, le Load Balancer interroge la base de données afin de connaitre le nombre d’utilisateurs actuellement connecté sur chaque AOS de son cluster. Ensuite, il envoie au client AX une liste des AOS triés en ordre croissant d'utilisateurs connectés. Ensuite, le client AX tente de se connecter sur le premier AOS de la liste. Si la connexion échoue, le client tentera d'établir une connexion avec la deuxième de la liste et ainsi de suite.
Pour configurer un AOS en tant que Load Balancer, il suffit de cocher la case Load Balancer dans le menu System Administration - Setup - System - Cluster configuration. Ensuite, les clients AX doivent être configurés pour se connecter sur cette instance.
Architecture sans Load Balancer
Architecture sans Load Balancer
Lorsqu’un cluster n’est pas configuré avec un Load Balancer, les clients AX sont configurés pour se connecter sur un des AOS et c'est cette AOS qui va agir comme Load Balancer. Bref, n'importe quel AOS du cluster peut agir comme Load Balancer. Il y a deux différences entre un AOS Load Balancer et un AOS non Load Balancer
- Un AOS Load Balancer ne nécessite pas une licence AOS
- Un AOS Load Balancer n'accepte pas les connexions clients (session active). Il fait seulement de la redirection de session.
Alors, pourquoi désigner un serveur en tant que Load Balancer si un AOS actif peut faire cette tâche? Une des raisons est la performance, par exemple dans un environnement avec beaucoup d’utilisateurs, la distribution des connexions peut être assurée par un AOS en particulier sans affecter les utilisateurs actuellement connectés. Il y a aussi l'aspect de simplicité au niveau de la gestion des clusters. Normalement, un AOS Load Balancer nécessite beaucoup moins de ressource matérielle, il est beaucoup moins sujet à être changé avec le temps. Ainsi, les utilisateurs AX se connectent toujours sur le même Load Balancer, mais en tant qu'administrateur de réseau, il est facile d'ajouter un AOS au cluster ou transférer un AOS d'un cluster vers un autre sans modifier les raccourcies des utilisateurs !