Haute disponibilité Azure en Suisse

La haute disponibilité consiste à éliminer les points de défaillance, ce qui implique donc de mettre en place de la redondance. En contrepartie, la reprise après sinistre prend le relais là où la haute disponibilité a échoué. Ce second sujet avait déjà été abordé dans l’article Mettre en place un Disaster Recovery sur Suisse Ouest.

Dans cet article, je souhaite vous parler des zones de disponibilité, déjà présentes dans plusieurs régions Azure, permettant de simplifier les architectures demandant une haute disponibilité. Avant d’aller plus loin, voici un rappel de plusieurs définitions Azure :

Assurer la continuité des activités et la récupération d'urgence à l'aide  des régions jumelées Azure | Microsoft Docs
Schéma expliquant l’architecture locale d’Azure.

Qu’est-ce qu’une zone géographique ?

Une zone géographique Azure désigne une zone du monde contenant au moins une région Azure. Les zones géographiques définissent un marché discret, qui contient généralement deux régions ou plus qui préservent la résidence des données et les limites de conformité.

Source : Microsoft doc

Qu’est-ce qu’une région Azure ?

En termes simples, une région Azure est un ensemble de centres de données reliés par un réseau dédié à faible latence. Combien de datacenters une région contient-elle ? Eh bien, nous n’avons pas de nombre fixe. Il varie. Il existe des régions de différentes tailles. Une région peut être composée d’un seul ou de plusieurs centres de données. Le fait est qu’une région Azure est un groupe d’un ou plusieurs centres de données Azure.

Source : pragimtech.com

Qu’est-ce qu’une zone de disponibilité ?

Les zones de disponibilité sont des emplacements physiquement séparés au sein de chaque région Azure qui tolèrent les défaillances locales. Les défaillances sont aussi bien des défaillances logicielles et matérielles que des événements de type tremblements de terre, inondations et incendies. La tolérance aux défaillances est obtenue grâce à la redondance et à l’isolation logique des services Azure. Pour garantir la résilience, au moins trois zones de disponibilité distinctes sont présentes dans toutes les régions qui ont des zones de disponibilité.

Source : Microsoft docs
Azure est composé de plus de 200 centres de données physiques, organisés en régions et liés par l’un des plus grands réseaux interconnectés du monde.

Comment faire de la haute disponibilité sur Azure ?

Sur Azure, la redondance des services est possible grâce à la multiplication des centres de données à travers le monde. Pour les données stockées sur le Cloud, elles sont systématiquement copiées au minimum 3 fois (Il ne s’agit pas ici des sauvegardes utilisateurs).

Certains services Azure apporte donc une haute disponibilité en étant réparti sur plusieurs régions, zones de disponibilité ou même groupes de disponibilité. A ne pas confondre avec d’autres services (ex. Azure AD) fonctionnant de manière globale ou régionale (ex. réseaux virtuels), où la haut disponibilité est automatiquement assurée par Microsoft. Un lien par service est disponible ici.

Peut-on faire de la haute disponibilité avec de la récupération d’urgence ?

Deux sujets connexes, mais souvent confondus, entrent en jeu dans l’architecture des systèmes qui atténuent les risques de défaillance : la haute disponibilité (HA) et la reprise après sinistre (DR) :

  • La haute disponibilité consiste à éliminer les points de défaillance uniques
  • La reprise après sinistre est le processus consistant à remettre un système dans un état opérationnel lorsqu’il est rendu inopérant

La vidéo ci-dessous vous permet de bien comprendre les différents scénarios possibles pour envisager une récupération d’urgence sur Azure en fonction de deux objectifs très précis :

Objectif de temps de rétablissement (RTO) : durée maximale pendant laquelle un système peut être hors service avant d’être rétabli dans un état opérationnel. Pour certains systèmes, cet objectif de temps de récupération peut être mesuré en heures, voire en jours, mais pour les systèmes plus critiques, les objectifs de temps de récupération sont généralement mesurés en secondes.

Objectif de point de récupération (RPO) : quantité de perte de données, mesurée en temps, qui est tolérable en cas de catastrophe. Pour certains systèmes, la perte d’une journée de données peut être acceptable, tandis que pour d’autres, elle peut se limiter à quelques minutes ou secondes.

Les durées RTO et RPO ont de grand impacts sur la manière dont les plans de reprise après sinistre sont mis en œuvre :

Merci à John pour cette vidéo 😉.

Et la Suisse dans tout ça ?

