Pochi compiti sono più gratificanti di lavorare con brillanti studenti laureati su problemi di ricerca che hanno applicazioni pratiche. Questo è esattamente ciò che posso fare sia come professore di informatica all'Università di San Francisco che come Chief Scientist di SnapLogic. Ogni semestre, SnapLogic sponsorizza i progetti di ricerca e sviluppo degli studenti per le classi di CS dell'USF e mi viene data la libertà di lavorare con questi studenti su nuove tecnologie e progetti esplorativi che riteniamo avranno un impatto sulla piattaforma SnapLogic Enterprise Integration Cloud . Iris and the Integration Assistant, che applica l'apprendimento automatico alla creazione di pipeline di integrazione dei dati, rappresenta uno di questi progetti di ricerca che spinge i confini dell'integrazione self-service dei dati.
Negli ultimi sette anni, questi progetti di ricerca hanno fornito a SnapLogic Labs menti brillanti e, allo stesso tempo, hanno permesso agli studenti della USF di confrontarsi con i problemi del software commerciale reale. Ho potuto sfruttare i miei 19 anni di ricerca e insegnamento all'USF nel campo del calcolo parallelo e distribuito per contribuire alla formulazione di aree di ricerca che consentono agli studenti di collegare la loro esperienza accademica con i problemi riscontrati nei software su larga scala che girano sul sito cloud. Tra i successi dei progetti figurano il Predictive Field Linking, la prima implementazione di SnapLogic MapReduce chiamata SnapReduce e il Document Model per l'integrazione dei dati. Si tratta di un rapporto reciprocamente vantaggioso.
Durante la fase di ricerca dei progetti Labs, gli studenti hanno accesso al team di ingegneri di SnapLogic e possono fare domande e ricevere feedback. Questa collaborazione permette agli studenti di familiarizzare rapidamente con la nostra base di codice e al team di ingegneri di familiarizzare con gli studenti. Una volta che abbiamo prototipato e dimostrato il potenziale di un progetto di ricerca, passiamo il codice alla produzione. Ma il rapporto non finisce qui: gli studenti che hanno svolto il lavoro di ricerca vengono di solito assunti per contribuire alla transizione del prototipo al codice di produzione.
La tecnologia SnapLogic Philosophy
Iris è nata per aiutare un numero crescente di utenti aziendali a progettare e implementare attività di integrazione dei dati che in precedenza richiedevano ampie competenze di programmazione. La maggior parte delle aziende deve gestire un numero crescente di fonti di dati e di applicazioni cloud e un volume di dati sempre maggiore. E sono le piattaforme di integrazione dei dati che aiutano le aziende a collegare e trasformare tutti questi dati disparati. La filosofia di SnapLogic è sempre stata quella di fornire un'integrazione self-service attraverso la programmazione visuale. Iris e l'Assistente di integrazione portano avanti questa filosofia imparando dai successi e dai fallimenti di migliaia di pipeline e miliardi di esecuzioni sulla piattaforma SnapLogic.
Il progetto
Due anni fa ho guidato un progetto che ha perfezionato la nostra architettura di metadati e l'anno scorso ho proposto un progetto di apprendimento automatico per gli studenti della USF. All'epoca, ho fornito alcune idee vaghe su ciò che avremmo potuto realizzare. Il piano prevedeva di dedicare la prima parte del progetto alla scienza dei dati sui metadati di SnapLogic, per vedere quali modelli avremmo potuto trovare e quali opportunità di applicare l'apprendimento automatico.
Uno degli studenti laureati dell'USF che lavorano al progetto, Thanawut "Jump" Anapiriyakul, ha scoperto che potevamo imparare dalle definizioni di pipeline passate nei nostri metadati per aiutarci a consigliare i probabili prossimi Snap durante la creazione della pipeline. Jump ha sperimentato diversi algoritmi di apprendimento automatico per trovare quelli che forniscono la migliore accuratezza di raccomandazione. In seguito abbiamo combinato la definizione della pipeline con la cronologia di esecuzione degli Snap per migliorare ulteriormente l'accuratezza delle raccomandazioni. Il risultato finale: La creazione di pipeline è ora molto più veloce con l'Assistente di integrazione.
L'aspetto entusiasmante della tecnologia Iris è che abbiamo creato un'architettura interna di metadati che supporta non solo l'Assistente di integrazione, ma anche la scienza dei dati necessaria per sfruttare ulteriormente l'attività storica degli utenti e le esecuzioni delle pipeline per alimentare le future applicazioni di apprendimento automatico in SnapLogic Enterprise Cloud. A mio avviso, il vero self-service nell'integrazione dei dati sarà possibile solo attraverso l'applicazione dell'apprendimento automatico e dell'intelligenza artificiale, come stiamo facendo in SnapLogic.
Per quanto riguarda gli studenti che lavorano ai progetti di SnapLogic, la maggior parte di essi riceve un'offerta di tirocinio e molti diventano ingegneri software a tempo pieno presso SnapLogic. È molto gratificante continuare a lavorare con i miei studenti anche dopo la laurea". Dopo le cerimonie di maggio alla USF, Jump entrerà a far parte di SnapLogic a tempo pieno quest'estate, lavorando con il team all'ampliamento di Iris e delle sue funzionalità.
Non vedo l'ora di scrivere di più su Iris e sui nostri recenti progressi tecnologici nelle settimane a venire. Nel frattempo, potete consultare i miei post precedenti su iPaaS incentrati su JSON e Architettura ibrida di batch e streaming per l'integrazione dei dati.