Quando gestisci decine di migliaia, se non milioni, di richieste di upload di file, per esempio i file di testo nelle applicazioni di sistemi di telemonitoraggio oppure immagini per telediagnosi su scala globale, ti rendi conto che effettuare l’upload di tali file è un costo non indifferente.
Spesso nei sistemi Cloud based, la componente di upload rappresenta uno specificio costo tariffato ad hoc come consumo della rete. A ciò si aggiunge il fatto che l’upload si traduce in consumo di risorse computazionali. E se ti dicessimo che esiste una soluzione super economica ed efficiente proprio grazie al Cloud?
Contattaci subito e senza impegno per rendere efficiente la tua applicazione.
L’architettura per il risparmio di risorse nell’upload di file
Ti vogliamo condividere una nostra soluzione che, grazie alle competenze in ambito Solution Architect, abbiamo realizzato all’interno di un nostro progetto di sviluppo e che puoi liberamente sfruttare ed utilizzare a tuo piacimento. Le componenti di tale soluzione sono:
- il client: vale a dire chi deve effettuare l’upload che può essere rappresentato da un dispositvo IoT, un’Applicazione Web o una Mobile App ed è dove verrà spostata parte della computazione. Ha il compito di richiedere le “Upload Signed URL“, cioè i link specifici dove inviare i file, comunicando semplicemente i nomi ed i tipi di file al Web Service. Ricevute le “Upload Signed URL“, effettua gli upload direttamente ed anche in parallelo su Google Cloud Storage.
- il Web Service: svolge compiti di raccordo tra gli elementi coinvolti ed, in particolare, salva in un database (può essere di qualsiasi tipologia e specifico all’esigenza applicativa sia SQL sia NoSQL) il nome, il tipo di file e lo stato come “in Upload“, quindi richiede a Google Cloud Storage di creare le Signed URL utilizzando l’ID del file nel Database. Infine fornisce l’Upload Signed URL completa al client.
- Google Cloud Storage: il servizio di Google che ti permette di archiviare dati e file in maniera economica, con policy di retention e capacità di scripting. Proprio quest’ultima capacità si può sfruttare sia per fornire, come indicato nel paragrafo del Web Service, la Signed URL sia per inviare un trigger a Google Cloud Functions ( un servizio computazionale completamente serverless) al fine di segnalare che l’upload è stato completato.
- Google Cloud Functions: attraverso la possibilità di creare funzioni serverless si delega a Cloud Functions il compito di ricevere il trigger da Cloud Storage e modificare lo stato del file nel Database come “Ready“.
- Database: è dove archiviamo le informazioni generali sul file senza necessità di effettuare alcun upload di file pertanto mantenendolo estremamente leggero e performante.
Per renderti maggiormente chiara la dinamica dell’architettura, sotto puoi trovare un’immagine riassuntiva.
Contattaci subito e senza impegno per risparmiare risorse computazionali ed economiche.
I vantaggi dell’architettura
Ribilanciando l’attività di uploading tra diversi servizi e sistemi, si sfrutta appieno tutta la potenza del Cloud cogliendo benefici immediati, tra cui:
- si risparmiano risorse economiche sfruttando Cloud Storage, il servizio specializzato di archiviazione in Cloud che permette anche economie di scala;
- il codice sorgente è ridotto al minimo e sfrutta sistemi serverless come Cloud Functions che sono assolutamente affidabili e totalmente gestiti;
- il database non ha alcun overhead e le sue dimensioni rimangono estremamente ridotte;
- parte della computazione viene spostata verso il client con un risparmio di risorse computazionali enormi;
- si ottiene scalabilità by design e by default grazie a servizi Cloud gestiti da Google.
Contattaci subito e senza impegno per rendere efficiente la tua applicazione.
Glue Labs e le Architetture Cloud
Abbiamo progettato ed implementato architetture Cloud altamente performanti ed affidabili in ambienti sensibili e critici che utilizzano sistemi e servizi in maniera integrata con le soluzioni in azienda. Grazie alle competenze specialistiche maturate in tantissimi settori e con numerosi Clienti ti forniamo assistenza e supporto, consulenza di Solution Architect e realizziamo architetture IT che ti permettono di gestire, risparmiando, i tuoi processi di computazione con garanzia 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.