Face à une demande grandissante de disponibilité des données, le clustering s’impose comme une réponse adaptée.
En tant qu’expert de l’hébergement cloud, nous vous accompagnons dans vos projets d’amélioration de la disponibilité de vos services. Nos équipes sont là pour vous aider à :
Afin de fournir une disponibilité optimale de vos services, il est possible d’utiliser le principe de mise en cluster. Il existe 2 approches :
Le failover cluster (ou cluster à basculement) permet d’assurer la haute disponibilité d’un service. Il est souvent utilisé avec des technologies comme les serveurs SQL, la virtualisation, etc…
Le failover cluster se base sur un principe actif/passif. Vous disposez de différents nœuds (ex : serveurs) assurant tous le même service. Un nœud est élu master, il reçoit et traite les requêtes (transaction SQL, …). Les autres nœuds sont en attente, ils ne répondent pas aux requêtes.
En cas de défaillance du nœud master, le service est basculé sur un nœud passif, qui devient alors un nouveau master, pour continuer à traiter les requêtes.
Prenons l’exemple d’un cluster à basculement SQL. Le service fourni est donc une base de données. Dans un fonctionnement normal (partie de gauche), le serveur en bleu assume le rôle actif du cluster. C’est ce dernier qui répond aux requêtes de l’utilisateur. Le second serveur, en gris, est alors passif.
En cas de problème sur le serveur actif (partie de droite), le serveur anciennement passif détecte le problème et devient à son tour actif. Il prend alors en charge les requêtes de l’utilisateur.
Du côté utilisateur, la panne et le basculement ont été totalement transparent. L’utilisateur continue d’utiliser sa base de données sans avoir besoin de se connecter à un serveur différent.
Le principal inconvénient du failover clustering est le fait qu’il n’y ait qu’un nœud actif à un moment donné et donc aucune répartition de la charge. Il y a donc un gaspillage de ressources.
Cependant, il existe des services qui ne peuvent être rendus hautement disponibles qu’avec du failover clustering. Par exemple, les serveurs SQL utilisent des techniques pour vérifier et assurer la cohérence et l’intégrité des données qui rendent impossible l’utilisation de plusieurs nœuds actifs en même temps.
Une autre solution pour assurer la haute disponibilité d’un service ou d’une application serait de répartir la charge sur plusieurs nœuds. En effet, si une défaillance survient sur un nœud sa charge et redistribué sur les nœuds restants. On parle alors de fonctionnement actif/actif.
Les différents nœuds du cluster fournissent toujours le même service comme dans le cas du failover. Cependant dans ce cas, tous les nœuds peuvent répondre et traiter les requêtes. Plusieurs métriques peuvent être utilisées pour répartir la charge en fonction des besoins de l’applications : l’utilisation CPU, la quantité de RAM, l’adresse IP cliente, …
Le seul prérequis à l’utilisation de cette technologie est la compatibilité avec l’application que vous souhaitez rendre hautement disponible. Par exemple : les serveurs SQL ne supportent pas la répartition de charge, la haute-disponibilité est effectué grâce au failover clustering. Au contraire les services Web (site web, api) sont particulièrement adaptés au mode de fonctionnement du load-balancing.
Prenons le cas d’un site web. Les utilisateurs se connectent à un site web (ex : site eCommerce, évenementiel, médias, sportifs, live, direct). La charge est répartie sur plusieurs serveurs pour pouvoir encaisser un fort trafic.
On constate que, même en cas de dysfonctionnement d’un serveur, le site web continue de fonctionner normalement. Le serveur non-fonctionnel ne participe plus au cluster et la charge est repartie sur les nœuds restants.
Le load-balancing, tout comme le failover clustering, permet d’assurer la haute-disponibilité d’un service donné. En plus de la haute-disponibilité, vous bénéficiez aussi de la répartition de charge, permettant une meilleure optimisation et rationalisation de vos ressources.
En effet, tous les nœuds travaillent de concert, vous n’avez pas de ressources en attente.
Lorsque cela est possible, il est préférable d’utiliser le mode de fonctionnement actif/actif. Vous bénéficiez de la haute-disponibilité ainsi que d’une répartition de charge. Vos ressources sont utilisées de manière optimale. De plus, l’évolutivité de votre solution est plus souple : il vous suffit de rajouter un nouveau nœud au cluster.
Au contraire dans le cas du failover clustering il vous faudrait augmenter les ressources physiques du serveur, une opération contraignante et généralement difficilement réversible.
Cependant, le failover clustering reste une solution adaptée, principalement lorsque le service n’est pas compatible avec le load-balancing (ex : serveurs SQL).
Lors de la conférence « Future of SharePoint » (San Francisco, mai 2016), Microsoft en a profité pour livrer la feuille de route de sa plateforme collaborative. Cette présentation se centre principalement autour d’une date clé : juin 2016, période durant laquelle la version finale de SharePoint sera disponible. Mais pas que, c’est également le moment durant lequel […]
Lire la suiteLe 19 octobre dernier, Microsoft a annoncé une augmentation des tarifs de ses contrats de licences pour fournisseurs de services Microsoft (licences SPLA), qui entreront en vigueur au 1er janvier 2022. Openhost vous propose un récapitulatif des changements de prix des technologies de Microsoft liées à Windows Server 2022 et Office LTS, disponibles dans les licences SPLA. [...]
Lire la suiteMicrosoft Azure supporte de nombreux types de bases de données, que ce soit en modèle de déploiement IaaS (SQL Server, MySQL, Oracle…) ou en déploiement PaaS (SQL, MySQL, etc.). En migrant leurs bases on-premises vers le cloud avec Azure SQL Database, certaines entreprises ont été en mesure d’optimiser leurs coûts, d’assurer une plus haute disponibilité […]
Lire la suite