Sembra "S3" di Amazon Web Services (AWS), ma non lo è. Minio ha sviluppato un "Cloud Native Object Storage Server". Ha lo scopo di facilitare lo sviluppo di applicazioni di archiviazione nel cloud AWS, ma di utilizzare le applicazioni e i dati in modo produttivo nel proprio ambiente.
Ora Minio non è particolarmente conosciuto. L'azienda è stata fondata nel 2014 a Palo Alto, California, e offre un object storage che è particolarmente adatto per le applicazioni cloud e nell'ambiente di DevOps, sviluppo e operazioni). Tra gli altri, Anand Babu Periasamy, il co-fondatore di "Gluster", è dietro di esso. Ben due anni fa, ha anche fondato Minio insieme a Garima Kapoor.
Periasamy dice: "Se i ricercatori di mercato di IDC hanno ragione, circa 44 zetabyte di dati dovranno essere conservati da qualche parte entro il 2020. Vedo una grande opportunità per l'open source di sezionare l'industria dello stoccaggio stabilito, per così dire."
"Minio", il prodotto gira su "Apache v2.0" ed è scritto in "Go". Gli utenti possono archiviare dati non strutturati basati su qualsiasi infrastruttura cloud - pubblica e privata.
Da S3 ovunque
L'azienda è privata. Ma la comunità di Minio comprende più di 125 individui e organizzazioni che contribuiscono al codice del progetto, più di 5.000 stelle Github, e più di 750 membri sul canale "Gitter" / "Slack". La maggior parte dei membri della comunità provengono dagli Stati Uniti e dall'Europa, oltre che dal Giappone. Per il deployment, Minio usa i container Docker; secondo l'azienda, più di 400.000 container sono stati acceduti negli ultimi tre mesi.
Il software aiuta a gestire le enormi quantità di dati che gli sviluppatori e gli utenti di applicazioni SaaS e cloud devono affrontare. Periasamy cita gli hoster Digital Ocean, Packet e Hyper.sh, per esempio. Ciò che rende Minio particolarmente affascinante è il fatto che il software ha funzioni e caratteristiche simili ad Amazon S3. Questo permette agli sviluppatori di utilizzare la piattaforma AWS per creare un'applicazione, che, tuttavia, è spesso semplicemente troppo costosa per un uso operativo.
Minio ha ora raggiunto lo stato di disponibilità generale. Il prodotto arriva sul mercato con caratteristiche come il rilevamento bit-red, la notifica lambda e il codice di cancellazione, che si basa su un processo matematico che divide i dati in frammenti, li espande e li ricodifica con parti ridondanti che possono poi essere memorizzate in luoghi fisicamente separati - non indifferente per le operazioni attraverso diversi cloud. Le caratteristiche sono anche popolari in Docker, Mesos e Kubernetes e sono considerate "cloud native".
Le caratteristiche più importanti includono quindi:
Compatibilità con Amazon S3: Minio supporta le API Amazon S3 v2 e v4. Questo permette alle applicazioni di passare avanti e indietro tra AWS e altri fornitori di cloud.
Protezione dei dati: Minio sopravvive anche se metà dei server sono difettosi o falliscono perché utilizza il codice di cancellazione e la protezione bitrot, cioè la protezione contro i cambiamenti graduali nei dischi rigidi.
Funzioni Lambda: Queste sono funzioni in un programma di computer che possono essere indirizzate da riferimenti o puntatori piuttosto che dal nome. Minio supporta le funzioni Lambda compatibili con AWS, permettendo agli utenti di eseguire azioni come la generazione di thimbnails, l'estrazione di metadati e la scansione di virus. La notifica supporta framework come "AMQP", "Elasticsearch", "Redis", "NATS", "WebHooks", "Kafka" e "Postgres" e nativamente tramite HTTP -long polling.
Inoltre, Minio fornisce caratteristiche di replica e funzioni per invecchiare.
Deep Learning da seguire
Ma lo sviluppo di Minio non si ferma qui. Periasamy accenna agli ulteriori piani: "Se le applicazioni possono usare il Deep Learning (apprendimento automatico/reti neurali) per capire cosa sono gli "oggetti" come i video, questo alla fine giustificherà tutto lo sforzo fatto nell'infrastruttura. Abbiamo iniziato un nuovo progetto, nome in codice "X", che mira a fare proprio questo: Le applicazioni comprenderanno i video e altri contenuti multimediali in tempo reale, utilizzando tecniche di apprendimento profondo."