Aufbau und Betrieb von S3
- S3 steht für Amazon Simple Storage Service und bezeichnet ein groß angelegtes Speichersystem.
- Andy Warfield arbeitete bei S3 und gewann dabei ein umfassendes Verständnis des Systems.
- S3 ist ein Service, der viele Bereiche abdeckt – von der Performance-Erfahrung der Kunden bis hin zur Mechanik von Festplatten.
Vor 17 Jahren, auf einem weit entfernten Universitätscampus...
- S3 wurde am 14. März 2006 eingeführt und feiert dieses Jahr sein 17-jähriges Bestehen.
- Warfield schloss seine Promotion an der University of Cambridge ab, arbeitete am Xen-Projekt mit und gründete danach das Startup XenSource.
- XenSource wuchs und wurde von Citrix übernommen; dabei lernte Warfield viel über Unternehmenswachstum und Teamführung.
Wie S3 funktioniert
- Nachdem Warfield zu Amazon gekommen war, lernte er von Seth Markle, einem der frühen S3-Ingenieure, wie S3 funktioniert.
- S3 ist ein Object-Storage-Service mit einer HTTP-REST-API und besteht aus Frontends, einem Namespace-Service, einer Storage-Flotte mit Festplatten sowie einer Flotte für Hintergrundaufgaben.
- S3 besteht aus Hunderten von Microservices, und die Interaktion zwischen den Teams erfolgt über Verträge auf API-Ebene.
Erste Beobachtungen
- S3 ist über Software hinaus ein sich ständig weiterentwickelndes Ökosystem, das auch Hardware und Menschen umfasst.
- Die Größe von S3 ergibt sich daraus, dass jede Komponente aus einer Sammlung horizontal skalierter Services besteht, sodass es Zeit braucht, den Umfang des Systems zu verstehen.
Technische Größenordnung: die Physik des Speicherns
- S3 ist ein sehr großes System, das Millionen von Festplatten nutzt.
- Festplatten sind ein Wunderwerk aus Technologie und Innovation und zugleich äußerst kosteneffizient.
Heat Management: Datenplatzierung und Performance
- Bei S3 wird zur Lösung des Problems des „Heat Management“ optimiert, indem I/O-Anfragen gleichmäßig auf viele Festplatten verteilt werden.
Replikation: Datenplatzierung und Haltbarkeit
- S3 verwendet Redundanzschemata wie Replikation und Erasure Coding, um die Haltbarkeit der Daten sicherzustellen und Heat zu managen.
Auswirkungen der Größenordnung: Strategien zur Datenplatzierung
- Durch eine möglichst breite Verteilung der Daten auf möglichst viele Festplatten belegt die Kundendatenmenge auf jeder einzelnen Platte nur sehr wenig Platz, wodurch Workload-Isolation erreicht wird.
Der menschliche Faktor
- Die Komplexität von S3 beruht nicht nur auf technischen, sondern auch auf menschlichen Faktoren.
- Amazon ermutigt Ingenieure und Teams dazu, schnell und sicher zu scheitern und sich darauf zu konzentrieren, Storage mit hoher Haltbarkeit bereitzustellen.
Meine eigene Skalierung: Schwierige Probleme lösen, die mit „Ownership“ beginnen und enden
- Warfield erlebte bei Amazon eine persönliche Form der Skalierung und lernte dabei etwas über die Größenordnung von Software, Menschen und Business.
- Bei Amazon liegt der Fokus auf „Ownership“, was hilft, die Organisationsstruktur und den Engineering-Ansatz zu verstehen.
Meinung von GN⁺
- S3 ist mehr als nur ein Storage-Service; es ist ein komplexes Ökosystem, in dem Hardware, Software und menschliche Faktoren zusammenwirken.
- Dieser Artikel bietet Einblicke für junge Software-Ingenieure, die die Größenordnung und Komplexität von S3 verstehen möchten.
- Die „Ownership“-Kultur bei Amazon ist ein wichtiger Faktor, der Teams und Einzelpersonen motiviert, mit größerem Verantwortungsbewusstsein Innovation voranzutreiben.
1 Kommentare
Hacker-News-Kommentare
Ich arbeite in der Genomik und habe in den letzten zehn Jahren mit vielen Petabyte-Datenspeichern zu tun gehabt.
Was man alles bauen könnte, wenn S3 ein OAuth2-basiertes Protokoll verwenden würde, um Lese-/Schreibzugriffe zu delegieren.
Authentifizierung in verteilten Systemen zu behandeln, ist extrem schwierig.
Es ist schön zu sehen, dass Amazon-Mitarbeiter öffentlich über die internen Funktionsweisen von S3 sprechen.
Der Teil, in dem Festplattenköpfe mit einer 747 verglichen werden.
Wenn man in die Zeit der S3-KeyMap zurückgeht, hat man gelernt, dass sich die heißesten Objekte/Partitionen/Buckets auch nach ihrer Identifikation nicht einfach durch Verschieben beheben ließen.
S3 ist nicht einfach nur Speicher, sondern ein Standard.