Il viaggio di GlueSync: un’introduzione

GlueSync journey

Piove oggi qui a Pordenone (Italia) e finalmente cominciano a circolare le prime notizie per farci ben sperare di vincere la lotta contro un COVID-19, che ha appena spento la sua prima candelina nei giorni scorsi.

Come fondatore dell’azienda, ho affrontato molte sfide nell’ultimo anno, ma ho avuto la fortuna di superarle tutte. Ciò mi ha fatto crescere, come imprenditore e come persona. Una delle cose che mi rende orgoglioso di quello che abbiamo fatto nel 2020 è aver lanciato la nostra nuova startup: GlueSync.

GlueSync at Couchbase Connect.ONLINE 2020
GlueSync presentato al Couchbase Connect.ONLINE 2020

Volete saperne di più? Sono felice di invitarvi in questa nuova serie di post su GlueSync in cui vi illustrerò il suo scopo, i consigli, le modalità . Vi guiderò attraverso i molti casi d’uso che abbiamo affrontato con i clienti e il percorso che abbiamo seguito per condurli al successo.

Cos’è GlueSync?

GlueSync è il nostro connettore di database da Couchbase a SQL in tempo reale e nativo. Attualmente compatibile sia con Microsoft SQL Server che con Oracle Database, aiuta a raggiungere l’obiettivo di scaricare nativamente i dati da e verso il famoso database NoSQL Couchbase, uno dei nostri principali partner tecnologici dal 2015.

Che cosa significa “in tempo reale”? 

Il tempo reale nell’informatica è un argomento discusso a lungo e molto diffuso. Couchbase SyncGateway e la sua capacità di replicare le modifiche apportate in mobile al cluster dei server è un buon esempio di ciò che per noi significa Real-time: i dati arrivano magicamente dall’altra parte non appena si ha una connessione internet e si sincronizzano velocemente, “in un batter d’occhio” direi. Raggiungere questa capacità è una sfida e a noi piacciono le sfide, soprattutto perché ci preoccupiamo molto dell’esperienza utente (UX). La nostra visione, quando abbiamo deciso di passare allo sviluppo di questo prodotto, era quella di portare sul mercato un nuovo modo di trasmettere i dati alle applicazioni mobili che stavamo sviluppando per i nostri clienti, mimando la stessa esperienza che ci appassiona: la sincronizzazione senza problemi del SyncGateway. Abbiamo iniziato in questo modo, con la volontà e la capacità di raggiungere l’obiettivo di sincronizzare i dati dagli RDBMS a Couchbase non appena ci viene notificato un cambiamento. Il modello che abbiamo seguito su entrambi i lati è dunque basato su un pattern ad eventi.

Poiché non ci piace importare dati da un sistema all’altro tramite CSV o script personalizzati, evitiamo anche di passare da un sistema legacy ad un altro nel giro di una notte o di un fine settimana, e non ci piace nemmeno mettere il sistema sotto manutenzione per lunghi periodi, causando tempi di inattività o anche solo finestre di manutenzione indeterminabili.

Che cosa significa “nativo”? 

Nativo per noi di MOLO17 significa sviluppare avendo una profonda conoscenza della tecnologia con cui abbiamo a che fare. Tuttavia, c’è un modo per fornire il miglior supporto ad una tecnologia se non si è il massimo esperto in essa, identificando il partner tecnologico più qualificato e cogliendone il pieno potenziale.

Ecco perché abbiamo iniziato questo viaggio con Couchbase: in qualità di partner avanzato riconosciuto (vedi il nostro intervento al Couchbase Connect dello scorso anno dedicato al progetto di Medical emergency), utilizziamo il loro database NoSQL nei nostri prodotti e nei progetti dei clienti, ogni giorno.

La nostra competenza entra comunque in gioco quando ci occupiamo di funzionalità specifiche fornite dal fornitore come loro standard di settore: stiamo parlando di cose come il SyncGateway, gli indici, di collezioni, di servizio di eventi e di molte altre attualmente disponibili e ancora di più per quelle programmate per il futuro.

Vogliamo sempre ottenere le migliori prestazioni possibili ed evitare di avere a che fare con implementazioni personalizzate che portano a frequenti modifiche di rottura a causa di API non pubbliche o metodi non supportati a lungo termine.

Nel lungo processo che abbiamo percorso durante le fasi di sviluppo del prodotto abbiamo deciso di supportare due principali caratteristiche native di Couchbase con cui sincronizzare i dati:

  • Protocollo SyncGateway
  • Servizio eventi

Protocollo SyncGateway

Ciò è avvenuto per la prima volta nel 2018, grazie alla nostra proposta di valore per il mondo mobile e alla risposta alle esigenze dei clienti che utilizzavano già questo componente nella loro architettura.

Servizio eventi

Il supporto per il servizio di eventing è stato introdotto per portare la compatibilità anche per coloro che non hanno il SyncGateway nella loro architettura, ma non solo: è stato uno degli elementi chiave di differenziazione rispetto agli altri connettori. 

Sostenere tutti insieme

Se conoscete SyncGateway sapete che è collegato ad un bucket che esegue tutte le operazioni necessarie per sincronizzare i dati della vostra applicazione mobile con il vostro cluster di server. In un ambiente misto in cui c’è sia un SyncGateway per le applicazioni mobili che per quelle lato server che consumano i dati nel bucket con gli SDKs del server, siamo riusciti ad evitare i loop e tutte le cose brutte che possono accadere quando si hanno molti accessi contemporanei allo stesso bucket. Le funzioni di eventing di GlueSync sono state realizzate in collaborazione con gli esperti dei prodotti Couchbase.

Sicurezza in mente

Un altro punto, spesso discusso col personale IT del cliente ma anche dimenticato dalla maggior parte dei narratori di marketing è la Sicurezza. Con la S maiuscola, sì. Abbiamo progettato GlueSync tenendo presente questo principio, nessun dato viene memorizzato all’interno del connettore, nessun processo sa cosa significano i dati trasferiti, si occupa solo della coerenza di ogni transazione memorizzando i punti di controllo incrementali che ha raggiunto. I log possono essere personalizzati da soli o tramite il nostro team di supporto, in questo modo solo le informazioni necessarie per monitorare ciò che accade sotto il cofano saranno registrate nella console o nella vostra postazione di archiviazione dei log. Vuoi che siano criptati? Nessun problema. 

Anche i file di configurazione sono tenuti segreti: in un ambiente orchestrato, come quello di Kubernetes, sono normalmente memorizzati nei suoi Secrets.

E poi? 

GlueSync è la soluzione perfetta per l’offloading di dati su database legacy spostandoli nel moderno database NoSQL Couchbase, un procedimento più semplice e privo di rischi per fare alcuni passi nel futuro, riducendo al contempo i costi operativi.

Molte sono le storie dietro a questo prodotto che vorrei raccontarvi e ancora di più sono le sue capacità, quindi continuate a leggere questa serie per conoscere ciò che GlueSync ha permesso ad un cliente di ottenere in un caso di utilizzo al dettaglio nella vita reale.

Per approfondire

conosciamo solo un quinto di ciò che vive in profondità. tutto il resto è da esplorare.

coderspace sta arrivando.