Concepire un cloud collaborativo protetto e indipendente è stato uno dei progetti più audaci di Infomaniak. kDrive è il frutto di 3 anni di ricerca e sviluppo dei nostri team e di un investimento di 8 milioni di franchi. Il risultato: una piattaforma cloud Swiss made dedicata alla produttività e rispettosa della privacy.

Come ha fatto un’impresa non quotata in borsa e indipendente al 100% come Infomaniak a realizzare un progetto di tale ampiezza e complessità? Abbiamo riunito i nostri ingegneri per farci raccontare lo sviluppo di kDrive e condividere i dettagli del suo design dal carattere unico.

Una tecnologia indipendente e strategica per Infomaniak

Ancor prima di una cassaforte, kDrive è un prodotto di fondamentale importanza per gli sviluppi futuri di Infomaniak. Esso indica infatti la direzione verso la quale orientiamo la nostra offerta al fine di rispondere alle esigenze delle PMI e del grande pubblico. Questa evoluzione è espressione del nostro know how e delle nostre infrastrutture cloud al servizio di applicazioni facili da adottare e utilizzare.

kDrive è inoltre importante perché è la risposta a una richiesta intensa e reiterata dei nostri utenti e del mercato di una soluzione di archiviazione collaborativa, rispettosa della privacy e interamente gestita nel continente europeo. Questa richiesta ha già fatto la sua comparsa nel 2012 con il lancio di WorkSpace e non ha mai cessato di intensificarsi dall’uscita di Swiss Backup, la nostra soluzione di backup nel Cloud. Con kDrive, le attese sono quindi molto elevate e si prospettano evoluzioni importanti!

kDrive è basato su standard esigenti e consolidati

Lo sviluppo di kDrive è il frutto di scambi stretti e continui con i nostri clienti e partner, in Svizzera e in Europa. I nostri ingegneri hanno definito subito i punti cardine:

Sicurezza, riservatezza, disponibilità

Questo è il primo stadio del razzo. Fin dall’inizio, gli sviluppatori hanno immaginato kDrive come un prodotto critico (fail proof), che i nostri clienti avrebbero utilizzato per archiviare i loro file professionali e privati. La perdita di dati o la loro indisponibilità non sono quindi mai state un’opzione. Le esigenze di riservatezza hanno imposto la crittografia sistematica e un design compartimentato. I nostri ingegneri si sono quindi trovati a dover progettare un’architettura robusta, scalabile e insensibile ai guasti.

Collaborazione, facilità, scalabilità

kDrive doveva rispondere anche all’evoluzione delle esigenze dei nostri utenti. E questo è il secondo stadio del razzo che comporta accurati approfondimenti e scelte tecnologiche, ergonomia e applicazioni di produttività. kDrive è stato quindi progettato fin dall’inizio per essere una piattaforma collaborativa e scalabile.

Una tecnologia indipendente, sviluppata e ubicata nel cuore dell’Europa

Ti stai chiedendo come siamo riusciti a sviluppare in così poco tempo una soluzione di archiviazione collaborativa capace di rispondere a qualsiasi esigenza?

Ci siamo presi il tempo necessario

E sebbene per un’azienda svizzera possa sembrare un paradosso, in realtà è la prima chiave del successo del progetto:

«Più veloci possibile, ma facendo al tempo stesso spazio a una sana lentezza».

I nostri sviluppatori si sono presi il tempo necessario per conoscere i punti forti e deboli della tecnologia object storage prevista per kDrive in situazioni di utilizzo reale e nel tempo. Abbiamo messo la padronanza tecnologica avanti a tutto.

Abbiamo tratto insegnamento dai nostri prodotti

Lo sviluppo di un servizio così robusto e scalabile è anche il frutto dell’esperienza maturata negli anni. I nostri sviluppatori hanno testato l’affidabilità, nonché considerato le esperienze e il monitoraggio dei servizi quali SwissTransfer e Swiss Backup per tracciare il ruolo di ciascuna tecnologia integrata da kDrive. Abbiamo concluso che era opportuno sviluppare un livello software intermedio tra i dati dei clienti e il nostro sistema di archiviazione di oggetti.

L’esperienza della prima versione di WorkSpace, i cui aggiornamenti vengono effettuati contemporaneamente per tutti i clienti e su larga scala, ha supportato la scelta di un’architettura a silos, molto più flessibile per kDrive.

Lo sviluppo di kDrive al nostro interno

kDrive è il risultato di un lavoro di squadra che ha visto il coinvolgimento di un importante numero di collaboratori di tutti i reparti di Infomaniak. La fase iniziale dello sviluppo ha visto impegnati 20 ingegneri per un periodo di oltre 12 mesi. I nostri sviluppatori, ingegneri di sistema e responsabili della produzione hanno analizzato i grandi aspetti tecnici dello sviluppo di kDrive:

Le tecnologie integrate nel progetto