Actuellement : Annoncées en 2019 , deux régions Azure fonctionnent en mode jumelé sur le territoire helvétique :

  • Suisse Nord (Région de Zurich)
  • Suisse Ouest (Région de Genève)

Qu’est-ce qu’une paire de régions Azure ?

Une paire régionale est constituée de deux régions au sein de la même zone géographique. Azure sérialise les mises à jour de plateforme (maintenance planifiée) à travers les paires régionales, garantissant ainsi qu’une seule région de chaque paire est mise à jour à la fois. Si une panne touche plusieurs régions, au moins l’une des régions de chaque paire est prioritaire pour la récupération.

Source : Microsoft Doc
Microsoft Suisse - Nouvelles régions disponibles en 2019 | 3T | TTT

La région Suisse Ouest n’a pas vocation à être accessible à tous les scénarios. Comme l’indique la copie d’écran ci-dessous, la région est encore restreinte aux scénarios de récupération d’urgence :

Comment s’y prendre ?

Dans la configuration actuelle sur Suisse, il est malgré tout possible de faire la haute disponibilité via du multi régions. Les schémas ci-dessous montrent plusieurs architectures Azure, dont un AKS à haute disponibilité grâce au mode actif/actif :

https://docs.microsoft.com/fr-ch/azure/architecture/reference-architectures/n-tier/multi-region-sql-server

Et si je souhaite malgré tout envisager une récupération d’urgence ?

Certains services, comme Azure Site Recovery, apportent des solutions de réplications des données et des ressources. Par exemple, le lien suivant donne la marche à suivre pour activer cette fonctionnalité sur une machine virtuelle Azure.

Cette solution est efficace mais présentes quelques désavantages :

  • Cela n’est pas une solution HA, mais un DR
  • Le fonctionnement d’un DR est généralement Actif / Passif
  • La réplication des données est asynchrone
  • Le coût Azure en sera probablement supérieur (services + transfert des données)

Avant fin 2021 : Microsoft a profité de l’Ignite 2021, organisé en mars dernier, pour nous annoncer l’arrivée des zones de disponibilité (availability zones) pour l’ensemble des zones géographiques Azure :

La bonne nouvelle annoncée pour la Suisse est, selon Microsoft, toujours dans les cartons de 2021. On s’attend à ce que les zones de disponibilités pour Suisse Nord arrivent pour cette fin d’année.

Une fois ces zones ouvertes au public, nous pourrons alors déployer des services Azure sur ces dernières et ainsi accroître certaines SLAs :

Azure Availability Zones - First Look | Nicholas Romyn's Blog
Exemple d’architecture

Pour illustrer mon propos, voici en détail les SLA en vigueur pour les machines virtuelles Azure :

Pour toutes les machines virtuelles dont deux ou plusieurs instances sont déployées dans deux ou plusieurs zones de disponibilité de la même région Azure, nous garantissons que la connectivité de la machine virtuelle à au moins une instance sera assurée au moins 99,99 % du temps.


Pour toutes les machines virtuelles dont deux instances ou plus sont déployées dans le même set de disponibilité ou dans le même groupe d’hôtes dédiés, nous garantissons que vous aurez la connectivité de la machine virtuelle à au moins une instance au moins 99,95 % du temps.


Pour toute machine virtuelle à instance unique utilisant des disques SSD Premium ou Ultra Disk pour tous les disques du système d’exploitation et les disques de données, nous garantissons une connectivité de la machine virtuelle d’au moins 99,9 %.


Pour toute machine virtuelle à instance unique utilisant des disques gérés SSD standard pour les disques du système d’exploitation et les disques de données, nous garantissons une connectivité de la machine virtuelle d’au moins 99,5 %.


Pour toute machine virtuelle à instance unique utilisant des disques gérés HDD standard pour les disques du système d’exploitation et les disques de données, nous garantissons une connectivité de la machine virtuelle d’au moins 95 %.

Source : Azure doc

Conclusion

Les zones de disponibilités sur Suisse apporteront donc plusieurs bénéfices directs :

  • Augmentation de la résilience des applications et la disponibilité prises en charge par le contrat SLA (ex. 99,99 % pour les machines virtuelles)
  • Simplification des schémas d’architecture à haute disponibilité
  • Respect d’exigences réglementaires et de conformité pour les applications critiques.
  • Non compromission de la résidence des donnée

Je manquerai donc pas de revenir vers vous dès la disponibilité du service 😋

Azure : Baisse des prix sur Suisse

Bonne nouvelle pour le Cloud en Suisse, les prix baisses sur Azure en octobre !!!

