Mit Microsoft Azure in eine zuverlässige Zukunft

Veröffentlicht am 15 Juli, 2019

Chief Technology Officer, Microsoft Azure

Weltweit sind immer mehr Branchen, Unternehmen und Menschen von Clouddiensten abhängig. Umso mehr müssen Sie sich darauf verlassen können, dass die gewählten Cloudlösungen sicher und mit globalen Standards und lokalen Vorschriften konform sind und außerdem für rundum sichere Daten und grundlegende Sicherheit sorgen. Bei Microsoft haben wir uns verpflichtet, ein vertrauenswürdiges Portfolio an Clouddiensten anzubieten, sodass Sie das Potenzial der Cloud voll ausschöpfen können.

In den letzten 12 Monaten wurden unsere zentralen Computingdienste mit einer durchschnittlichen Uptime von 99,995 Prozent über unsere globale Azure Cloud-Infrastruktur betrieben. Angesichts der großen Ausdehnung von Azure muss jedoch festgestellt werden, dass die Uptime nicht die ganze Wahrheit vermittelt. In den Jahren 2018 und 2019 gab es drei signifikante Einzelvorfälle, die sich auf die Kunden auswirkten: ein Rechenzentrumsausfall in der Region "USA, Süden-Mitte" im September 2018, Probleme mit der Multi-Factor Authentication (MFA) von Azure Active Directory (Azure AD) im November 2018 und DNS-Wartungsprobleme im Mai 2019.

Der Aufbau und Betrieb einer globalen Cloudinfrastruktur mit 54 Regionen, die Hunderte dynamisch wachsender Services umfassen, ist eine große und komplexe Aufgabe. Daher betrachten wir jeden Vorfall als einen wichtigen Lernmoment. Ausfälle und andere Servicefälle sind eine Herausforderung für alle Public Cloud-Anbieter. Wir versuchen deshalb, das komplexe Zusammenspiel von Faktoren, die zu Servicefällen führen können, noch besser zu verstehen. Dazu gehören z. B. Betriebsabläufe, Architekturdesigns, Hardwareprobleme, Softwarefehler und menschliche Faktoren. Alle drei genannten Vorfälle resultierten aus einer Folge von Ausfällen, die allein infolge komplizierter Interaktionen zu Beeinträchtigungen für den Kunden führten. Unsere Reaktion: Wir versuchen, Vorfälle durch eine Reihe von Schritten zu entschärfen. Dazu zählen z. B. Redundanzen in unserer Plattform, die Qualitätssicherung in unserer Releasepipeline und die Automatisierung unserer Prozesse. Die Fähigkeit, sich in Echtzeit kontinuierlich zu verbessern, ist einer der großen Vorteile von Clouddiensten. Auch wenn wir alle diese Risiken niemals ganz eliminieren werden, sind wir sehr darauf bedacht, sowohl die Häufigkeit als auch die Auswirkungen von Serviceproblemen zu reduzieren und gleichzeitig für unsere Kunden, Partner und die gesamte Branche transparent zu sein.

