Come funziona
Che cosa succede a un oggetto dal momento in cui il tuo programma lo invia, come resta leggibile quando qualcosa si guasta, e come si porta via quando vuoi.
In sintesi
Il percorso di una scrittura
Il programma invia l'oggetto in HTTPS, firmato con la tua chiave di accesso: senza firma valida la richiesta è respinta.
Il servizio verifica che la chiave possa scrivere in quel bucket: ogni cliente ha la sua identità e vede solo i suoi bucket.
L'oggetto è diviso in frammenti di dati e calcolati altrettanti frammenti di parità: ne basterà la metà, qualsiasi, per ricostruirlo.
I frammenti partono verso i datacenter, cifrati anche sulla rete tra un datacenter e l'altro, e finiscono su dischi cifrati.
Il programma riceve la conferma solo quando la maggioranza dei frammenti è scritta. Se non è possibile, riceve un errore e riprova: mai una conferma falsa.
Erasure coding
Un RAID con parità sopravvive alla perdita di un disco. Arkbit applica lo stesso principio a una scala più grande: metà dei frammenti di ogni oggetto è parità, e i frammenti stanno su datacenter diversi. Perdere un disco, un server o un intero datacenter vuol dire perdere frammenti che si possono ricalcolare, non dati.
A differenza di tenere più copie intere, la parità protegge dalla stessa perdita occupando meno spazio.
Quando qualcosa si guasta
| Evento | Che cosa succede | Che cosa vede il tuo programma |
|---|---|---|
| Si rompe un disco | I frammenti che conteneva si ricostruiscono dagli altri, da soli. | Niente: letture e scritture continuano. |
| Un disco rallenta o si blocca | Il servizio non aspetta all'infinito e non improvvisa. | Al massimo un «riprova»; mai un oggetto dato per inesistente quando c'è. |
| Si ferma un datacenter | Il bilanciatore lo esclude da solo; quando torna si rimette in pari. | Al massimo qualche operazione da ripetere nei primi secondi. |
| Guasti più estesi | Finché resta metà dei frammenti i dati restano leggibili; senza la maggioranza le scritture si sospendono. | Scritture rifiutate, nessun dato confermato perso. |
| Aggiornamento del software | Riavvio coordinato di tutti i nodi: servizio di nuovo pronto in pochi secondi. | Alcune operazioni da ripetere, che di solito i programmi di backup ripetono da soli. |
Comportamenti che verifichiamo con campagne di guasti provocati apposta. Il servizio non è ancora in produzione.
Versioni e immutabilità
| Protezione | Chi può cancellare prima della scadenza | La scadenza si può accorciare? | Quando usarla |
|---|---|---|---|
| Versioni | Chi ha i permessi sul bucket; la versione precedente resta recuperabile | Non c'è scadenza | Errori umani, sovrascritture |
| Governance | Solo EuropSYS, su tua richiesta scritta | Solo da EuropSYS, su tua richiesta | Archivi che vuoi proteggere lasciandoti una via d'uscita |
| Compliance | Nessuno: né tu, né chi ha le tue chiavi, né EuropSYS | No, si può solo allungare | Backup da proteggere dal ransomware |
| Blocco legale | Nessuno, finché il blocco non viene tolto | Non ha scadenza | Contenziosi, conservazione su richiesta |
Rete
L'indirizzo del servizio, s3.arkbit.it, è sulla rete di EuropSYS: sistema autonomo AS 202347 con indirizzi propri e transito su Telecom Italia Sparkle e Hurricane Electric. I dati restano in datacenter di EuropSYS S.p.A. a Milano e in altre sedi italiane, di proprietà e in colocation, collegati tra loro a 10 Gbit/s.
Console
Bucket con spazio massimo e immutabilità, chiavi per programma anche in sola lettura o con scadenza, colleghi con ruoli, consumi giornalieri e registro di ogni operazione.
Uscita
I dati si portano via con gli stessi strumenti S3 con cui sono entrati. Lo verifichiamo copiando un archivio completo verso un altro motore S3 e controllando ogni oggetto.
Raccontaci di cosa hai bisogno: ti mostriamo il servizio e le prove che abbiamo fatto.