17 giugno 2021
Aggiornato 00:30
Cloud computing

Buon compleanno Amazon S3

Amazon S3, il servizio di storage di oggetti di Amazon Web Services, compie 15 anni: oltre 100.000 miliardi di oggetti memorizzati in 15 anni. Il blog post di Jeff Barr, Chief Evangelist in AWS

Amazon s3
Amazon s3

Ho scritto il post sul blog che ha annunciato Amazon Simple Storage Service (S3) quindici anni fa. In quel post, ho chiarito che il servizio era accessibile tramite API e che era rivolto agli sviluppatori, ho delineato alcune caratteristiche chiave e ho condiviso le informazioni sui prezzi. Gli sviluppatori hanno trovato quel post, hanno iniziato a scrivere codice per memorizzare e recuperare oggetti utilizzando l'API S3, e il resto è storia!

Oggi, sono felice di annunciare che S3 ora memorizza oltre 100 billioni o 100.000 miliardi (1014, o 100.000.000.000.000) di oggetti, e raggiunge regolarmente picchi di decine di milioni di richieste al secondo. Questo significa quasi 13.000 oggetti per ogni persona nel mondo, o 50 oggetti per ognuna delle circa duemila miliardi di galassie (secondo questa stima del 2021) nell'Universo.

Un inizio semplice

Guardando indietro a quel lancio, abbiamo preso molte decisioni che si sono dimostrate corrette, e che hanno reso facile per gli sviluppatori iniziare a lavorare con S3 in pochi minuti.

Abbiamo iniziato con un modello concettuale semplice: bucket dal nome univoco che potevano contenere qualsiasi numero di oggetti, ognuno identificato da una string key. L'API iniziale era altrettanto semplice: creare un bucket, elencare tutti i bucket, mettere un oggetto, ottenere un oggetto e mettere una lista di controllo degli accessi. Questa semplicità ci ha aiutato ad evitare qualsiasi porta a senso unico e ci ha lasciato molto spazio per evolvere S3 in risposta al feedback dei clienti. Tutte queste decisioni restano valide e il codice scritto il giorno del lancio funzionerà ancora bene oggi.

In accordo con il modello che si basa sui costi, abbiamo ridotto il prezzo per GB al mese di S3 molte volte, e abbiamo anche introdotto classi di storage che permettono di pagare ancora meno per archiviare dati che si consultano solo di rado (S3 Glacier e S3 Glacier Deep Archive), o per dati che si possono ricreare se necessario (S3 One Zone-Infrequent Access). Abbiamo anche aggiunto S3 Intelligent-Tiering per monitorare i modelli di accesso e spostare automaticamente gli oggetti su un livello di storage appropriato.

Dare agli sviluppatori la possibilità di immagazzinare facilmente tutti i dati che vogliono, con un modello di prezzo semplice, è stato davvero un grande affare. Come disse lo scrittore del New York Times John Markoff in Software Out There poco dopo il lancio di S3:

«Amazon ha recentemente introdotto un servizio di archiviazione online chiamato S3, che offre l'archiviazione dei dati per una tariffa mensile di 15 centesimi a gigabyte. Questo libera un programmatore che costruisce una nuova applicazione o servizio su Internet dal dover creare un sistema di archiviazione dati potenzialmente costoso».

La durata è stata progettata fin dall'inizio. Nel 2010 ho spiegato cosa intendiamo quando diciamo che S3 è progettato per fornire «11 9» (99,999999999%) di durata. Sapevamo fin dall'inizio che i guasti hardware, software e di rete accadono di continuo, e abbiamo costruito S3 per gestirli in modo trasparente. Per esempio, facciamo automaticamente uso di più array di storage, rack, celle e zone di disponibilità (77 e in aumento).

Abbiamo avuto un impegno altrettanto forte per la sicurezza, e l'abbiamo sempre considerata come prioritaria. Continuiamo a perfezionare e migliorare la gamma di opzioni e caratteristiche di sicurezza che è possibile usare per proteggere i dati che vengono memorizzati in S3.

Giorni dopo il lancio di S3, strumenti, applicazioni e siti hanno cominciato a comparire. Come speravamo e ci aspettavamo, molti di questi erano del tutto inaspettati ed era (ed è ancora) sempre un piacere vedere cosa gli sviluppatori si inventano. Oggi, 15 anni dopo, S3 continua a dare potere e ispirazione agli sviluppatori, e li lascia concentrare sull'innovazione!

S3 oggi

Con più di 100 billioni di oggetti in S3 e un insieme quasi inimmaginabile di casi d'uso, continuiamo a ricevere richieste per ulteriori funzionalità. Come sempre, ascoltiamo con attenzione e facciamo del nostro meglio per soddisfare le esigenze dei nostri clienti.

Continuiamo anche a profilare, rivedere e migliorare ogni parte dell'implementazione di S3 con l'obiettivo di migliorare le prestazioni, la scalabilità e l'affidabilità. Questo significa che S3 (e ogni servizio AWS, se è per questo) migliora nel tempo, senza modifiche alle API e senza tempi morti per gli aggiornamenti. Come semplice esempio, abbiamo recentemente stabilito un modo per ridurre drasticamente la latenza per (che ci crediate o no) lo 0,01% delle richieste PUT fatte a S3. Mentre questa potrebbe sembrare una piccola vittoria, in realtà è stata una vittoria molto più grande. In primo luogo, ha evitato una situazione in cui le richieste dei clienti andavano in time out e venivano ritentate. In secondo luogo, ha fornito ai nostri sviluppatori alcuni spunti che potrebbero essere in grado di utilizzare per ridurre ulteriormente la latenza in questa e forse in altre situazioni.