iPaaS: come integrare flussi di dati per creare nuovi servizi

ipaas
Una piattaforma di integrazione come servizio (iPaaS) è uno strumento basato su cloud per collegare applicazioni e flussi di dati esistenti a nuovi servizi. Ecco i principali casi d'uso, esempi e fornitori.

Una piattaforma di integrazione come servizio (iPaaS) è un pacchetto software basato su cloud utilizzato per creare nuove applicazioni o per orchestrare flussi di dati collegando insieme servizi e applicazioni esistenti. Fornisce un modo per le organizzazioni di utilizzare prontamente gli elementi costitutivi di base per semplificare un processo o stabilire un nuovo servizio. Ad esempio, uno strumento iPaaS potrebbe unire un database che memorizza le informazioni sui clienti, un’API per convertire un indirizzo in coordinate geografiche e un servizio di terze parti per l’elaborazione delle transazioni con carta di credito in modo che gli utenti possano completare le attività con una sola fermata.

Queste piattaforme sono dotate di routine per interagire con i servizi esistenti utilizzando protocolli e formati di dati standard e richiedono dati da un servizio prima di filtrare i dati e convertirli in un altro formato dati richiesto da un servizio diverso, agendo in pratica come hub di trasporto per i trasferimenti di dati. Approcci simili all’integrazione dei flussi di dati sono adottati da tecnologie come Enterprise Service Bus (ESB) e l’automazione dei processi robotici (RPA).

Il caso aziendale per l’utilizzo di un iPaaS

Gli strumenti iPaaS sono progettati per gestire i più recenti protocolli e metodi di autenticazione, nonché l’ampia varietà di architetture attualmente in uso. Sofisticati strumenti iPaas possono collegare software in esecuzione in diversi cloud, sia pubblici che privati, e in diversi data center di proprietà di diverse aziende con diversi livelli di fiducia. Possono anche integrarsi con il cosiddetto software “dusty deck” su hardware meno recente, consentendo alle organizzazioni di sfruttare il più a lungo possibile il software legacy.

Una caratteristica comune tra gli strumenti iPaaS è la capacità di integrarsi con tecnologie e algoritmi più recenti come l’intelligenza artificiale, il machine learning e la blockchain. Per questo motivo, iPaaS può aggiungere funzionalità da questi algoritmi ai sistemi più vecchi utilizzando i connettori esistenti, rendendoli uno dei modi più semplici e veloci per sfruttare le ultime tecnologie

L’utilizzo di uno strumento iPaaS può anche far risparmiare alle organizzazioni una notevole quantità di tempo e sforzi di codifica. Idealmente, gran parte del codice di integrazione è già inserito nelle piattaforme e il team di sviluppo può operare ai massimi livelli di astrazione.

Alcuni iPaaS includono dashboard di visualizzazione sofisticate per tenere traccia dei progressi e creare nuove integrazioni. I loro linguaggi di programmazione visiva possono semplificare il processo di integrazione, consentendo ai non sviluppatori di contribuire più facilmente e agli sviluppatori professionisti di creare servizi più rapidamente.

Come funziona uno strumento iPaas

Gli strumenti iPaaS fanno gran parte dello stesso lavoro del codice grezzo, ma nascondono gran parte della complessità sintattica dietro una bella applicazione web. L’hub centrale può essere configurato con vari moduli che possono connettersi con una varietà di strumenti e quindi inviare il risultato ad altri servizi o applicazioni. I fornitori di iPaaS mantengono un’ampia raccolta di questi connettori per molte delle API e dei servizi più comuni su Internet.

Prima che l’iPaaS possa svolgere il proprio lavoro, gli sviluppatori devono creare una descrizione di come i dati vengono trasformati una volta arrivati. Alcune piattaforme richiedono agli utenti di scrivere funzioni nei linguaggi di programmazione tradizionali per filtrare e manipolare i dati. Altre offrono strumenti visivi che possono semplificare il lavoro ed eliminare alcuni dei problemi di sintassi che possono rendere difficile la programmazione. Sebbene questi strumenti visivi possano aprire il processo ai non programmatori, la configurazione dell’iPaaS richiede ancora di pensare come uno sviluppatore ai formati astratti e ai flussi di dati.

Una volta definite le connessioni e installati i moduli corretti, l’iPaaS verrà eseguito in background assicurando l’ingresso e l’uscita dei dati. Una delle sfide più importanti per un iPaaS è ottenere l’autenticazione corretta per garantire che i collegamenti tra i servizi non si trasformino in backdoor per l’accesso alla rete. Protocolli come OAuth assicurano che solo l’iPaaS possa accedere ai dati. Allo stesso tempo, le opzioni di single sign-on rendono più semplice per gli utenti autenticarsi una volta per eseguire tutte le attività che l’iPaaS può fornire.

