Akamai Lines Background

Im Folgenden finden Sie einen Einblick in die Verfahren, die Akamai verwendet, um die Sicherheit von Software während des Entwicklungsvorgangs zu verbessern. Dieses Verfahren befolgen alle Technikerteams, um Fälle zu reduzieren, in denen Instabilitäten während des Build-Prozesses verursacht werden.

Zwar verwendet Akamai mehrere Tests zur Qualitätssicherung, doch im Internet treten zuweilen Grenzfälle auf, die nur für eine geographische Region, einen ISP und oder einen Kunden gelten.

Zunächst einige Hintergrundinformationen: Techniker von Akamai entwickeln Software, die dann auf den Hunderttausenden von Servern in den verteilten Netzwerken von Akamai installiert wird. Der Softwareentwicklungsprozess von Akamai setzt ein Modell mit betrieblichem Fokus ein, vergleichbar mit den Modellen anderer großer SaaS-Anbieter. Dabei handelt es sich um ein adaptives Modell mit Fokus auf Teamarbeit, Rollenaufteilung und Risikomanagement. Zusätzlich zu der intern entwickelten Software nutzt Akamai auch von Dritten geschriebene Software, einschließlich FLOSS, sowie proprietäre Software von Vorlieferanten.

Akamai modifiziert diese Komponenten für eine verbesserte Skalierbarkeit, optimierte Fehlerbehebungsfähigkeiten, verbesserte Berichterstattung über Telemetrie- und Prüfprozesse an Überwachungssysteme oder zur Verwendung eines bestimmten Teils der Software.

Akamai Engineering verwendet ein Revision Control System (RCS), welches die Anzahl von zugelassenen Softwareänderungen beschränkt und die Nachverfolgung der Anmeldebenachrichtigung zu Quellcodeeinsendungen ermöglicht. Die An- und Abmeldung von Quellcode wird mittels des asymmetrischen Kryptosystems authentifiziert, um sowohl Zugriffskontrolle als auch Nachweisbarkeit zu gewährleisten.

Änderungen werden gestaffelt, d. h. in Phasen umgesetzt, um die Auswirkungen auf die Services von Akamai möglichst gering zu halten. Akamai installiert die Software über sichere Verbindungen mit Schutzmechanismen, die sicherstellen, dass Komponenten in der korrekten Revision und ohne Modifikationen übertragen werden.

Wenn sich jede Phase als funktionsfähig und stabil erwiesen hat, wird grünes Licht für die Bereitstellung der verbleibenden Phasen gegeben. Akamai bezeichnet dies als die „globale“ Phase. In jeder Phase gibt es einen dokumentierten Vorgang zur Rückgängigmachung der Installation. Das ist notwendig, da die Software nicht automatisch aufhört, Datenverkehr in neu installierte Bereiche zu senden, wenn ein Problem vorliegt. In vielen Fällen setzen die betroffenen Server von selbst aus, wenn eine Rückgängigmachung erforderlich ist.

Softwareinstallationen werden in der Regel in „Gruppen“ ausgeführt, wenn wir die Rückgängigmachung global vornehmen, um die Auswirkung auf die Services von Akamai zu minimieren. Wenn eine Region z. B. über 3 Server verfügt, wird jeweils nur ein Server nach dem anderen installiert. Um die Kontinuität sicherzustellen, installiert Akamai niemals eine gesamte Region auf einmal.

Diese Vorgehensweise dient dazu, Fälle zu minimieren, in denen eine Software während der Installation unerwünschte Auswirkungen auf das Netzwerk hat. Nur so können wir fortlaufend Services für unsere Kunden erbringen.