La gran parte del codice di kDrive è stata scritta in php. I database utilizzano MariaDB (fork di MySQL) con cui abbiamo esperienza da molti anni.

Il sistema di archiviazione oggetti è basato su OpenStack SWIFT, una tecnologia Open Source che gestisce anche SwissTransfer e Swiss Backup.

Un middleware sviluppato dal nostro team in Kubernetes regola la gran parte della logica di business. Esso realizza il ponte tra la gestione dei dati e l’applicazione kDrive del cliente.

I linguaggi di programmazione GO e Python vengono utilizzati anche per fornire l’anteprima delle miniature dei file e di altre applicazioni periferiche. Ogni tecnologia viene utilizzata soltanto per la sua specifica funzione e nient’altro.

Garantire la disponibilità, la riservatezza e l’integrità dei dati

Le specifiche tecniche di kDrive hanno richiesto ai nostri ingegneri di fare convergere esigenze diverse in un’architettura robusta e flessibile. È questa la sfida che hanno accolto, in particolare sviluppando questo middleware, l’elemento centrale di kDrive.

kDrive è basato su una forte compartimentazione. Ciascun drive integra il proprio database che fornisce una mappatura dei file del cliente per collegarli alla loro allocazione di archiviazione in OpenStack SWIFT. Questo lavoro di collegamento viene svolto dal middleware e consente a ciascuna istanza (database, archiviazione, registri, ecc.) di restare totalmente indipendentemente l’una dall’altra. I database che contengono gli identificatori sono separati da quelli delle strutture dei file, specifici di ogni drive, e dal database generale di Infomaniak.

Il vantaggio di Kubernetes è anche la sua elevata scalabilità. Tutti i servizi di kDrive possono quindi ridimensionarsi in modo dinamico e automatico. Il contenuto e la struttura del contenuto di ogni cliente sono sistematicamente criptati e sottoposti a backup permanente in almeno 3 ubicazioni in vari datacenter gestiti da Infomaniak.

Ecco uno schema semplificato dell’architettura generale di kDrive:

Il middleware di Infomaniak (schema: kDrive Heart) consente di sfruttare al massimo la compartimentazione. Esso apporta inoltre l’intelligenza e la prestazione che il sistema di archiviazione oggetti non fornisce nativamente (gestione di elevate quantità di richieste, ricerca di file, creazione di anteprime, ecc).

Un’architettura protetta che limita i rischi di sicurezza e di cyber attacchi

La tecnologia indipendente al 100% di kDrive limita la sua vulnerabilità rispetto ad altri sistemi. I file vengono eseguiti molto raramente e l’architettura a silos riduce sensibilmente il potenziale campo d’azione di un malware o di un virus. In pratica, eseguire un virus nel kDrive non produce alcun effetto ed è quindi inutile. La compartimentazione dei dati, della loro architettura e dei loro accessi rende pertanto a nostro avviso impossibili qualsiasi tentativo di sfruttamento non autorizzato.

Dalla progettazione alla produzione di kDrive

La prima cosa che colpisce quando parliamo con i nostri ingegneri è l’assenza di confine tra sviluppatori e produzione. È un lavoro di squadra finalizzato a padroneggiare ogni aspetto di kDrive:

Garantire la robustezza dell’infrastruttura

Dalle macchine ai team, i criteri di affidabilità determinano l’intera struttura e l’organizzazione di kDrive. Oltre ai test di carico, alle misure di protezione anti DDOS (interne, esterne) e alle attività di manutenzione automatizzata, tutti i database vengono continuamente sottoposti a backup. Alcune repliche di backup sono anche distribuite nel tempo affinché, laddove necessario, sia possibile compensare un errore umano che sarebbe riuscito a superare il requisito dei processi di convalida e produzione.

Consentire un’elevata scalabilità

Le tecnologie impiegate (SWIFT e Kubernetes) consentono di prevedere una crescita indefinita dei servizi. Ma questo ragionamento è valido anche in senso opposto. È uno dei punti forti tecnici del progetto. In caso di guasto, kDrive ridistribuisce automaticamente il carico di lavoro ed è in grado di funzionare con un numero ridotto di macchine. In teoria, potrebbe bastarne una soltanto. Grazie al monitoraggio, kDrive è inoltre in grado di auto-ripararsi in caso di errore in modo da non influire sul corretto svolgimento dei servizi.

Rapida integrazione delle nuove funzionalità

Le evoluzioni di kDrive vengono aggiunte in modo graduale in base al modello Canary Release. Grazie alla piattaforma Next, sottoponiamo a test ogni aggiornamento nelle condizioni reali di produzione, limitatamente a un determinato numero di utenti prima di estenderlo gradualmente a tutti. Ciascun aggiornamento del codice viene sistematicamente e manualmente verificato riga per riga dai nostri team.

