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):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à):
- Dans le portail Azure, sélectionnez le menu Profile (votre ID) > Voir ma facture (“View my bill”)
- Dans la page, sélectionnez l’onglet Fonctionnalités préliminaires (“Preview features”)
- Ou simplement, allez à https://account.windowsazure.com/PreviewFeatures
- Ici, activez “New Service Tiers for SQL Databases”: bouton Sign Up > Sélectionner l’abonnement désiré (si plusieurs) > OK
Ensuite, nous allons créer une base de données Premium:
- Dans le portail Azure > SQL Databases >Create new database
- 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) :
Très rapidement, votre base est disponible en ligne :
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 :
- De la barre en bas, on démarre le rajout d’un réplica (“Add replica”) :
- 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)
- 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.)
Et voilà le réplica créé et mis en ligne.
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 :
Oui, mais ça fonctionne en vrai ?
Allons voir.On sélectionne la base source et on accède la fonctionnalité de gestion (bouton “Manage”):
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 ( ), 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) :
(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 :
Vous pouvez créer rapidement une table Clients (ID, Nom)…
Si vous ouvrez maintenant la page similaire de la base de données réplica, surprise ! La table Clients est déjà là :
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)…
…et rafraichissez rapidement à droite : vous retrouvez la ligne dans la table réplica quasi-instantanément :
Cela dans les conditions où – rappelons-le – les deux bases de données sont séparées par 800km et 2 mers !
Aucun commentaire:
Enregistrer un commentaire