Passa al contenuto principale

Orchestrazione

Prova Databricks gratis

Che cos'è l'orchestrazione?

L'orchestrazione è il coordinamento e la gestione di molteplici sistemi, applicazioni e/o servizi informatici, concatenando più attività per eseguire un flusso di lavoro o un processo più grande. Questi processi possono essere costituiti da diverse attività (task) che vengono automatizzate e possono coinvolgere più sistemi.

L'obiettivo dell'orchestrazione è snellire e ottimizzare l'esecuzioni di processi frequenti e ripetibili, aiutando così i team di gestione dei dati a gestire più facilmente compiti e flussi di lavoro complessi. In tutti i casi in cui un processo è ripetibile e le relative attività possono essere automatizzate, l'orchestrazione consente di risparmiare tempo, aumentare l'efficienza e ridurre le ridondanze. Ad esempio, l'orchestrazione dei lavori consente di semplificare la gestione dei dati e il machine learning.

Qual è la differenza fra orchestrazione di processo e automazione di processo?

Automazione e orchestrazione sono attività complementari ma distinte. L'automazione riguarda la programmazione di un'attività affinché venga eseguita senza bisogno di intervento umano. L'orchestrazione è la configurazione di più attività (alcune delle quali possono essere automatizzate) in un unico processo o lavoro completo. Il software di orchestrazione deve inoltre reagire a eventi o attività lungo tutto il processo e prendere decisioni basate sugli output di un'attività automatizzata, per determinare e coordinare le attività successive.

Che cos'è l'orchestrazione delle applicazioni?

Orchestrare le applicazioni significa integrare due o più applicazioni software fra loro. Lo scopo può essere automatizzare un processo oppure consentire la sincronizzazione di dati in tempo reale. La maggior parte delle attività di sviluppo software richiede qualche forma di orchestrazione delle applicazioni, senza la quale diventa molto più difficile ampliare i progetti di sviluppo di applicazioni, analisi di dati, machine learning e AI.

Questo processo consente di gestire e monitorare le integrazioni centralmente, aggiungendo funzionalità di instradamento dei messaggi, sicurezza, trasformazione e affidabilità. Questo approccio risulta più efficace dell'integrazione punto-punto, perché la logica di integrazione è slegata dalle applicazioni e viene gestita in un contenitore separato.

Che cos'è l'orchestrazione di servizi?

L'orchestrazione di servizi funziona in modo simile all'orchestrazione di applicazioni, nel senso che consente di coordinare e gestire sistemi distribuiti fra diversi fornitori e domini in cloud, condizione essenziale nel mondo moderno. Questo approccio riguarda l'orchestrazione di microservizi, l'orchestrazione di reti e l'orchestrazione di flussi di lavoro.

I singoli servizi non hanno la capacità nativa di integrarsi fra loro; inoltre, ognuno ha le sue dipendenze ed esigenze. Più un sistema è complesso, più è importante orchestrare i vari componenti. In questo modo è possibile dimensionare le infrastrutture come necessario, ottimizzare i sistemi rispetto agli obiettivi dell'azienda ed evitare interruzioni nell'erogazione dei servizi.

Che cos'è esattamente l'orchestrazione dei contenitori?

Il termine "orchestrazione dei contenitori" viene utilizzato con riferimento all'orchestrazione di applicazioni e servizi. Ma che cos'è l'orchestrazione dei contenitori e perché deve essere utilizzata?

L'orchestrazione dei contenitori è l'automazione della gestione e del coordinamento dei contenitori. I team software usano i migliori strumenti di orchestrazione dei contenitori per controllare e automatizzare attività come il provisioning e l'implementazione di contenitori, l'allocazione di risorse ai vari contenitori, il monitoraggio della salute dei contenitori e la protezione delle interazioni fra contenitori.

Come funziona l'orchestrazione dei contenitori?

I team di orchestrazione software utilizzano solitamente strumenti per l'orchestrazione di contenitori come Kubernetes e Docker Swarm. Si comincia descrivendo la configurazione dell'app in un file, che indica allo strumento dove raccogliere le immagini dei contenitori e come mettere i contenitori in rete fra loro.

