Une fiabilité accrue dans Microsoft Azure

Publié le 15 juillet, 2019

Chief Technology Officer, Microsoft Azure

La dépendance vis-à-vis des services cloud continue à croître pour les industries, les organisations et les personnes dans le monde entier. Dès lors, maintenant et plus que jamais, il est important de savoir que les solutions cloud que vous utilisez sont sécurisées et conformes aux normes globales et aux réglementations locales, qu’elles assurent la confidentialité et la protection des données, et qu’elles sont fondamentalement fiables. Chez Microsoft, nous nous engageons à fournir un ensemble de services cloud fiables, vous donnant ainsi l’assurance de profiter pleinement du cloud.

Au cours des 12 derniers mois, Azure a exploité les services de calcul de base avec une durée de fonctionnement moyenne de 99,995 % dans notre infrastructure cloud globale. Toutefois, à l’échelle à laquelle Azure fonctionne, nous reconnaissons que la durée de bon fonctionnement seule ne dit pas tout. Nous avons rencontré trois incidents uniques et importants qui ont affecté les clients au cours de cette période : une panne de centre de donnée dans la région USA Centre Sud en septembre 2018, des défis liés à Azure Active Directory (Azure AD) Multi-Factor Authentication (MFA) en novembre 2018 et des problèmes de maintenance DNS en mai 2019.

La création et l’exploitation d’une infrastructure cloud globale de 54 régions comprenant des centaines de services en constante évolution sont une tâche complexe et de grande envergure. Nous considérons donc chaque incident comme une opportunité d’apprentissage importante. Les pannes et autres incidents de service sont un défi pour tous les fournisseurs de cloud public, et nous continuons à améliorer notre compréhension des façons complexes dont des facteurs tels que les processus opérationnels, les conceptions architecturales, les problèmes matériels, les défauts logiciels et les facteurs humains peuvent s’aligner pour provoquer des incidents de service. L’ensemble des trois incidents mentionnés ont été le résultat de plusieurs défaillances qui, uniquement par le biais d’interactions complexes, ont conduit à une panne affectant les clients. Pour remédier à cela, nous mettons en œuvre des processus améliorées permettant d’atténuer les incidents grâce à des étapes telles que les redondances sur notre plateforme, l’assurance qualité dans l’ensemble de notre pipeline de mise en production et l’automatisation dans nos processus. La possibilité d’amélioration continue en temps réel est l’un des principaux avantages des services cloud, et bien que nous n’éviterons jamais tous les risques, nous nous attachons à réduire la fréquence et l’impact des problèmes de service tout en étant transparents avec nos clients, nos partenaires et l’industrie au sens large.