ipaas

Esempi di iPaas in azione

iPaaS può essere utilizzato a tutti i livelli di un tipico stack di software aziendale. Possono affrontare compiti più piccoli come l’integrazione dei flussi di lavoro in un ufficio regionale, oppure possono svolgere un ruolo più importante raccogliendo e coordinando più uffici e regioni. Ecco alcuni esempi ipotetici:

  • Quando due aziende si fondono, un iPaaS può sincronizzare gli ordini da entrambi i lati dell’entità risultante dalla fusione in uno strumento di reporting centralizzato. Il nuovo management può quindi tenere traccia delle prestazioni di entrambe le aziende mentre le integra.
  • Un iPaaS può essere utilizzato per raccogliere informazioni nell’ambito di un progetto sperimentale per confrontare l’efficienza di produzione tra gli impianti, indirizzando le informazioni dai vari sistemi che eseguono ciascun impianto a una dashboard grafica.
  • Un fornitore multinazionale che cerca di monitorare le vendite può utilizzare uno strumento iPaaS per raccogliere informazioni contabili da entrambi i lati del confine e regolarle utilizzando i tassi di cambio correnti.
  • Un team di vendita può impostare uno strumento iPaaS per coordinare il monitoraggio delle richieste e abbinarle alle eventuali transazioni.

Gran parte del lavoro di uno strumento iPaaS viene svolto durante il processo di trasformazione quando i dati arrivano nell’hub. Alcune opzioni includono:

  • Filtraggio: un iPaaS può rimuovere dati extra e far passare solo i dati che si adattano a un particolare insieme di regole.
  • Pulizia: un iPaaS può correggere le incoerenze dei dati, rimuovendo i campi spuri e garantendo che i campi utilizzino gli stessi formati standard.
  • Trasformazione: un iPaaS può trasformare i dati dal formato prodotto da un servizio al formato richiesto da un altro.
  • Privacy: un iPaaS può rimuovere i dati personali, sostituendoli con pseudonimi anonimi.
  • Sicurezza: un iPaaS può aggiungere la crittografia per proteggere le informazioni prima di inviarle a un servizio remoto.
  • Intuizione: un iPaaS può implementare il machine learning o altri algoritmi di intelligenza artificiale per prendere decisioni e osservare eventuali anomalie da segnalare.

I migliori fornitori iPaas

Lo spazio per gli strumenti iPaaS sta crescendo, dal momento che sempre più fornitori continuano a estendere i propri strumenti di integrazione per lavorare con più piattaforme e servizi. I fornitori offrono tutti un hub centrale per lo scambio di dati supportato da moduli che collegano l’hub con un’ampia varietà di strumenti, servizi e persino altri sistemi iPaaS.

La ricerca dell’opzione migliore inizia con un controllo per vedere come i prodotti funzionano con i servizi e gli strumenti nel vostro stack attuale. I principali fornitori vantano un’ampia gamma di moduli connettore. Alcuni offrono anche piani gratuiti per l’esplorazione e il test iniziali.

  • Amazon Web Services: il cloud di Amazon include una serie di strumenti per l’integrazione dei flussi di dati. Ai livelli più bassi, le funzioni Lambda possono controllare molte delle funzionalità all’interno di AWS offrendo calcolo serverless. A un livello superiore, AppFlow offre la cosiddetta integrazione “no code”.
  • Boomi: la piattaforma Boomi offre un’ampia selezione di connettori e moduli di integrazione.
  • IBM: Big Blue offre una serie di prodotti e servizi per l’integrazione sotto l’ombrello IBM Cloud, come IBM Cloud Pak for Integration, IBM AppConnect, IBM APIConnect e IBM EventStreams.
  • Informatica: il motore CLAIRE di Informatica si concentra sull’integrazione e sulla qualità dei dati.
  • Oracle: Oracle dispone di un’ampia gamma di strumenti di integrazione nel proprio cloud per l’organizzazione di dati e API, il principale dei quali è Application Integration.
  • SnapLogic: SnapLogic Enterprise Automation Vision include connettori intelligenti chiamati “Snap” che possono, in una certa misura, configurarsi da soli.
  • Tibco: l’integrazione cloud di Tibco offre un’integrazione basata su eventi e API.
  • Workato: la piattaforma Workato offre una sofisticata raccolta di strumenti di automazione del flusso di lavoro per tenere traccia del movimento dei dati attraverso la sua rete.
  • Zapier: la piattaforma Zapier offre l’integrazione con molte app Web popolari come GMail, Slack e Mailchimp.

