Table of Contents
Cos'è l'orchestrazione?
Con orchestrazione si intende l’esecuzione coordinata di più attività o processi di automazione dell’IT. Di norma l’orchestrazione coinvolge diversi sistemi informatici, applicazioni e servizi allo scopo di garantire che il deployment, la gestione della configurazione e gli altri processi vengano eseguiti nell’ordine corretto.
Automazione e orchestrazione sono due concetti differenti seppur correlati. Con automazione si riferisce all’utilizzo di software per svolgere determinate attività senza l’intervento umano per ridurre gli errori ed il tempo trascorso a gestire manualmente le operazioni necessarie per il deployment, l’amministrazione e la scalabilità dell’infrastruttura e delle applicazioni IT.
Con orchestrazione si intende invece il coordinamento di più attività automatizzate in flussi di lavoro avanzati in modo che le singole attività operino di concerto per svolgere specifiche funzioni o processi.
L'importanza dell'orchestrazione
I team IT di oggi spesso gestiscono un’ampia gamma di server, sistemi e applicazioni distribuiti in datacenter privati, ambienti cloud e posizioni edge. In ambienti IT sempre più complessi l’automazione delle attività contribuisce a migliorare l’efficienza e a semplificare la gestione dei processi, ma sfruttare l’automazione attraverso modalità scalabili può risultare complesso.
L’automazione dei processi IT implica l’automazione di tutte le singole attività (o task) che compongono un processo. Ma non solo. Perché un processo possa dirsi completamente automatizzato, è necessario anche che tutte le attività che lo formano operino in sinergia per fare in modo che alla conclusione di un’attività si avvii automaticamente quella successiva corretta. Alcune soluzioni di automazione sono in grado farlo collegando le attività in flussi di lavoro logici, ed eliminano quindi la necessità di intervenire manualmente per avviare le singole azioni al momento opportuno. La creazione di questo tipo di flussi di lavoro è uno dei compiti dell’orchestrazione.
Anche le singole parti di un’attività possono comprendere flussi di lavoro in più fasi che dipendono dalla comunicazione con sistemi terzi. Ad esempio, in genere il provisioning di un sistema richiede un certo grado di orchestrazione con gli hypervisor per creare le macchine virtuali, la comunicazione con la rete per garantire la corretta configurazione della connettività e la conferma che tutti i criteri firewall necessari siano applicati. Ed è questo il contesto in cui si inserisce una soluzione di orchestrazione completa. Questi strumenti sono in grado di coordinare le attività distribuite su più sistemi e permettono ai team di sviluppare flussi di lavoro completamente automatizzati con cui coprire interi scenari di utilizzo aziendali.
In cosa consiste l'orchestrazione?
In generale con il termine orchestrazione si indicano i flussi di lavoro IT per specifici scenari di utilizzo e gli strumenti per gestirli. Docker è una piattaforma open source per il deploy dei container, che dispone di strumenti di orchestrazione (Docker Swarm) che permette di automatizzare il deployment e la scalabilità delle applicazioni containerizzate.
L’orchestrazione avviene quando si inseriscono diversi sistemi e strumenti in flussi di lavoro logici in modo tale che le attività possano interagire con i sistemi esterni e dare origine a un processo completamente automatizzato, dall’inizio alla fine. Esaminiamo i flussi di lavoro di orchestrazione per alcuni tra gli scenari di utilizzo IT più diffusi.
Un tipico flusso di lavoro per il deployment di un server include i seguenti passaggi:
- Eseguire il deployment del server.
- Configurare il server.
- Assegnare la capacità di storage.
- Selezionare un’applicazione da un repository, installarla e configurarla.
- Comunicare con il firewall o con il servizio di bilanciamento del carico per assicurarsi che consenta al nuovo sistema l’accesso alla sua pool e ai suoi criteri.
- Aggiornare il sistema ITSM aziendale per confermare che il deployment del server è andato a buon fine.
Dato che questo processo comporta la comunicazione con diversi sistemi terzi, siamo di fronte a un flusso di lavoro di orchestrazione e non a un’unica grande attività di automazione. Il team IT deve solo avviare il flusso di lavoro e al termine del processo otterrà un server configurato, fornito delle applicazioni standard e integrato in tutti i necessari strumenti.
Un tipico flusso di lavoro per il provisioning di un’istanza cloud include i seguenti passaggi:
- Eseguire il provisioning dell’istanza.
- Configurare il sistema operativo.
- Inviare un ticket al sistema ITSM per notificare l’attivazione del sistema.
- Aggiornare il firewall.
- Creare gli account utente necessari con le opportune autorizzazioni.
- Collegare il sistema a un database esterno.
I flussi di lavoro di orchestrazione si possono sfruttare anche per la risposta alle minacce e agli incidenti di sicurezza, ad esempio quando si rileva la presenza di un malware in un server. Il sistema da proteggere, cioè il server, non è in grado di comunicare con i sistemi e gli strumenti di sicurezza per gestire tempestivamente le minacce. Invece una buona soluzione di orchestrazione può:
- Comunicare con switch e firewall per scoprire l’origine del traffico.
- Configurare i filtri IP e gli strumenti di analisi dei pacchetti per esaminare meglio il traffico o il potenziale attacco.
- Configurare tali sistemi perché trasmettano pacchetti di informazioni agli strumenti di monitoraggio terzi per ottimizzare i registri di sicurezza.
- Isolare l’indirizzo IP sospetto.
- Inserire tali informazioni in un sistema di gestione dei ticket per notificare il momento dell’attacco, l’indirizzo IP e l’indirizzo dell’hardware, oltre a confermare che la potenziale minaccia è stata isolata dal sistema.
Una volta conclusi questi step automatizzati, il team di sicurezza può analizzare i registri, stabilire se si è trattato di un attacco e intervenire, oppure lasciare che sia una soluzione di automazione basata sugli eventi ad applicare la risposta più adeguata.
Oltre agli esempi appena descritti, l’orchestrazione permette di coordinare più sistemi per eseguire in maniera automatizzata i passaggi di quasi tutti i processi IT, migliorandone la coerenza e l’efficienza.
I vantaggi dell'orchestrazione Docker
Una volta definiti i flussi di lavoro per l’orchestrazione delle attività su ogni sistema e strumento necessario, i team IT possono scegliere e avviare il flusso di lavoro per il risultato finale desiderato, ad esempio costruire un nuovo server o aggiornare un’applicazione, e questo eseguirà automaticamente ogni passaggio, nell’ordine corretto, producendo sempre lo stesso risultato.
Inoltre, l’orchestrazione supporta e arricchisce la strategia DevOps. Ad esempio, con un approccio DevOps alla pipeline CI/CD, quando uno sviluppatore crea e modifica l’immagine del container di un’applicazione, tale modifica avvia la creazione di una nuova immagine e l’aggiornamento dei cluster che la utilizzano in produzione. Con una soluzione di orchestrazione i team IT possono creare un flusso di lavoro per cui ogni modifica al codice avvii automaticamente il test in un ambiente UAT (User Acceptance Testing) e distribuisca l’applicazione. In questo modo ogni aggiornamento avvia una sequenza di attività automatizzate che si concludono con l’aggiornamento dell’applicazione in produzione.
Le funzionalità principali dell’orchestrazione con Docker sono:
- Efficienza operativa: automatizza operazioni complesse, migliorando l’efficienza e riducendo i rischi di errore umano.
- Alta disponibilità: garantisce la disponibilità continua delle applicazioni anche in caso di guasti, grazie a meccanismi di ridondanza e failover.
- Flessibilità: permette di gestire facilmente aggiornamenti e rollback, assicurando che le applicazioni siano sempre in uno stato ottimale.
- Sicurezza: isola i container per ridurre le superfici di attacco e gestisce automaticamente gli aggiornamenti di sicurezza.
Esempi di utilizzo
Le aziende utilizzano Docker orchestration per vari scenari, come la gestione di microservizi, il deployment di applicazioni su larga scala, e l’implementazione di ambienti di sviluppo e test in modo rapido e affidabile.
Perché scegliere WebTier per l'orchestrazione?
WebTier è una piattaforma proprietaria di orchestrazione dei container flessibile e altamente personalizzabile. Con un’infrastruttura ridondante, WebTier assicura la continuità operativa e la massima sicurezza per i dati aziendali.
L’orchestrazione con Docker rappresenta una soluzione potente per le aziende che vogliono gestire in modo efficace e sicuro le loro applicazioni containerizzate. Grazie alle sue funzionalità avanzate, Docker semplifica la gestione dei container, garantendo prestazioni ottimali e alta disponibilità in ambienti IT complessi.