A partir d’un 1er octobre 2021, une baisse des prix est appliquée sur la consommation Azure dans les 2 régions Suisse. La vérification peut simplement se faire grâce à l’outil d’estimation des coûts de Microsoft : Azure Pricing Calculator.

Lancées en 2019, les régions Azure Suisse Nord et Suisse Ouest étaient plus chères que leurs homologues en Europe. L’écart entre ces régions tend maintenant à diminuer. Beaucoup de projets d’hébergement repose en effet sur une demande de stockage des données sur le territoire helvétique.

Voici quelques exemples pour vous donner une idée de la baisse des prix sur des architectures Azure :

Quote A : Architecture Pay As You Go

L’architecture est hébergée sur Suisse Nord et comporte les éléments suivants :

  • 1 Domaine managé Azure AD DS
  • 1 Serveur Application
  • 1 Serveur Azure Virtual Desktop
  • 1 Compte de stockage pour gestion des profils FSLogix
  • 1 Coffre de sauvegarde pour la machine virtuelle et le compte de stockage
  • 1 Accès VPN + Bande passante

Au final, l’architecture ci-dessus, refaite en octobre 2021, est 10% moins chère que celle créée en septembre 2021. La vérification est facile à faire si vous utilisez la fonction partager dans le calculateur Azure et que vous conservez les liens HTML générés le mois précédent :

Quote B : Architecture Azure Virtual Desktop (Pay As You Go)

Ce second exemple est dédié à une architecture plus conséquente, utilisée pour un environnement Azure Virtual Desktop d’environ 180 utilisateurs et avec un mode de facturation en Pay As You Go :

  • 2 Machines virtuelles pour le contrôleur de domaine AD
  • 6 Machines virtuelles Azure Virtual Desktop
  • 1 Compte de stockage pour gestion des profils FSLogix
  • 1 Coffre de sauvegarde pour les AD et le compte de stockage
  • 1 Accès VPN + Bande passante

La baisse de prix reste aux alentours des 12%, proche de l’architecture A. L’impact sera plus fort compte tenu du nombre de machines virtuelles employées dans cette seconde quote.

Quote C : Architecture Azure Virtual Desktop (Instances réservées)

Dernier exemple, on reprend l’architecture Azure Virtual Desktop utilisée pour les 180 utilisateurs et on optimise les coûts avec l’achat d’instances réservées pour les machines virtuelles. Petite rappel de ce qu’est une instance réservée sur Azure :

Si vous utilisez les ressources d’une façon systématique adaptée aux réservations, l’achat d’une réservation vous offre l’opportunité de réduire vos coûts. Par exemple, si vous exécutez en permanence des instances d’un service sans réservation, vous êtes facturé au tarif du paiement à l’utilisation. Quand vous achetez une réservation, vous bénéficiez immédiatement de la remise sur réservation. Les ressources ne sont plus facturées au tarif du paiement à l’utilisation.

Source : Microsoft
Ce graphique montre l’impact financier en couplant l’optimisation des machines virtuelles grâce à Azure Hybrid Benefit et les instances réservées.

Voici d’ailleurs le lien expliquant le bénéfice financier à s’engager sur des instances réservées de 1 ou 3 ans. La liste des composants Azure ne change donc entre la quote B et C, simplement l’ajout d’instances réservées 3 années pour l’ensemble des machines virtuelles :

  • 2 Machines virtuelles pour le contrôleur de domaine AD
  • 6 Machines virtuelles Azure Virtual Desktop
  • 1 Compte de stockage pour gestion des profils FSLogix
  • 1 Coffre de sauvegarde pour les AD et le compte de stockage
  • 1 Accès VPN + Bande passante

La baisse de prix sera alors beaucoup plus faible ici (2%) car les machines virtuelles représentent le gros de la quote et que les instances réservées font déjà un gros rabais dessus.

Conclusion

Les baisses de prix sont toujours des bonnes nouvelles. On ne peut que s’en réjouir sur Suisse, car ces deux régions sur considérées comme premium par Microsoft. Quelques analyses faites entre septembre et octobre me permettent enfin de constater les baisses de prix les plus fortes sur :

  • Machine virtuelle non réservées
  • Sauvegarde de machine virtuelles
  • Sauvegarde de partage de fichiers d’un compte de stockage
  • Disques managés pour VM

Par ailleurs, je n’ai vu par contre aucune baisse de prix pour la partie réseau (VPN ou encore bande passante). Enfin et comme toujours, pensez à partager votre expérience sur les quotes Azure dans les commentaires 😋