Lo strumento programma anche l'implementazione dei contenitori nei cluster e trova l'host più idoneo in base a vincoli predefiniti quali etichette o metadati. Quindi gestisce il ciclo di vita del contenitore in base alle specifiche definite nel file.

Ma perché è necessario orchestrare i contenitori? E qual è lo scopo dell'automazione e dell'orchestrazione? Automatizzare l'orchestrazione dei contenitori consente di dimensionare le applicazioni con un unico comando, creare velocemente nuove applicazioni containerizzate per gestire volumi di traffico crescenti, e semplificare il processo di installazione. Inoltre aumenta la sicurezza.

Che cos'è l'orchestrazione cloud?

L'orchestrazione cloud è il processo di automazione delle attività che gestiscono le connessioni su cloud privati e pubblici. Inoltre, integra attività e processi automatizzati in un flusso di lavoro per agevolare l'esecuzione di specifiche funzioni.

L'avvento del cloud computing, che abbraccia cloud pubblici, privati e ibridi, ha aumentato la complessità, creando la necessità di software di orchestrazione cloud che possano gestire e implementare molteplici dipendenze su molteplici cloud. L'orchestrazione dei servizi cloud comprende attività quali il provisioning dei carichi di lavoro e della capacità di storage dei server, e l'orchestrazione di servizi, carichi di lavoro e risorse.

Ricordiamo che orchestrazione e automazione sono due concetti differenti: l'orchestrazione cloud si focalizza sui processi IT nel loro complesso, mentre l'automazione riguarda un singolo elemento. L'orchestrazione semplifica l'automazione in un ambiente multicloud, assicurando al tempo steso il rispetto delle politiche e dei protocolli di sicurezza.

Che cos'è l'orchestrazione della sicurezza?

L'orchestrazione della sicurezza garantisce che gli strumenti di sicurezza automatizzata possano operare congiuntamente in modo efficace e snellisce le modalità di utilizzo da parte dei team di sicurezza. L'obiettivo è che gli strumenti possano comunicare fra loro e condividere dati, riducendo il rischio di errori umani, aiutando i team a rispondere più efficacemente alle minacce, e risparmiando tempo e denaro.

Che cos'è la Security Orchestration Automation and Response (SOAR)? Questo acronimo si riferisce a tre funzionalità software definite da Gartner:

  • Orchestrazione—Gestione di minacce e vulnerabilità
  • Automazione—Automazione delle attività di sicurezza
  • Risposta­—Risposta agli incidenti di sicurezza

Questo approccio coniuga automazione e orchestrazione e consente alle organizzazioni di automatizzare la caccia alle minacce, la raccolta di informazioni sulle minacce e le risposte agli incidenti per minacce di livello inferiore.

Che cos'è il livello di orchestrazione?

Per coordinare più servizi API è necessario un livello di orchestrazione, che permette di creare connessioni o istruzioni fra il connettore di un'azienda e quelli delle applicazioni di terze parti. In questo modo si crea un'unica API che effettua molteplici chiamate a molteplici servizi per rispondere a una richiesta di una singola API.

Inoltre gestisce la formattazione dei dati fra servizi separati, laddove richieste e risposte devono essere divise, unite o instradate. Aggiungendo questo livello di astrazione, si fornisce all'API un livello di intelligenza per le comunicazioni fra servizi. Il livello di orchestrazione supporta la trasformazione dei dati, la gestione dei server, la gestione delle autenticazioni e l'integrazione con i sistemi esistenti.

Nel cloud, il livello di orchestrazione gestisce le interazioni e le interconnessioni fra componenti in cloud e on-premise, fra cui server, reti, macchine virtuali, sicurezza e storage.

Che cos'è l'orchestrazione del journey?

Che cos'è l'orchestrazione del percorso o viaggio del cliente? La "journey orchestration" porta il concetto di mappatura dell'esperienza del cliente a uno stadio successivo. Questa orchestrazione sfrutta l'automazione per personalizzare il "viaggio del cliente" in tempo reale, invece di fare affidamento su dati storici. L'obiettivo resta quello di creare e plasmare l'esperienza ideale per il cliente.