Garantir la fiabilité est une responsabilité fondamentale pour chaque ingénieur Azure. Pour renforcer ces efforts, nous avons formé une nouvelle équipe d’ingénierie de la qualité au sein de mon bureau de directeur des technologies, travaillant en collaboration avec notre équipe Ingénierie de fiabilité des sites (SRE) à des solutions novatrices pour offrir une plateforme encore plus fiable. Pour continuer à améliorer notre fiabilité, voici quelques-unes des initiatives déjà en cours :

  • Pratiques de déploiement sécurisé : Azure aborde l’automatisation des modifications par le biais d’une pratique de déploiement sécurisé qui vise à garantir que toutes les modifications de code et de configuration passent par un cycle d’étapes spécifiques. Ces étapes incluent le dev/test, la mise en lots, les préversions privées, un pilote de diversification matérielle et des périodes de validation plus longues avant un lancement plus vaste dans les paires de régions. Cela a considérablement réduit le risque d’impact négatif lors de modifications logicielles, et nous étendons ce mécanisme pour inclure des modifications d’infrastructure à définition logicielle, telles que la mise en réseau et le DNS.
  • Basculement au niveau du compte de stockage : lors de la panne du centre de données en septembre 2018, plusieurs tampons de stockage ont été physiquement endommagés, nécessitant ainsi leur arrêt immédiat. Parce que nous avons pour politique d’accorder la priorité à la rétention des données par rapport au délai de restauration, nous avons choisi de supporter une interruption plus longue pour assurer la restauration correcte de toutes les données client. Un certain nombre d’entre vous nous ont dit que vous souhaitiez bénéficier de plus de flexibilité lors de la prise de décision pour vos propres organisations, et nous offrons donc aux clients un aperçu de la capacité à lancer votre propre basculement au niveau du compte de stockage.
  • Développement des zones de disponibilité : aujourd’hui, nous disposons de zones de disponibilité actives dans les 10 plus grandes régions Azure, offrant ainsi une option de fiabilité supplémentaire pour la majorité de nos clients. Nous travaillons également à intégrer les zones de disponibilité dans les 10 plus grandes régions Azure suivantes d’ici à 2021.
  • Project Tardigrade : lors de la build du mois dernier, j’ai évoqué Project Tardigrade, un nouveau service Azure tirant son nom des animaux microscopiques presque indestructibles également surnommés oursons d’eau. Cette fonctionnalité permet de détecter les défaillances matérielles ou les fuites de mémoire pouvant entraîner des blocages du système d’exploitation juste avant qu’ils ne se produisent, permettant ainsi à Azure d’ensuite geler les machines virtuelles pendant quelques secondes pour que les charges de travail puissent être déplacées vers un hôte sain.  
  • Maintenance avec impact faible à nul : nous investissons dans l’amélioration des technologies de mise à jour à impact nul et à faible impact y compris la mise à jour corrective à chaud, la migration dynamique et la migration sur place. Au cours de l'année passée, nous avons déployé des dizaines de correctifs de sécurité et de fiabilité pour l’infrastructure hôte, beaucoup d’entre eux ont été implémentés sans impact ni temps d'arrêt pour les clients. Nous continuons à investir dans ces technologies pour intégrer leurs avantages à d’autres services Azure.
  • Injection d’erreurs et tests de contrainte : s’assurer que ces systèmes fonctionneront comme prévu en cas de défaillance n’est possible que si vous les soumettez à ces échecs. Nous réalisons de plus en plus d’injections d’erreurs dans nos services avant leur mise en production, aussi bien à une petite échelle avec des contraintes de charge et des défaillances spécifiques aux services, mais également aux échelles régionales et AZ avec des exercices de défaillance au niveau de régions complètes et d’AZ dans nos régions de contrôle de validité privées. Notre intention est de mettre ces services d’injection d’erreurs à la disposition des clients afin qu’ils puissent effectuer eux-mêmes ces validations sur leurs propres applications et services.

Attendez-vous à ce que nous partagions plus de détails sur notre architecture interne et nos opérations à l’avenir. Bien que nous effectuions toutes ces étapes pour améliorer la fiabilité de base, Azure vous fournit également des solutions de haute disponibilité, de récupération d’urgence et de sauvegarde permettant à vos applications de répondre aux exigences de disponibilité et aux objectifs de récupération de l’entreprise. Nous mettons à jour des aides détaillées sur la conception d’applications fiables, notamment des pratiques recommandées pour la conception architecturale, la surveillance de l’intégrité des applications et la réponse aux défaillances et aux sinistres.

La fiabilité est et reste un principe fondamental de nos engagements approuvés en matière de cloud, au même titre que la conformité, la sécurité, la confidentialité et la transparence. Dans tous ces domaines, nous savons que la confiance des clients se gagne et doit être maintenue, non seulement en disant mais aussi en faisant ce qui est juste. Microsoft a la conviction qu'un cloud fiable, responsable et inclusif repose sur la façon dont il s’engage en tant qu’entreprise, dont il développe ses technologies, dont il défend les intérêts de ses clients et dont il sert les communautés dans lesquelles il opère. Microsoft s’engage à fournir un ensemble de services cloud fiables, vous donnant ainsi l’assurance de profiter pleinement du cloud.