Pubblicato in precedenza su medium.com.
Questo post è il secondo di una serie che fornisce una panoramica sull'Enterprise Integration. Per il precedente post di questa serie, vedere Integrazione aziendale. Questo post offre una panoramica delle varie opzioni di strumenti di integrazione e di come le aziende rischiano di creare dei silos di strumenti mentre cercano di creare integrazioni per evitare i silos di dati.
Paesaggio dei dati aziendali
In un'azienda esistono diverse applicazioni e sistemi che memorizzano i dati. Considerando una tipica azienda, alcune delle applicazioni in uso e l'approccio di integrazione da utilizzare con questi sistemi sono:
- Applicazioni SaaS - La maggior parte delle applicazioni SaaS espone API REST o SOAP a scopo di integrazione. Per alcune, è possibile utilizzare SDK personalizzati per sviluppare connettori.
- Applicazioni personalizzate on-premises - Si tratta di applicazioni personalizzate in esecuzione sui data center dei clienti o sui loro account IaaS. L'integrazione con tali applicazioni può avvenire tramite API REST o SOAP. Poiché l'applicazione è ospitata dal cliente, anche l'accesso diretto al database sottostante è un'opzione per l'integrazione con tali applicazioni.
- Basi di dati - L'integrazione con le basi di dati prevede l'uso di query SQL o di strumenti per il caricamento/scaricamento di massa per ottenere un throughput più elevato. Lo stesso vale per i database ospitati da cloud. Per i database NoSQL, è necessario utilizzare SDK personalizzati o API REST per l'integrazione.
- Magazzini di dati - L'integrazione con i magazzini di dati prevede l'uso di query SQL o di strumenti di caricamento/scaricamento in blocco per ottenere una maggiore produttività. Lo stesso vale per i data warehouse ospitati da cloud.
- Laghi di dati - I laghi di dati di solito espongono API a livello di filesystem per il caricamento dei dati nei laghi (alias idratazione del lago di dati). Questo vale per i data lake basati su Hadoop on-premises e anche per i data lake ospitati su cloud che utilizzano S3/ABFS/GCS ecc.
Opzioni di strumenti di integrazione
Esiste una varietà di applicazioni e sistemi che memorizzano i dati in un'azienda. Le varie opzioni di strumenti di integrazione disponibili quando si lavora con queste applicazioni includono:
Strumenti di integrazione On-Premises
- Supportare i casi d'uso dell'ELT per l'integrazione dei dati
- Supporto limitato per le applicazioni SaaS e per i formati di dati non relazionali.
- Difficile da mantenere e aggiornare
Applicazioni di integrazione personalizzate
- Applicazioni interne sviluppate su misura per l'integrazione
- Non banale da mantenere e aggiornare, difficile aggiungere nuove funzionalità
Tooling focalizzato sulla coda di messaggi
- Fornire l'interfaccia della coda di messaggi per l'integrazione delle applicazioni
- Approccio incentrato sullo sviluppatore, piuttosto che sul no-code
- Focalizzati sulle applicazioni in house piuttosto che su quelle SaaS
Strumenti di integrazione incentrati su SaaS
- Si concentra principalmente sull'integrazione di applicazioni SaaS.
- Supporto limitato per i casi d'uso on-premises e per i casi d'uso di integrazione dei dati
Strumenti incentrati sull'ecosistema IaaS
- Strumenti incentrati sull'integrazione in un particolare ecosistema IaaS
- Supporto limitato per le applicazioni al di fuori dell'ecosistema specifico
Strumenti di gestione API
- Supporto allo sviluppo di API per esporre i dati dell'applicazione.
- Necessità di strumenti di integrazione aggiuntivi per la creazione di API
Strumenti di integrazione del data warehouse
- Supporto al caricamento dei dati delle applicazioni nei data warehouse
- Concentrato sul caricamento dei dati nei magazzini, supporto limitato per l'estrazione dei dati dai magazzini.
- Nessun supporto per l'integrazione tra applicazioni SaaS, supporto limitato per i data lake
Strumenti Data Lake o Big Data
- Supporto al caricamento dei dati delle applicazioni nei data lake
- Nessun supporto per l'integrazione tra applicazioni SaaS, supporto limitato per database e data warehouse
Silos di utensili
Con la varietà di strumenti di integrazione disponibili, le aziende rischiano di creare dei silos di strumenti di integrazione. Se si considera un'azienda con un'istanza SAP on-premise e un'applicazione Workday Cloud, si potrebbe verificare uno scenario in cui sono necessari più strumenti di integrazione per integrare queste applicazioni:
- Strumenti di integrazione on-premises per l'integrazione dei dati SAP con altre applicazioni on-premises
- Strumenti di integrazione incentrati su SaaS per integrare Workday con altre applicazioni SaaS
- Strumenti di integrazione del data warehouse per il caricamento dei dati Workday in un warehouse Cloud (perché lo strumento SaaS non supporta il caricamento del data warehouse).
- Applicazioni di integrazione personalizzate per integrare SAP con Workday, poiché gli strumenti di integrazione SaaS non funzionano con SAP on-premise e gli strumenti on-premise non funzionano bene con i formati di dati complessi utilizzati da Workday.
Questo porta a uno scenario di silos di strumenti di integrazione, in cui sono necessari strumenti specializzati per casi d'uso specifici di integrazione. Per un endpoint applicativo vengono utilizzati più strumenti, poiché nessun singolo strumento supporta tutti i casi d'uso richiesti. Le credenziali dell'endpoint devono essere mantenute in più strumenti di integrazione. Ogni nuova integrazione deve partire dalla considerazione di quale strumento debba essere utilizzato per quel caso d'uso.
Alcune delle sfide tecniche che derivano da strumenti di integrazione specifici per ogni caso d'uso sono:
- Strumento sbagliato per il lavoro: Se l'unico strumento di integrazione disponibile è uno strumento incentrato sui big data, tutti i problemi di integrazione diventano problemi di big data. Martelli e chiodi!
- Scelte progettuali sbagliate: Se lo strumento di integrazione disponibile è uno strumento incentrato sul data warehouse, tutti i problemi di integrazione richiedono l'uso del warehouse come area di staging. Di solito questo non è il progetto giusto per i casi d'uso dell'integrazione delle applicazioni e per gli scenari che coinvolgono i dati di log, per i quali i data lake sarebbero più adatti.
- Movimento dei dati unidirezionale: Alcuni strumenti specifici per i casi d'uso funzionano in una sola direzione. Ad esempio, gli strumenti di caricamento dei data warehouse solitamente caricano i dati in un warehouse, ma non supportano il caricamento dei dati nelle applicazioni.
Le sfide di questi silos di strumenti non sono solo tecniche. Ci sono problemi organizzativi in termini di necessità di più team per gestire i vari casi d'uso dell'integrazione utilizzando strumenti diversi. Diventa impossibile assegnare la proprietà dei requisiti di integrazione all'interno dell'azienda.
Soluzione SnapLogic
SnapLogic ritiene che un'azienda moderna debba essere in grado di soddisfare tutti i casi d'uso dell'integrazione con un'unica piattaforma di integrazione. Tale piattaforma deve essere in grado di fornire supporto per vari requisiti di integrazione, tra cui:
- Integrazione dei dati: supporto di una varietà di file system, formati di file, meccanismi di autenticazione, ecc.
- Integrazione delle applicazioni: supporta la connettività nativa con la maggior parte delle applicazioni aziendali e fornisce connettività basata su REST e SOAP con un modello di dati flessibile per supportare i moderni formati di dati.
- Facilità d'uso: semplificare lo sviluppo di integrazioni per i cittadini, anziché concentrarsi sugli sviluppatori.
- Distribuzione ibrida: semplifica l'accesso agli endpoint on-premises e Cloud senza soluzione di continuità.
- Supporto Big Data: consente di scalare automaticamente ed elaborare i dati in parallelo quando il volume dei dati è superiore a quello che può essere elaborato su una singola istanza.
- Funzionalità di gestione delle API: consente di utilizzare le funzionalità di integrazione dei dati e delle applicazioni per creare API ed esporle agli utenti finali senza dover ricorrere a strumenti APIM esterni.
- Funzionalità Data Science: consente di costruire, addestrare e distribuire modelli di apprendimento automatico, utilizzando le funzionalità di integrazione per caricare i dati per la costruzione dei modelli, le funzionalità ML per l'addestramento e le funzionalità APIM per la distribuzione del modello.
Ognuno di questi casi d'uso richiede un'attenzione particolare per poter soddisfare i diversi casi d'uso che le aziende si trovano ad affrontare. Ad esempio, un caso d'uso per l'integrazione dei dati potrebbe sembrare ad alto livello un semplice caso di lettura di file da S3. Scendendo più in basso, i dettagli effettivi potrebbero riguardare file in formato Parquet che devono essere letti da S3, dove il file S3 è accessibile solo attraverso un ruolo IAM personalizzato e i dati sono crittografati con chiavi gestite dal cliente. È utile esaminare i dettagli dei casi d'uso quando si valutano gli strumenti di integrazione.
La piattaforma SnapLogic è utilizzata da alcune delle più grandi aziende del mondo e può risolvere tutte le sfide di integrazione che le imprese devono affrontare. L'utilizzo di un'unica piattaforma di integrazione presenta notevoli vantaggi per il cliente e consente di evitare le sfide derivanti dai silos di strumenti di integrazione.