L'orchestrazione del customer journey consente inoltre alle aziende di essere agili, adattandosi ai cambiamenti e individuando potenziali problemi prima che si verifichino.

Strumenti di orchestrazione

L'orchestrazione per attività complesse richiede grande impegno da parte dei team di gestione dei dati e strumenti specializzati per sviluppare, gestire, monitorare ed eseguire in maniera affidabile le pipeline. Questi strumenti sono tipicamente separati dalle attività di gestione dei dati o machine learning. Questa mancanza di integrazione porta a una dispersione di energie in tutta l'azienda e costringe gli utenti a cambiare continuamente contesto.

Con l'aumentare delle iniziative di business intelligence (BI) e intelligenza artificiale (AI), le aziende hanno sempre più bisogno di strumenti di orchestrazione semplici, scalabili e affidabili. Esiste un'ampia gamma di strumenti che possono aiutare i team a cogliere tutti i benefici dell'orchestrazione con un framework attraverso cui automatizzare i carichi di lavoro.

Gli strumenti di orchestrazione dei servizi aiutano a integrare applicazioni e sistemi diversi, mentre gli strumenti di orchestrazione cloud riuniscono più sistemi in cloud. Gli strumenti di orchestrazione contribuiscono anche a gestire processi completi da un luogo centralizzato e semplificano la creazione di processi per creare flussi di lavoro altrimenti irrealizzabili.

Ad esempio, Databricks aiuta a unificare i casi d'uso di data warehouse e AI su un'unica piattaforma. Clicca qui per scoprire come orchestrare i carichi di lavoro su Databricks.

Che cos'è l'orchestrazione delle release delle applicazioni?

Application Release Orchestration (ARO) è la tecnologia che consente ai team di DevOps di automatizzare l'implementazione delle applicazioni, gestire pipeline di integrazione e distribuzione continua (CI/CD) e orchestrare i flussi di lavoro dei rilasci. L'obiettivo è migliorare la qualità, la velocità e la governance delle nuove release.

Oltre all'automazione delle implementazioni e alla gestione delle pipeline, gli strumenti per l'orchestrazione dei rilasci delle applicazioni consentono alle imprese di distribuire le attività di rilascio fra team, tecnologie, metodologie e pipeline differenti. Alcuni strumenti ARO fra i più noti sono GitLab, Microsoft Azure Pipelines e FlexDeploy.

Che cos'è l'orchestrazione dei processi?

I processi automatizzati sono necessari per un'orchestrazione efficace, ma esiste il rischio che, utilizzando strumenti diversi per ogni attività (e acquistandoli da fornitori diversi), si creino compartimenti stagni all'interno dell'organizzazione. Strumenti e flussi di lavoro devono essere integrati: è questo che si intende con orchestrazione dei processi.

L'orchestrazione dei processi si riferisce all'unificazione di singole attività in processi completi e la semplificazione delle integrazioni fra sistemi con connettori universali, integrazioni dirette o adattatori di API. I team IT potranno così gestire l'intero ciclo di vita del processo da un unico punto centralizzato.

I vantaggi sono la riduzione della complessità grazie al coordinamento e al consolidamento di strumenti disparati, il miglioramento dei tempi medi di risoluzione (MTTR) centralizzando il monitoraggio e la registrazione dei processi, e l'integrazione di nuovi strumenti e tecnologie con un'unica piattaforma di orchestrazione. Questo tipo di orchestrazione software consente di integrare in tempi rapidi praticamente qualsiasi strumento o tecnologia.

Lo scopo delle piattaforme di orchestrazione dei dati

L'orchestrazione dei dati è un processo automatizzato per prelevare dati da diversi luoghi di stoccaggio, combinandoli e organizzandoli per renderli infine disponibili per l'analisi. Questo processo collega tutti i data center dell'azienda, che si tratti di sistemi obsoleti, strumenti in cloud o data lake. I dati vengono trasformati in un formato standard, risultando così più facili da comprendere e usare per i processi decisionali.