Condividi:
 

PaaS: un modo più semplice per creare applicazioni software

paas
PaaS (Platform as a service) è un abilitatore per lo sviluppo di software in cui un vendor di servizi di terze parti fornisce una piattaforma ai clienti in modo che possano sviluppare, eseguire e gestire applicazioni software senza la necessità di creare e mantenere l'infrastruttura sottostante.

Platform as a service (PaaS) è un abilitatore per lo sviluppo di software in cui un fornitore di servizi di terze parti mette a disposizione una piattaforma ai clienti in modo che possano sviluppare, eseguire e gestire applicazioni software senza la necessità di creare e mantenere l’infrastruttura sottostante.

La maggior parte delle piattaforme come servizio include template o pacchetti che forniscono un’opinione su come dovrebbero essere costruiti determinati tipi di applicazioni. Questo è il motivo per cui le opzioni PaaS sono spesso etichettate come “opinioni” e sono più adatte per nuove applicazioni greenfield.

L’avvento del cloud computing ha aperto la porta ad aziende come Amazon, Microsoft e Google per mettere insieme gli elementi chiave necessari per avviare un’applicazione su una piattaforma, con l’obiettivo di semplificare molte delle attività più complesse e ripetitive necessarie per distribuire il codice fino al singolo comando o clic del mouse.

Questa semplificazione consente uno sviluppo software più rapido e semplice, oltre a ridurre l’ambito del lavoro di uno sviluppatore nascondendo le risorse di calcolo, archiviazione, database, sistema operativo e di rete sottostanti necessarie per eseguire l’applicazione. Un provider PaaS addebita l’utilizzo di queste risorse e talvolta l’utilizzo della piattaforma stessa per utente o per il numero di applicazioni ospitate.

Cosa costituisce un PaaS

Come per altri servizi cloud come l’infrastruttura come servizio (IaaS) e il software come servizio (SaaS), in genere si accede a un PaaS tramite Internet, ma questo modello può anche essere distribuito on premise o in modalità ibrida. Indipendentemente da ciò, l’infrastruttura sottostante su cui viene eseguita un’applicazione è gestita dal provider di servizi. In molti casi, il cliente può decidere dove è ospitata fisicamente la propria applicazione e può scegliere quanto sia performante o sicuro quell’ambiente, spesso a un costo aggiuntivo.

Gli elementi costitutivi di un tipico PaaS includono:

  • Infrastruttura gestita: il provider gestisce i server, l’archiviazione, i data center e le risorse di rete necessarie per eseguire l’applicazione
  • Strumenti di progettazione, test e sviluppo: un ambiente di sviluppo integrato riunisce gli strumenti necessari per creare effettivamente software, inclusi un editor del codice sorgente, un compilatore e un debugger. Alcuni provider includono anche strumenti di collaborazione che consentono agli sviluppatori di condividere e contribuire al lavoro degli altri
  • Middleware: un PaaS spesso include gli strumenti necessari per integrare vari sistemi operativi e applicazioni utente
  • Sistemi operativi e database: un PaaS fornisce i sistemi operativi per l’esecuzione delle applicazioni, nonché una varietà di opzioni di database gestiti.

PaaS contro IaaS

Per molte persone, il dibattito PaaS-vs.-IaaS è stato risolto direttamente dal mercato, ma la decisione tra il consumo degli stessi elementi costitutivi sottostanti (IaaS) rispetto a un PaaS è ancora una decisione che molti cercano di prendere oggi per accelerare l’arrivo delle loro applicazioni sul mercato. Come con qualsiasi cosa nello sviluppo del software, questa decisione è piena di compromessi e dipende da ciò che la vostra organizzazione sta cercando di ottenere.

cloud infrastructure mercato iaas paas hosted private cloud

Vantaggi del PaaS

Uno dei maggiori vantaggi dell’utilizzo di un PaaS è la capacità di creare e distribuire applicazioni rapidamente e senza il lavoro necessario per configurare e mantenere l’ambiente in cui verranno eseguite. Questo, in teoria, offre agli sviluppatori la possibilità di eseguire un’implementazione più rapida e regolare, oltre a concentrarsi su fattori di differenziazione piuttosto che su problemi come il provisioning dell’infrastruttura.