Das technische Azure-Personal verpflichtet sich dazu, einen zuverlässigen Betrieb sicherzustellen. Um diese Bemühungen zu verstärken, haben wir ein neues Quality Engineering-Team innerhalb meines CTO-Büros gebildet. Diese Mannschaft arbeitet mit dem SRE-Team (Site Reliability Engineering) zusammen, um neue Ansätze für noch zuverlässigere Plattformen zu entwickeln. Um noch zuverlässiger zu werden, haben wir einige Initiativen auf den Weg gebracht. Dazu zählen:

  • Sichere Bereitstellungsmethoden – Azure geht die Automatisierung von Änderungen durch ein Framework sicherer Bereitstellungsmethoden an. So wird sichergestellt, dass alle Code- und Konfigurationsänderungen einen bestimmten Phasenzyklus durchlaufen. Zu diesen Phasen zählen Dev/Test, Staging, private Previews, ein Pilotprojekt für die Hardwarevielfalt und längere Überprüfungszeiträume, bevor Regionalpaare flächendeckend eingeführt werden. Dadurch sinkt drastisch das Risiko von Softwareänderungen mit negativen Auswirkungen. Wir bauen dieses Verfahren weiter aus, um Änderungen der softwaredefinierten Infrastruktur, wie z. B. Networking und DNS, zu berücksichtigen.
  • Failover auf Speicherkontoebene – Während des Rechenzentrumsausfalls im September 2018 wurden mehrere Speicherstempel physisch beschädigt und mussten sofort heruntergefahren werden. Da die Datenaufbewahrung bei uns Priorität vor der Wiederherstellungszeit hat, haben wir uns entschieden, einen längeren Ausfall zu überbrücken. So können wir die erfolgreiche Wiederherstellung aller Kundendaten sicherstellen. Einige von Ihnen haben uns mitgeteilt, dass sie sich mehr Flexibilität wünschen, um diese Entscheidung für ihr eigenes Unternehmen zu treffen. Deshalb bieten wir unseren Kunden Zugang zur Preview einer Funktion, durch die sich ein eigenes Failover auf Speicherkontoebene initiieren lässt.
  • Verfügbarkeitszonen erweitern  – Heute verfügen wir über Verfügbarkeitszonen in den 10 größten Azure-Regionen. So bieten wir der Mehrzahl unserer Kunden eine zusätzliche Zuverlässigkeitsoption. Außerdem werden wir bis 2021 Verfügbarkeitszonen in den 10 nächstgrößten Azure-Regionen implementieren.
  • Projekt Tardigrade – Auf der Fachkonferenz Build habe ich letzten Monat das Projekt Tardigrade vorgestellt. Dabei handelt es sich um einen neuen Azure-Dienst, der nach den nahezu unverwüstlichen mikroskopisch kleinen Bärtierchen benannt wurde, die auch als Wasserbären bekannt sind. Dadurch werden Hardwarefehler oder Speicherlecks, die zu einem Absturz des Betriebssystems führen können, unmittelbar vor ihrem Auftreten erkannt. Azure kann virtuelle Computer daraufhin einige Sekunden lang einfrieren, damit die Workloads auf einen intakten Host verschoben werden können.  
  • Geringe bis keine Auswirkungen auf die Wartung – Wir investieren in die Verbesserung von Zero-Impact- und Low-Impact-Update-Technologien, einschließlich Hot Patching, Live-Migration und direkter Migration. Im letzten Jahr haben wir Dutzende Patches für die Sicherheit und Zuverlässigkeit der Hostinfrastruktur bereitgestellt. Viele davon wurden implementiert, ohne dass Kunden beeinträchtigt oder Downtimes verursacht wurden. Wir werden auch in Zukunft in diese Technologien investieren, um die Vorteile auf noch mehr Azure-Dienste auszuweiten.
  • Fehlerinjektion und Belastungstests – Um festzustellen, ob Systeme vor dem Hintergrund von Ausfällen wie geplant funktionieren, muss man sie diesen Situationen aussetzen. Fehlerinjektionen spielen bei uns eine immer wichtigere Rolle, bevor Dienste produktiv eingesetzt werden. Wir führen sie in geringem Umfang unter dienstspezifischen Stressfaktoren und Ausfällen und in Bezug auf ganze Regionen und Verfügbarkeitszonen aus. Dabei werden die gesamte Region und VZ-Fehler in unseren privaten Canary-Regionen analysiert. Unser Plan besteht darin, diese Fehlerinjektions-Dienste für Kunden verfügbar zu machen, damit sie ihre eigenen Anwendungen und Dienste auf diese Art prüfen können.

In Zukunft werden wir weitere Details zu unserer internen Architektur und zu unseren Abläufen bekannt geben. Während wir all diese Schritte unternehmen, um die grundlegende Zuverlässigkeit zu verbessern, bietet Ihnen Azure auch Hochverfügbarkeits-, Notfallwiederherstellungs- und Sicherungslösungen. Damit haben es Anwendungen leichter, die Anforderungen an die Geschäftsverfügbarkeit und Wiederherstellungsziele zu erfüllen. Wir verfügen über detaillierte Anleitungen für den Entwurf zuverlässiger Anwendungen, einschließlich Best Practices für das Architekturdesign, die Überwachung der Anwendungsintegrität und die Reaktion auf Ausfälle und Katastrophen.

Verlässlichkeit ist und bleibt neben Compliance, Sicherheit, Datenschutz und Transparenz ein wesentlicher Grundsatz unserer Verpflichtungen rund um die vertrauenswürdige Cloud. Für alle diese Bereiche gilt, dass das Vertrauen der Kunden verdient und erhalten werden muss. Das heißt: Man muss das Richtige sagen und tun. Microsoft ist der Ansicht, dass eine vertrauenswürdige, zuverlässige und integrative Cloud darauf beruht, wie wir uns als Unternehmen engagieren, wie wir unsere Technologie, unsere Unterstützung und unsere Reichweite ausbauen und wie wir den Gemeinschaften, in denen wir tätig sind, dienen. Bei Microsoft haben wir uns verpflichtet, ein vertrauenswürdiges Portfolio an Clouddiensten anzubieten, sodass Sie das Potenzial der Cloud voll ausschöpfen können.