Un laboratorio per migliorare la prestazione e l’efficienza delle nostre tecnologie

Più il sistema è reattivo tanto meno risorse richiede l’infrastruttura. Questo è il principio centrale dell’eco-concezione di kDrive. Gli sviluppatori si prendono il tempo per scrivere un codice di qualità evitando di spendere inutilmente risorse per macchine più potenti presenti sul mercato. Ci occupiamo quindi di ottimizzare tutti i processi, quali le attività in background, la creazione di miniature o gli invii annullati. Gli sviluppatori hanno inserito numerosi sistemi di misurazione per acquisire e analizzare gli indicatori (metrics). Tutto questo ci offre una visione equilibrata delle risorse che ci consente di mantenere un livello di impatto ottimale sull’ambiente.

Il nostro obiettivo è privilegiare un elevatissimo grado di modularità utilizzando la stessa tipologia di server per tutti i servizi (ciò che viene chiamato commodity hardware). Ogni macchina può essere quindi assegnata a una nuova attività in modo dinamico. In tal modo limitiamo gli acquisti e quindi la costruzione di nuove macchine che costituiscono un’elevata fonte di emissioni di CO2. Scegliamo macchine riutilizzate gestite tramite la nostra tecnologia di virtualizzazione. Queste macchine si inseriscono alla perfezione nell’architettura di kDrive, molto tollerante in termini di guasti, ottimizzando al massimo le risorse.

Eliminare le complessità tecniche per l’utente finale

Per rendere il front-end il più intuitivo possibile (UX, UI), i nostri designer hanno analizzato i comportamenti di utilizzo nei servizi già esistenti. Essi hanno concepito l’ergonomia di kDrive con segnali visivi intuitivi e riconosciuti per favorire un utilizzo naturale. Questa filosofia di semplificazione è il principio base di tutti i nostri sviluppi presenti e futuri.

Al lancio del servizio, era prevista la disponibilità di kDrive sul cellulare. Nell’attesa dell’uscita della nostra applicazione, il nostro team ha però optato per un fork di Nextcloud. Questa scelta offrirà una fluidità incomparabile con tempi di caricamento ridotti e consentirà di supportare l’aggiunta di nuove funzionalità esclusive a kDrive.

kDrive è la piattaforma del futuro

I nostri sviluppatori concentrano i loro sforzi per fare di kDrive una piattaforma aperta e scalabile. Ciò implica di privilegiare tecnologie open source, ma anche di rendere kDrive compatibile con i protocolli, quali Webdav ad esempio. Prossimamente, una API pubblica completerà il dispositivo allo scopo di consentire agli sviluppatori di creare sinergie tra kDrive e le loro applicazioni.

kDrive migliora continuamente

Applicazione mobile

kDrive si evolve rapidamente e la base Nextcloud non è sufficiente a supportare le prossime innovazioni e le funzionalità a venire. I nostri sviluppatori lavorano alla nuova applicazione kDrive 100% self-made. Essa offrirà tutte le funzionalità di interfaccia online, nonché una funzionalità di digitalizzazione ottimizzata, la modifica di documenti Office (Word, Excel e Powepoint), il miglioramento delle condivisioni e un’ottimizzazione per i tablet.

Casseforti zero knowledge

Gli utenti di kDrive potranno emettere le proprie chiavi di crittografia a garanzia della massima sicurezza senza compromessi. L’integrazione di queste casseforti sarà disponibile con l’applicazione desktop e mobile. Questa crittografia end-to-end sarà asimmetrica (con una chiave privata e una pubblica). Sarà anche possibile condividere le casseforti e collaborarvi a più mani.

Sincronizzazione di file su richiesta (smart sync)

Sta diventando sempre più difficile archiviare tutti i dati su laptop con spazio di memoria insufficiente. La sincronizzazione intelligente sta per essere integrata alle applicazioni desktop per consentire il download di file su richiesta. Per semplificare i processi integriamo una procedura guidata finalizzata alla scelta di file da archiviare su disco locale.

Rafforziamo le interazioni tra i nostri prodotti

Come già anticipato con la roadmap 2021, rafforzeremo le correlazioni tra i nostri prodotti. Anche la parte fotografica si evolverà progressivamente con le gallerie e l’importazione dei suoi cliché da Google – la gratuità di Google Foto sta per finire.

Prezzi attraenti per tutti gli utenti

Vogliamo offrire un cloud indipendente concepito per e dai suoi utenti. Ciò significa:

  1. Sviluppare le funzionalità di cui hai bisogno.
  2. Accessibilità a tutti a prezzi molto competitivi. È disponibile anche una versione gratuita.

Passa a kDrive

Per usufruire dei vantaggi di kDrive sono disponibili più offerte. Il tuo piano può essere modificato in qualsiasi momento in base agli sviluppi delle tue specifiche esigenze.

Free, Solo, Team o Pro: scopri tutti i piani di kDrive qui.