Mettre en place un Disaster Recovery sur Suisse Ouest

Carte représentant les régions Microsoft Azure à travers le monde
(Crédits : Microsoft).

Un des plus grands atouts de Microsoft Azure est bien le nombre de régions disponibles à travers le monde. A l’heure j’écris ce billet, nous pouvons déjà compter sur plus de 65 régions disponibles. Par région, j’entends que chacune d’entre elle dispose d’un ou plusieurs centres de données, appelés également zone de disponibilité.

Quoi de neuf en 2021 ?

L’année 2021 va continuer sur cette forte progression puisqu’il a été annoncé lors de l’Ignite 2021, que chaque région Azure aura droit à des zones de disponibilités en son sein. Aucun calendrier précis n’a été communiqué pour l’heure.

En revanche, chaque région Azure disponible se retrouve liée à une région paire au sein de la même zone géographique. Ces deux régions sont donc spécéfiquement reliées pour obtenir une faible latence mais aussi des services supplémentaires, comme de la continuité d’activité en cas de grand sinistre.

Les régions paires ne sont jamais mises à jour en même temps. La région paire va servir de stockage de secours pour les ressources configurées en GRS (Geo-redundant storage).

Pour tout comprendre sur les principes de régions et de disponibilités, je ne peux que vous conseiller l’excellente vidéo de Travis Roberts :

Et la Suisse dans tout ça ?

Microsoft Azure est implanté sur le territoire Suisse depuis 2019. Cela rend possible la mise en place d’un nouveau tenant 365 dans le pays helvétique, mais aussi le placement de ressources Azure. Il s’agit ici d’une évolution importante pour les entreprises et les organisations ayant des besoins en matière de résidence, de sécurité et de conformité des données.

Azure est présent sur Suisse dans deux régions distinctes: la Suisse occidentale située à Genève et la Suisse du Nord située à Zurich.

Deux régions Azure sont donc disponibles sur Suisse, mais cela ne veut pas dire que les deux sont accessibles pour tous. En effet, la région Suisse Nord reste à ce jour la région principale pour cette zone géographique. Il est malgré tout possible de faire une demande auprès de Microsoft pour installer des environnements de production sur Suisse Ouest, mais cette demande devra être motivée par son caractère stratégique et/ou critique.

Et si l’on souhaite mettre un disaster recovery sur la région paire ?

Pour rappel, un disaster recovery est une solution de réplication vers un lieu géographique éloigné pour assurer une continuité de service. L’intérêt de ce type de service est de limiter certains coûts liés à l’infrastructure secondaire. En effet, Azure propose un service appelé Azure Site Recovery, qui va se charger de répliquer les données en continu. Les ressources ne sont créées qu’en cas de failover (bascule). On ne paye donc que pour le stockage répliqué sur la seconde région. Ce schéma ci-dessous montre bien l’effort d’architecture pour assurer une continuité pour les 3 couches de service en cas de grand sinistre :

Azure Site Recovery | Microsoft Azure
Exemple de réplication d’architecture entre deux régions Azure. Traffic manager sera en mesure de détecter tout seul que la première région ne répond plus aux requêtes et pourra donc rediriger tous les flux vers la seconde région.

Pour installer notre Azure Site Recovery en Suisse Ouest, nous aurons donc besoin au préalable de faire une demande auprès des services de Support Microsoft. Un processus de demande d’accès aux régions Azure est disponible ici. A noter qu’en cas d’achat des ressources Azure par un Cloud Service Provider (CSP), cette demande devra être faite directement auprès de leurs services afin d’être correctement traitée. Une fois la demande validée par Microsoft, vous pourrez donc avoir « Suisse Ouest » dans la liste des régions disponible lors de la création de votre Azure Site Recovery.

Microsoft Azure Regions in Switzerland now available - Thomas Maurer

Vous voilà prêt à mettre tout ça en place !

Quelques conseils :

  • La création du groupe de ressource devra aussi faire sur la région paire (Suisse Ouest). Vous pourrez rencontrer un blocage lors de la configuration de la réplication avec Azure Site Recovery si ce dernier se trouve également dans un groupe de ressource créé sur Suisse Nord. Après réflexion, cela semble logique car le sinistre risquerait d’empêcher d’accéder à votre ressource, située dans une autre région non impactée, mais dont son groupe de ressource l’est potentiellement.
  • Comme toujours, avant toute mise en place de ressource Azure, vérifier la disponibilité de tous les services nécessaires dans ladite région, afin de vous retrouver bloqué en milieu de déploiement.

😉