Azure SQL Database : scénario de reprise d'activité et performance avec la géo-réplication active

Parmi des centaines des fonctionnalités arrivant en masse sur le Cloud Azure, voici une qui simplifiera la vie des responsables IT: la géo-réplication des bases de données SQL Database. Comme démontré ci-dessous, nous pourrons utiliser cette fonctionnalité pour augmenter le niveau de disponibilité de votre application et la préparer pour les cas de catastrophe (“disaster recovery”).  Mais la géo-réplication peut servir également à l'amélioration de la performance applicative.

Scénario de reprise d’activité

La nouvelle structure des éditions SQL Database (actuellement en preview public) est composée des niveaux Basic, Standard et Premium. L’édition Premium inclut la fonctionnalité dite de géo-réplication active: pour une base de données hébergée sur un serveur qui se trouve dans une sous-région (datacenter) Azure (ex. Europe / Dublin), il y a l’option d’associer un réplica hébergée dans un autre data center de la même région (dans ce cas-là: Europe / Amsterdam).
Ce réplica sera synchronisé en permanence et de manière transparente avec la base originelle et fera en sorte qu’en cas d’indisponibilité du datacenter source, pour pourrez faire rapidement basculer votre application vers le datacenter destination.
(en l’occurrence, vous aurez les machines virtuelles / les services applicatifs hébergés dans le datacenter destination et prévus à se connecter à la base de données réplica.)



Et la performance  ?

Ce qui est encore plus intéressant est que ce réplica géographique est active : elle est disponible immédiatement en mode lecture. La conséquence est que vous pouvez concevoir votre application pour exposer certains services (par exemple, le reporting) qui seront servis à partir de la base de données réplica. Ce qui impactera positivement la charge globale de votre application (en soulageant par conséquence la base transactionnelle d’origine).
Pour le principe, la fonctionnalité de géo-réplication active pour les bases de données SQL Database Premium est équivalente, en terme de Microsoft SQL Server, d’une configuration de cluster type Avaliability Group AlwaysOn active-active, déployée de manière distribuée à travers les deux datacenters.

Les éditions Azure SQL Database

Voici un extrait des différences de fonctionnalité et du pricing à jour des (futures) éditions SQL Database (50% discount pour la période de preview; les “S” et les “P” correspondent à des différents niveaux de performance):
image
A noter que certaines fonctionnalités ne sont pas disponibles aujourd’hui – ex. pas de géo-réplication (encore) dans l’édition Standard.


Maintenant, la pratique

Comment implémenter tout cela ?
D’abord, il faudra activer l’accès en preview à la nouvelle structure d’éditions SQL Database (si ce n’est pas fait déjà):
image
Ensuite, nous allons créer une base de données Premium:
image
  • Spécifiez les paramètres de votre base:
    • le nom
    • la souscription (celle sur laquelle la fonctionnalité est active)
    • L’édition: PREMIUM
    • Le niveau de performance attendu
    • La taille
    • La collation de la base
    • Le serveur SQL qui l’hébergera. Si le serveur n’est pas créé, vour pouvez le créer à la volée.
      Attention: c’est ici que vous définissez l’emplacement de votre base de données (le datacenter, ici Europe / Dublin) :
image
Très rapidement, votre base est disponible en ligne :
image
Alors, on sélectionne la base de données et ensuite l’onglet “geo-replication”. Pour l’instant, à part l’information sur la région, rien n’est saisi :
image
  • De la barre en bas, on démarre le rajout d’un réplica (“Add replica”) :
image
  • On configure le réplica, en sélectionnant le serveur SQL cible.
    Le serveur SQL cible doit être créé en avance. Il doit se trouver dans la même région, mais pas dans le même datacenter que la source (dans le cas courant, il se trouve en Europe / Amsterdam)
    * Un aspect plus “exotique”, aujourd’hui, la sous-région (datacenter) de Brésil est associée à la région US Central America (ce qui fait la seule région en 3 datacenters actuellement)
image
  • Confirmation pas anodine demandée par la suite: alors que les bases de données édition premium sont bien plus chères que les autres éditions, il faut remarquer que la base réplica sera également édition prémium (ce qui implique le doublement du cout).

    (A vous de mettre en balance avantages vs. inconvénients; en tout cas, pour une exploitation efficiente et en considérant les couts de licences SQL Server inclus, plus la vitesse et facilité de mise en œuvre, la valeur rajoutée reste intéressante.)
image
Et voilà le réplica créé et mis en ligne.

image
Si on affiche maintenant la liste de bases de données, nous pouvons voir les 2 bases créées, chacune avec son rôle (source vs réplica) dans le mécanisme de géo-réplication :
image

Oui, mais ça fonctionne en vrai ?

Allons voir.
On sélectionne la base source et on accède la fonctionnalité de gestion (bouton “Manage”):
image
Si vous vous y connectez la première fois depuis votre emplacement, alors Azure vous propose d’ajuster (en connaissance de cause) les contraintes sécuritaires de filtrage d’adresses ayant le droit de gérer ce serveur SQL:
“The current IP address 78.114.135.206 is not included in the existing firewall rules. Do you want to update the firewall rules to manage premiumdbtest?”
Assumons que vous êtes d’accord ( Sourire ), vous accèderez ensuite une application web de gestion de la base de données (avec des fonctionnalités SQL plutôt basiques, mais pratiques à accéder directement via une interface web) :
image
(les crédentiels sont ceux saisis au niveau du serveur SQL)
Notez bien le nom cryptique du serveur SQL – c’est celui du serveur source :
image
Vous pouvez créer rapidement une table Clients (ID, Nom)…
image
Si vous ouvrez maintenant la page similaire de la base de données réplica, surprise ! La table Clients est déjà là :
image
Plus que ça. N’hésitez pas de faire l’expérience qui suive : mettez les 2 pages côte à côte, insérez une ligne dans la table Clients à gauche (source)…
image
…et rafraichissez rapidement à droite : vous retrouvez la ligne dans la table réplica quasi-instantanément :
image
Cela dans les conditions où – rappelons-le – les deux bases de données sont séparées par 800km et 2 mers !

En conclusion

Ceci est juste l’une des centaines de fonctionnalités qui sont dévoilées couramment sur le cloud Microsoft Azure. L’effort de les évaluer vous offre en échange, pour vos applications, des possibilités inattendues et des nouvelles opportunités - peut être impossibles de les atteindre auparavant.

Aucun commentaire:

Publier un commentaire