Planifier, mettre à l’échelle et maintenir une solution de passerelle critique pour l’entreprise
Cet article est destiné à toute personne prévoyant de déployer une passerelle de données locale dans un scénario critique pour l’entreprise. Une passerelle de données locale est critique si elle est vitale pour le fonctionnement normal de votre entreprise et qu’elle gère des données critiques.
Si les passerelles critiques pour l’entreprise ne sont pas gérées correctement, vous pouvez rencontrer des échecs de requêtes ou des performances lentes. Quand vous planifiez, mettez à l’échelle et gérez correctement votre solution de passerelle critique pour l’entreprise, il est possible de minimiser le risque de problèmes affectant l’entreprise.
Terminologie
Les termes importants suivants sont utilisés tout au long de cet article :
- Passerelle : application de la passerelle de données locale installée sur un ordinateur.
- Serveur de passerelle : ordinateur Windows (machine virtuelle ou ordinateur/serveur physique) sur lequel l’application de la passerelle de données locale est installée.
- Cluster de passerelles : ensemble de passerelles qui fonctionnent ensemble (et peuvent être équilibrées en charge).
- Membre de passerelle : passerelle faisant partie d’un cluster de passerelles.
L’image suivante illustre la relation entre les concepts définis ci-dessus.
Recommandations pour les passerelles critiques pour l’entreprise
Dans le cadre des passerelles critiques pour l’entreprise, les passerelles doivent être déployées et gérées correctement pour garantir une haute disponibilité, de bonnes performances et une scalabilité gérable. Un déploiement incorrect des passerelles peut entraîner des performances médiocres, des échecs de requêtes et des difficultés à diagnostiquer les problèmes potentiels. Cela peut également entraver votre capacité à faire évoluer les passerelles à mesure que l’utilisation augmente.
Pour garantir une scalabilité, des performances et un débit optimaux, suivez les recommandations des sections suivantes.
Connaître toutes vos clés de récupération de passerelle
Assurez-vous que toutes les clés de récupération de la passerelle sont connues et conservées en lieu sûr. Sans clé de récupération, les passerelles ne peuvent pas être récupérées ni passées à une version antérieure. Cette limitation est voulue. Si vous perdez vos clés de récupération, la seule option consiste à créer de nouvelles passerelles et à recréer les sources de données. De plus, vous ne pouvez pas ajouter de nouvelles passerelles au cluster sans la clé de récupération, ce qui limiterait la scalabilité future.
Stockez vos clés de récupération dans un emplacement sécurisé, tout comme vous stockeriez des informations d’identification administratives, comme un coffre-fort de mots de passe, qui n’est accessible qu’aux administrateurs autorisés.
Si vous ne connaissez pas actuellement toutes vos clés de récupération de passerelle, cela constitue un risque commercial important. Créez immédiatement de nouveaux clusters de passerelles et commencez à migrer les charges de travail vers les clusters de passerelles.
Charges de travail de développement et charges de travail critiques pour l’entreprise
Distinguez les charges de travail de développement des charges de travail critiques pour l’entreprise en configurant un ou plusieurs clusters de passerelles de développement et un ou plusieurs clusters de passerelles de production, comme décrit ci-dessous.
Utilisez un cluster de passerelles de développement pour tester de nouveaux modèles sémantiques, rapports, requêtes, etc. Une fois qu’une nouvelle charge de travail a été vérifiée, migrez-la vers un cluster de passerelles critique pour l’entreprise. Ce processus empêche les charges de travail nouvelles, non testées ou expérimentales d’affecter les performances des charges de travail de production.
Utilisez également vos clusters de passerelles de développement pour tester de nouvelles mises à jour de passerelle avant d’appliquer des mises à jour à vos clusters de passerelles critiques pour l’entreprise. Les nouvelles mises à jour de passerelle doivent être déployées pendant au moins 24 heures sur les clusters de passerelles de développement avant d’être utilisées sur des clusters de passerelles critiques pour l’entreprise.
Utiliser plusieurs clusters de passerelles
Si vous créez un cluster de passerelles pour un grand nombre d’utilisateurs dans votre organisation, vous devez créer plusieurs clusters de passerelles basés sur des unités commerciales ou inférieures pour limiter tout impact potentiel sur les performances à un petit sous-ensemble d’utilisateurs.
Nous vous déconseillons d’utiliser un seul cluster de passerelles critique pour l’entreprise pour toute une entreprise (sauf si l’entreprise est petite). Dans un scénario de cluster de passerelles unique, un utilisateur peut éventuellement envoyer une requête qui affecte significativement les performances de l’ensemble du trafic via la passerelle. Si la passerelle est utilisée à l’échelle de l’entreprise, l’impact sur les performances peut affecter l’ensemble de l’entreprise. En outre, lorsqu’un cluster de passerelles est utilisé à l’échelle d’une entreprise, il peut s’avérer plus difficile pour vous d’identifier la requête susceptible de causer un problème de performances lors de l’utilisation de la fonctionnalité de surveillance des performances de la passerelle.
Utiliser les fonctionnalités de haute disponibilité et d’équilibrage de charge de la passerelle
Utilisez toujours les fonctionnalités de haute disponibilité et d’équilibrage de charge de la passerelle pour tout cluster de passerelles critique pour l’entreprise.
- Haute disponibilité : élimine le point de défaillance unique.
- Équilibrage de charge : distribue automatiquement la charge de travail sur tous les serveurs de passerelles du cluster.
Configurez au moins deux passerelles par cluster de passerelles au cas où une passerelle se déconnecterait pour une quelconque raison. Cette configuration garantit qu’une seule panne de passerelle n’entraîne pas la panne de l’ensemble du cluster de passerelles. De plus, des limites de processeur, de mémoire et de concurrence peuvent être activées sur les passerelles pour mieux répartir la charge sur le cluster de passerelles.
Planifier et maintenir la scalabilité du cluster de passerelles
La configuration d’un cluster de passerelles à l’aide de nos instructions matérielles et logicielles recommandées garantit que le cluster fonctionne avec de bonnes performances. Les passerelles qui ne sont pas mises à l’échelle correctement peuvent entraîner de mauvaises performances. Vous devez tenir compte de nombreux facteurs pour obtenir de bonnes performances sur votre cluster de passerelles.
Déterminer les spécifications matérielles du serveur de passerelle
Les spécifications du serveur de passerelle (processeur, mémoire, disque, etc.) sont un facteur important, car dans la plupart des cas, les transformations Power Query sont appliquées aux données sur le serveur de passerelle. En tant que tel, un serveur de passerelle doit disposer de suffisamment de ressources, de mémoire et de puissance de traitement pour gérer toutes les transformations de données.
Lorsque vous devez choisir une taille de serveur, deux indicateurs de performance sont les plus importants : la mémoire et le processeur. Vous avez besoin à la fois de suffisamment de mémoire et de puissance de processeur pour traiter les étapes de transformation des données Power Query sur la passerelle. Il est important que votre serveur de passerelle soit suffisamment puissant pour traiter la charge de travail la plus élevée dont vous disposez. Si le serveur de passerelle n’est pas en mesure de gérer la charge de travail, votre requête directe ou l’actualisation des données échouera. Il est également important de savoir combien de requêtes sont exécutées en même temps.
Ces différentes options de requête affectent votre serveur de passerelle de plusieurs manières.
Query Type | Facteur limite |
---|---|
Importer | Mémoire |
DirectQuery | UC |
LiveConnect | UC |
Lors d’une importation, toutes les données doivent être interrogées et traitées, ce qui est une tâche nécessitant beaucoup de mémoire. Cette importation prend souvent plus de temps également. DirectQueries et LiveConnections génèrent généralement des besoins importants de processeur. Dans la plupart des cas, les requêtes directes sont exécutées plusieurs fois pour ne traiter qu’une petite partie des données. Étant donné que seule une petite partie des données est traitée, ces requêtes directes ne sont normalement pas des tâches nécessitant beaucoup de mémoire. Cependant, étant donné que les requêtes sont exécutées plusieurs fois à la demande, cela peut solliciter fortement le processeur.
En fonction de votre charge de travail, envisagez d’optimiser votre serveur de passerelle en mémoire ou en processeur.
Quand mettre à l’échelle un cluster de passerelles
La mise à l’échelle est un aspect important d’un cluster de passerelles critique pour l’entreprise. Au fur et à mesure que votre utilisation du cluster de passerelles augmente, le cluster de passerelles doit faire l’objet d’un scale-up et/ou d’un scale-out pour garantir de bonnes performances. Nous vous recommandons de commencer à effectuer un scale-out sur un cluster de passerelles si vous avez déjà effectuer un scale-up des passerelles dans le cluster.
La mise à l’échelle et la distribution de la charge du trafic sur différents nœuds au sein d’un cluster constituent un processus complexe qui varie en fonction de chaque scénario. Bien qu’il n’existe aucun modèle définitif permettant de s’assurer que l’ensemble du trafic de la passerelle est géré de manière prévisible, les limites répertoriées ci-dessous indiquent qu’une mise à l’échelle est nécessaire. En général, nous vous recommandons d’effectuer un scale-out (ajout de nœuds au cluster) plutôt que d’effectuer un scale-up (augmentation du processeur, de la mémoire vive ou de l’espace disque sur les nœuds individuels). Le scale-out tend à être plus efficace dans la capacité du système dans son ensemble à gérer le trafic supplémentaire. Le scale-out a également un impact positif sur la bande passante totale que le cluster peut traiter, contrairement au scale-up. Quand un ou plusieurs nœuds de passerelle indiquent qu’ils atteignent les seuils décrits ci-dessous, le scale-out du cluster doit être sérieusement envisagé.
Processeur : le processeur est supérieur à 80 % pendant des périodes prolongées, mais des pics occasionnels de courte durée (moins de 5 minutes) qui dépassent les capacités des processeurs ne sont pas anormaux.
RAM : la mémoire disponible descend régulièrement en dessous de 20 %.
Disque : l’espace disque libre descend fréquemment sous 5 Go. Cette baisse peut également indiquer qu’il est nécessaire de configurer les répertoires de mise en cache ou de mise en file d’attente de manière plus stratégique.
Concurrence : exécution simultanée de plus de 40 requêtes sur un seul nœud.
Étant donné que les actualisations et les requêtes distribuées sur les nœuds de passerelle peuvent avoir des profils très différents, nous vous recommandons également d’effectuer un examen plus approfondi des travaux durables ou nécessitant beaucoup de mémoire. Dans ces cas-là, l’optimisation des requêtes peut avoir un impact énorme sur les performances et la scalabilité, non seulement pour les rapports et les actualisations individuels, mais aussi sur le système dans son ensemble. Nous vous recommandons d’isoler les actualisations en question sur un cluster de passerelle dédié unique pour évaluer les caractéristiques de performance et effectuer une optimisation à l’aide de diagnostics de plan de requête, d’indicateurs de repli et de toutes les autres recommandations de performances publiées. Cette isolation réduit la quantité de données récupérées et la quantité de post-traitement requise. Cette isolation peut également être utilisée comme stratégie à long terme pour isoler les travaux ETL de longue durée dans un cluster de passerelle dédié afin de réduire la contention avec d’autres actualisations typiques au sein de l’organisation.
Scale-up d’un cluster de passerelles
Le scale-up consiste à augmenter les spécifications (processeur, mémoire, disque, etc.) de vos serveurs de passerelles.
Un scale-up peut être nécessaire si le processeur ou la mémoire max. est atteint(e) lorsque la passerelle exécute une ou plusieurs requêtes. Une requête ne peut être exécutée que sur un seul serveur de passerelle, c’est pourquoi le serveur de passerelle doit disposer de suffisamment de ressources disponibles pour traiter l’intégralité de la requête, ainsi que les données obtenues.
Scale-out d’un cluster de passerelles
Un scale-out est requis si le serveur de passerelle a déjà des spécifications élevées (en d’autres termes, le serveur de passerelle a déjà fait l’objet d’un scale-up), ou si vous avez atteint les limites de ce qu’un seul serveur de passerelle peut gérer en raison du nombre de requêtes simultanées exécutées. Une augmentation de la charge importante sur l’ensemble des membres de la passerelle est un bon indicateur que la mise à l’échelle d’un cluster en ajoutant des nœuds est appropriée. La section Quand mettre à l’échelle un cluster de passerelle fournit des seuils spécifiques qui indiquent à quel moment il est nécessaire d’effectuer une mise à l’échelle. Pour plus d’informations sur le scale-out, accédez à Utiliser les fonctionnalités de haute disponibilité et d’équilibrage de charge de la passerelle.
Mise à l’échelle en créant de nouveaux clusters de passerelles
Si l’utilisation des ressources de votre cluster de passerelles est élevée ou si un nombre exceptionnellement élevé d’utilisateurs dépendent d’un cluster de passerelles, un nouveau cluster de passerelles peut être créé. Un sous-ensemble de la charge de travail peut ensuite être migré vers le nouveau cluster de passerelles. Lorsqu’un grand nombre d’utilisateurs dépendent d’un seul cluster de passerelles, la probabilité qu’un utilisateur puisse envoyer une requête qui affecte significativement les performances de l’ensemble du cluster de passerelles augmente considérablement.
Un nombre exceptionnellement élevé d’utilisateurs qui dépendent d’un seul cluster de passerelles indique qu’un nouveau cluster de passerelles doit être créé.
Surveillance et résolution des problèmes de performances de la passerelle
Il est important de surveiller les performances globales des passerelles critiques pour l’entreprise à l’aide de la fonctionnalité de surveillance des performances de la passerelle. Vous pouvez également utiliser cette fonctionnalité pour résoudre les problèmes de performances, identifier les goulots d’étranglement et identifier les requêtes qui ont un impact sur les performances globales de la passerelle. Cette fonctionnalité est également un outil important pour vous aider à déterminer quand mettre à l’échelle un cluster de passerelles.
Si vous identifiez une requête comme ayant un impact important sur la passerelle entraînant de mauvaises performances globales, vous pourrez peut-être réécrire la requête pour qu’elle soit plus efficace et minimiser l’impact sur les performances.
Si Microsoft identifie de mauvaises performances dues à une passerelle ou à un composant lié à une passerelle, comme une fonctionnalité Power BI Premium surchargée, le composant surchargé doit être corrigé en mettant à l’échelle ou en réduisant la charge. Microsoft n’examine pas les mauvaises performances lorsqu’une passerelle ou un composant lié à une passerelle est surchargé.