La maggior parte delle aziende accumula una quantità pazzesca di dati; per questo motivo sono necessari strumenti automatizzati per organizzarli. Che cos'è l'orchestrazione dei Big Data? È il processo di organizzazione di dati troppo voluminosi, veloci o complessi per essere gestiti con metodi tradizionali. L'orchestrazione dei dati riguarda anche i cosiddetti "dati oscuri", cioè informazioni che occupano spazio su un server ma non vengono mai utilizzate.

Le piattaforme di orchestrazione dei dati sono ideali per garantire la conformità e individuare problemi. Ad esempio, una piattaforma per l'orchestrazione dei pagamenti dà accesso ai dati dei clienti in tempo reale, consentendo di individuare eventuali transazioni a rischio.

Che cos'è l'orchestrazione in DevOps?

L'orchestrazione DevOps è il coordinamento di tutte le pratiche DevOps dell'azienda e degli strumenti di automazione utilizzati per metterle in atto. L'obiettivo è ridurre al minimo i problemi in produzione e ridurre i tempi necessari per portare sul mercato nuove release.

Orchestrando le attività automatizzate si contribuisce a ottimizzare il potenziale degli strumenti di automazione. Questo ci riporta alla differenza fra orchestrazione e automazione: fondamentalmente, si può ottenere la massima efficienza automatizzando numerose funzioni affinché vengano eseguite contemporaneamente, ma serve l'orchestrazione per garantire che le stesse funzioni operino congiuntamente.

Ad esempio, l'orchestrazione DevOps per una pipeline di implementazione in cloud consente di combinare sviluppo, controllo di qualità e produzione.

Che cos'è l'orchestrazione Docker?

Docker è un runtime per contenitori facile da usare, che offre un pacchetto di strumenti per sviluppare applicazioni containerizzate. La soluzione consente di impacchettare il codice in un'immagine, che viene poi utilizzata per creare un contenitore. Pertanto, l'orchestrazione Docker è un insieme di pratiche e tecnologie per gestire contenitori Docker.

Questo tipo di orchestrazione dei contenitori è necessario quando le applicazioni containerizzate vengono estese a un numero elevato di contenitori. Viene utilizzato per attività quali provisioning dei contenitori, ridimensionamento in entrambi i sensi, gestione della rete e bilanciamento del carico.

L'ecosistema Docker offre numerosi strumenti di orchestrazione, fra cui Swarm. Per orchestrare contenitori Docker si usa solitamente Kubernetes, ma anche le piattaforme di contenitori cloud offrono funzionalità di orchestrazione di base.

Orchestrazione di pipeline di dati e machine learning in Databricks

Con Databricks è facile orchestrare più attività per costruire facilmente flussi di lavoro di gestione dei dati e machine learning.

L'orchestrazione di attività in più fasi semplifica la definizione delle pipeline di dati e ML utilizzando attività modulari interdipendenti costituite da notebook, script Python e JAR. I team di dati possono facilmente creare e gestire pipeline in più fasi che trasformano e raffinano i dati, per poi addestrare gli algoritmi di machine learning, tutto all'interno della spazio di lavoro familiare di Databricks, facendo risparmiare ai team moltissimo tempo, fatica e cambi di ambiente.

Nell'esempio illustrato sopra, un Job composto da più Task usa due task per acquisire dati: Clicks_Ingest e Orders_Ingest. I dati acquisiti vengono quindi aggregati e filtrati nel task "Match", dal quale nuove funzionalità di machine learning vengono generate (Build_Features), persistono (Persist_Features) e vengono successivamente utilizzate per addestrare nuovi modelli (Train).

L'orchestrazione di lavori è pienamente integrata in Databricks e non richiede infrastrutture o risorse DevOps aggiuntive. I clienti possono usare l'API o UI Jobs per creare e gestire lavori e funzionalità, come avvisi via mail per il monitoraggio.

Il team di gestione dei dati non ha bisogno di apprendere nuove competenze per sfruttare questa funzionalità, che consente anche di orchestrare tutto ciò che ha un'API esterna a Databricks e su tutti i cloud, ad es. estrarre dati da software CRM. Comincia oggi stesso a usare la nuova orchestrazione abilitandola nel tuo spazio di lavoro (AWS | Azure | GCP).

Risorse aggiuntive

Torna al Glossario