Integrazione

Cosa si intende per integrazione?

Breve storia dell'integrazione

Con integrazione dell'IT, o dei sistemi, si intende la connessione di dati, applicazioni, API e dispositivi, volta ad agevolare efficienza, produttività e agilità. L'integrazione è fondamentale quando si parla di trasformazione, ovvero dell'adozione di nuovi modelli in linea con le novità del mercato, per consentire a tutte le risorse IT di funzionare in un unico ambiente. L'integrazione non si limita alla connessione, ma aggiunge valore tramite le nuove funzionalità ottenute attraverso la connessione dei diversi sistemi.

Non deve essere confusa con l'integrazione continua (CI), una pratica di sviluppo che prevede la condivisione continua di copie del codice in uso, in un repository centrale. L'obiettivo della CI è l'automazione della compilazione e delle verifiche, così da consentire il rilevamento precoce dei problemi con una conseguente accelerazione dello sviluppo.


Breve storia dell'integrazione

Nel tempo, la crescita e lo sviluppo dei sistemi IT hanno contribuito a creare una situazione di incompatibilità tra le soluzioni di diversi fornitori. Molte aziende si ritrovano con un intero stack IT, che consta di risorse integrate solo perché interamente di proprietà delle aziende stesse. Occorre quindi un modo per eliminare l'incompatibilità delle risorse, così da evitare la duplicazione delle attività, soprattutto quando si tratta di implementare e agire sulla logica aziendale.

*Nota: quando illustrato di seguito è oggetto di dibattiti semantici che mettono a confronto topologie fisiche e topologie logiche, approcci, architetture e tecnologie. Quanto segue intende fornire solo una panoramica generale.

Integrazione di applicazioni aziendali

Una soluzione al problema della compatibilità è l'integrazione delle applicazioni di livello enterprise (EAI, Enterprise Application Integration), che consiste nell'adozione di tecnologie, strumenti e framework allo scopo di introdurre un'integrazione tra le app in tempo reale e basata sullo scambio di messaggi. Questi messaggi sono attivati da cambiamenti o da parametri integrati nelle singole app. L'EAI era ottenibile con le modalità point-to-point e hub-and-spoke.

Integrazione point-to-point e hub-and-spoke a confronto

Il modello point-to-point implicava la personalizzazione di ogni applicazione affinché comunicasse con le altre applicazioni e componenti del sistema IT dell'azienda. La personalizzazione si applicava ad ogni risorsa IT, e ad ogni risorsa a cui questa si collegava, un'operazione manuale e comprensibilmente soggetta ad errori. Inoltre, l'aggiornamento dell'infrastruttura e delle app rendeva difficile la gestione di questo modello nel tempo.

Per risolvere questo problema entra in gioco il modello hub-and-spoke, che prevede la gestione delle connessioni tra app e servizi mediante un broker, o hub, centrale. Gli spoke che connettono l'hub alle app e ai servizi possono essere gestiti individualmente, per consentire una maggiore specializzazione delle app stesse, con ogni elemento dell'integrazione gestito tramite hub e spoke. Il principale aspetto collaterale di questo approccio è la centralizzazione dell'hub, che può diventare l'unico punto di errore per il sistema e per le comunicazioni dell'infrastruttura. Il funzionamento di tutte le integrazioni del modello hub-and-spoke EAI è, per definizione, dipendente dall'hub.

Enterprise Service Bus

All'approccio hub-and-spoke EAI ha fatto seguito l'approccio Enterprise Service Bus (ESB), uno strumento che ha consentito l'astrazione basata su messaggi, ovvero la modularizzazione dei servizi tra le applicazioni.

Un ESB funge, anch'esso, da hub centrale in cui tutti i servizi modularizzati vengono condivisi, instradati e organizzati per connettere app e dati. È una soluzione migliore rispetto all'hub-and-spoke EAI, ma forse non quella definitiva, poiché l'organizzazione cresce, aggiunge risorse e necessita di più velocità per le proprietà e le risorse software.

Integrazione Enterprise Service Bus

È chiaro, a questo punto, che l'ESB ha molte similitudini con il modello hub-and-spoke, ma presenta anche caratteristiche che lo distinguono in termini di funzionalità.

  • L'ESB si presenta come servizio che usa standard aperti, evitando di dover scrivere interfacce univoche per ogni applicazione.
  • È possibile eseguire il deployment dei servizi di integrazione con cambiamenti minimi alle applicazioni.
  • Si basa su standard di settore, protocolli aperti e interfacce che facilitano i nuovi deployment.

Tuttavia, i tipici deployment ESB portano spesso alle architetture centralizzate, per la ragione descritta nel modello hub-and-spoke: la necessità di un unico punto in cui ospitare e controllare tutti i servizi di integrazione. Ai deployment e alle architetture ESB centralizzate si associa una rigida governance centralizzata, che non aiuta ad erogare soluzioni più rapide e adattative alla base delle iniziative di trasformazione digitale. Inoltre, gli stessi ESB diventano spesso applicazioni monolitiche.

Agile integration

Finora abbiamo esaminato l'integrazione in sé, ovvero le tecnologie che consentono a tutti i componenti IT di funzionare nello stesso ambiente. Cos'è l'agile integration? Deriva dal modo in cui Red Hat vede il futuro dei sistemi connessi, e come questi supportano il lavoro effettivo che i team devono svolgere per sostenere cambiamenti sempre più frequenti.

Agile integration - Piattaforma ibrida

L'agile integration è un approccio architettonico alla piattaforma di integrazione. È il modo in cui l'integrazione viene impostata, a supporto dei team che si occupano di offrire valore ai clienti, e perciò è un concetto che va oltre la semplice tecnologia e la connessione di ogni elemento. È il framework architettonico che definisce l'interoperabilità dei servizi, con attenzione alle funzionalità dell'app. Un'architettura di agile integration è caratterizzata da tre capacità: integrazione distribuita, container e API.

Integrazione distribuita

  • Ingombro ridotto
  • Basata su schemi
  • Orientata agli eventi
  • Sourcing da community

Container

  • Cloud-native
  • Agile, con deployment individuale
  • Scalabile, altamente disponibile

Interfaccia di programmazione delle applicazioni (API)

  • End-point definiti, riutilizzabili e gestiti
  • Influenza e uso degli ecosistemi

Integra con Red Hat

Red Hat ti offre soluzioni di integrazione complete, leggere, modulari e open, disponibili on-premise e nel cloud.

Piattaforma

Integra le diverse risorse IT con una piattaforma di integrazione flessibile e leggera. Con Red Hat Fuse hai l'infrastruttura e gli strumenti che ti servono per integrare tutto.

Piattaforma

Una piattaforma di gestione delle API che semplifica la condivisione, la protezione, la distribuzione, il controllo e la monetizzazione delle API per utenti interni o esterni.

Messaging

Offri un messaging rapido, leggero e sicuro per applicazioni web. AMQ è una piattaforma di messaggistica che offre prestazioni elevate, per una trasmissione delle informazioni affidabile. Inoltre, consente l'integrazione in tempo reale e la connessione dell'IoT.

Piattaforma per container

Sviluppa, distribuisci, gestisci applicazioni, e ottieni scalabilità tramite una piattaforma containerizzata. OpenShift è in grado di orchestrare tutte le applicazioni in modo automatico e funziona con prodotti quali Fuse e 3scale API Management, per portare nel cloud un approccio all'agile integration.

Continua a scoprire l'integrazione con Red Hat