Poiché un PaaS è gestito da un fornitore di servizi, con accordi sul livello di servizio e altre garanzie, gli sviluppatori non devono preoccuparsi di attività noiose e ripetitive come l’applicazione di patch e gli aggiornamenti e possono essere sicuri che il loro ambiente sarà altamente disponibile e stabile, anche se si verificano interruzioni.

Un PaaS può anche essere un pratico gateway per nuove tecniche di sviluppo e linguaggi di programmazione nativi del cloud, senza l’investimento iniziale per creare un nuovo ambiente.

Rischi del PaaS

La maggior parte dei rischi associati all’utilizzo di un PaaS si riduce alla perdita di controllo che gli sviluppatori professionisti devono consentire cedendo le proprie applicazioni a un provider di terze parti. Questi rischi includono problemi di sicurezza delle informazioni e di residenza dei dati, timori di lock-in del fornitore e interruzioni non programmate. Con un PaaS, gli sviluppatori hanno un margine limitato per cambiare il loro ambiente di sviluppo, il che può portare alcuni membri del team a sentirsi intrappolati.

Esempi di PaaS

Tra i principali fornitori di PaaS ci sono Amazon Web Services (AWS), Google Cloud, Microsoft Azure, Red Hat e Heroku di Saleforce. Ecco le loro offerte.

  • AWS Elastic Beanstalk. Tra le prime opzioni PaaS in assoluto, AWS Elastic Beanstalk consente una rapida distribuzione e gestione delle applicazioni cloud senza dover conoscere l’infrastruttura sottostante. Elastic Beanstalk gestisce automaticamente i dettagli del provisioning della capacità, del bilanciamento del carico, della scalabilità e del monitoraggio dell’integrità delle applicazioni.
  • Cloud Fundry. Cloud Foundry è un PaaS open source governato dalla Cloud Foundry Foundation (CFF). È stato originariamente sviluppato da VMware e poi trasferito a Pivotal Software, una joint venture di EMC, VMware e General Electric, prima di essere trasferito a CFF nel 2015. Come OpenShift, Cloud Foundry è progettato per creare ed eseguire applicazioni basate su container, utilizzando Kubernetes per l’orchestrazione.
  • Google App Engine. Google App Engine è un’offerta PaaS per lo sviluppo e l’hosting di applicazioni web nei data center gestiti da Google. Le applicazioni sono in modalità sandbox, eseguite e ridimensionate automaticamente su più server.
  • Microsoft Azure App Service. Microsoft Azure App Service è un PaaS completamente gestito che combina vari servizi di Azure in un’unica piattaforma.
  • Red Hat OpenShift. Red Hat OpenShift è una famiglia di offerte PaaS che possono essere ospitate nel cloud o implementate in locale, per la creazione e l’implementazione di applicazioni containerizzate. Il prodotto di punta è OpenShift Container Platform, un PaaS on-premise basato su container Docker e gestito da Kubernetes su una base di Red Hat Enterprise Linux.
  • Salesforce Heroku. Heroku potrebbe aver perso un po’ di smalto da quando è stato acquisito dal gigante SaaS Salesforce nel 2010. Oggi, Heroku fa comunque parte della più ampia piattaforma Salesforce di strumenti per sviluppatori, che supporta un’ampia gamma di lingue e migliaia di sviluppatori che eseguire applicazioni su di esso.

L’evoluzione del PaaS

La piattaforma come servizio è diventata una categoria significativa di servizi cloud a sé stante, ma è sempre più a rischio di essere superata dai container (e dalle opzioni di container-as-a-service (CaaS) sviluppate dai principali fornitori), dal serverless computing e dalle opzioni FaaS (funzione come servizio), che offrono molti degli stessi vantaggi di un PaaS ma promettono anche una maggiore portabilità, flessibilità e, nel caso dell’elaborazione serverless, un ambiente in cui si paga davvero solo per quello che si usa.

PaaS è stato ampiamente assorbito dall’idea di gestione e automazione dei container, con i principali fornitori come Red Hat, VMware e i Big Three del cloud che negli ultimi anni si sono orientati nella direzione di facilitare l’adozione di container e Kubernetes.

Ciò non significa necessariamente che il PaaS sia morto, ma solo che si è evoluto man mano che l’industria si è spostata verso applicazioni containerizzate orchestrate da Kubernetes. Ci sarà sempre un mercato per semplificare lo sviluppo del software, ma la piattaforma sottostante per farlo è indubbiamente cambiata con il tempo.

Condividi: