Construction et exploitation de S3
- S3 est l'acronyme de Amazon Simple Storage Service et désigne un système de stockage à très grande échelle.
- Andy Warfield a travaillé sur S3, ce qui lui a permis d'acquérir une compréhension très large du système.
- S3 est un service qui couvre des domaines variés, de l'expérience de performance côté client jusqu'à la mécanique des disques durs.
Il y a 17 ans, sur un campus universitaire lointain...
- S3 a été lancé le 14 mars 2006 et fête cette année son 17e anniversaire.
- Warfield a terminé son doctorat à l'université de Cambridge, a participé au projet Xen, puis a fondé la startup XenSource.
- XenSource a grandi avant d'être rachetée par Citrix, et Warfield y a beaucoup appris sur la croissance d'une activité et la gestion d'équipe.
Comment fonctionne S3
- Après avoir rejoint Amazon, Warfield a appris le fonctionnement de S3 auprès de Seth Markle, l'un des premiers ingénieurs du service.
- S3 est un service de stockage d'objets avec une API HTTP REST, composé d'un frontend, d'un service d'espace de noms, d'une flotte de stockage équipée de disques durs et d'une flotte chargée des tâches en arrière-plan.
- S3 se compose de centaines de microservices, et les interactions entre équipes reposent sur des contrats au niveau des API.
Premières observations
- S3 est, au-delà du logiciel, un écosystème en évolution permanente qui inclut aussi le matériel et les personnes.
- L'échelle de S3 fait que chaque composant est lui-même un ensemble de services scale-out, si bien qu'il faut du temps pour appréhender la taille réelle du système.
Échelle technique : la physique du stockage
- S3 est un système immense qui utilise des millions de disques durs.
- Les disques durs incarnent à la fois une prouesse technologique et une remarquable efficacité en matière de coût.
Gestion de la chaleur : placement des données et performances
- Dans S3, pour résoudre le problème dit de « gestion de la chaleur », des optimisations sont mises en œuvre afin de répartir uniformément les requêtes d'I/O sur un grand nombre de disques durs.
Réplication : placement des données et durabilité
- S3 utilise des schémas de redondance comme la réplication et l'erasure coding afin de garantir la durabilité des données et de gérer la chaleur.
L'effet d'échelle : stratégie de placement des données
- En répartissant les données aussi largement que possible sur un grand nombre de disques, S3 fait en sorte que les données de chaque client n'occupent qu'une très petite part de chaque disque, ce qui permet d'isoler les charges de travail.
Le facteur humain
- La complexité de S3 tient non seulement à des éléments techniques, mais aussi au facteur humain.
- Amazon encourage les ingénieurs et les équipes à échouer vite et en toute sécurité, et à se concentrer sur la fourniture d'un stockage à très forte durabilité.
Changer moi-même d'échelle : résoudre des problèmes difficiles qui commencent et se terminent par la « responsabilité »
- Chez Amazon, Warfield a lui-même connu un changement d'échelle, découvrant l'ampleur du logiciel, des personnes et du business.
- Amazon met l'accent sur la « responsabilité », ce qui aide à comprendre sa structure organisationnelle et son approche de l'ingénierie.
L'avis de GN⁺
- S3 est bien plus qu'un simple service de stockage : c'est un écosystème complexe où se combinent matériel, logiciel et facteur humain.
- Cet article apporte des éclairages utiles aux ingénieurs logiciel débutants qui veulent comprendre l'échelle et la complexité de S3.
- La culture de la « responsabilité » chez Amazon est un élément clé qui motive les équipes et les individus à innover avec un sens accru des responsabilités.
1 commentaires
Avis Hacker News
En travaillant dans le domaine de la génomique, j’ai géré de nombreux stockages de données de plusieurs pétaoctets au cours des dix dernières années.
Ce que nous pourrions construire si S3 utilisait un protocole basé sur OAuth2 pour déléguer les accès en lecture/écriture.
Gérer l’authentification dans un système distribué est extrêmement difficile.
C’est agréable de voir des employés d’Amazon parler ouvertement du fonctionnement interne de S3.
Le passage qui explique la tête de disque dur en la comparant à un Boeing 747.
En revenant à l’époque de S3 KeyMap, nous avons appris que même après avoir identifié les objets/partitions/buckets les plus chauds, on ne pouvait pas simplement les déplacer pour résoudre le problème.
S3 n’est pas qu’un simple stockage, c’est un standard.