L’automazione libera tutto il potenziale digitale delle nostre aziende

L’automazione è l’elemento chiave che abilita la trasformazione, sia IT che Digitale. La motivazione è legata all’agilità con cui le organizzazioni, di ogni settore e dimensione, possono sviluppare nuovi prodotti o servizi digitali che, utilizzati da utenti, applicazioni o altri servizi, generano ed analizzano nuove informazioni. Tali informazioni contribuiscono ulteriormente a migliorare gli stessi prodotti e servizi oppure a renderli sempre più efficienti, andando quindi a creare un circolo virtuoso che garantisce alle aziende una maggiore competitività sul mercato.

Questa nuova logica di erogazione del digitale è coniugata spesso con il concetto di sviluppo di “microservizi” in modalità “agile” e “DevOps”, all’interno delle aziende innovative con business digitale, in cui il team di sviluppo del software (Dev) ed il gruppo delle operations (Ops) lavorano in forte collaborazione accorciando così i cicli di sviluppo dei sistemi e del software fornendo aggiornamenti continui con un altissimo livello di qualità del software. Infatti, ogni rilascio applicativo è caratterizzato da una automazione end-to-end a livello applicativo cosi come a livello infrastrutturale: è proprio a questo livello che il concetto di “Infrastructure as a code” prende forma, nella parte più operativa di DevOps .

Il modello operativo “Cloud” introduce molteplici vantaggi nelle aziende in particolare per il comparto IT e abilita una significativa scalabilità del numero di attività di lavoro e di velocità nell’esecuzione, riducendo gli errori umani ed i rischi derivati da tutte le azioni manuali nei sistemi critici, inoltre rende l’IT parte attiva nel processo di trasformazione digitale dell’azienda.

Ad esempio, in questa nuova modalità, creare una nuova istanza applicativa spesso richiede la configurazione automatica di uno o più server fisici o virtuali, di container, dello storage per i dati, di aprire alcune porte di rete del firewall e di altri elementi infrastrutturali necessari per raggiungere l’obiettivo. Questo è possibile solo se si verificano due condizioni: la prima è utilizzare uno strumento di orchestrazione che assicuri il controllo delle attività eseguite e la seconda riguarda i singoli componenti infrastrutturali affinchè dispongano di un’interfaccia software programmabile, tramite API o Plug-in nativo, che consenta allo strumento di automazione di poter interagire via software con i singoli elementi costruendo flussi di lavoro anche molto articolati. I moderni strumenti di orchestrazione adottati oggi sono decisamente più fruibili e più semplici da mantenere rispetto alle soluzioni personalizzate di scripting. Alcuni esempi di strumenti di automazione largamente utilizzati oggi sono VMware vRealize Orchestrator, Ansible, oltre che linguaggi largamente diffusi come Python e PowerShell.

Relativamente alle soluzioni infrastrutturali Dell Technologies rappresenta un esempio eccellente, che nel contesto della propria strategia di evoluzione dei prodotti verso la trasformazione digitale ha investito molte risorse per integrare i propri sistemi con i maggiori strumenti di automazione adottati dal mercato.

I sistemi di Dell Technologies implementano RestAPI e i plug-in e sono perfettamente integrabili nelle più importanti soluzioni di automazione al servizio delle applicazioni sia moderne che tradizionali.

VMware vRealize Orchestrator

VMware vRealize Orchestrator (vRO) abilita l’automazione della gestione operativa IT sia delle soluzioni VMware che per tutte la componentistica hardware ed applicazioni di terze parti. Tramite questo strumento è possibile creare delle routine di automazione con un approccio grafico semplice e “drag-and-drop”, facilitando quindi l’orchestrazione di processi IT anche molto complessi e su vasta scala. Nell’immagine accanto è rappresentata l’interfaccia per il design di un flusso operativo di provisioning del sistema storage PowerMax di Dell Technologies in modalità grafica e semplice con approccio “drag-and-drop”.

vRO abilita l’integrazione con la componente di automazione vRA che consente la creazione di un catalogo self-service i cui servizi attivano i flussi orchestrati da vRO.

Ansible

Ansible è molto diffuso nell’orchestrazione dei sistemi Open Source ed è uno strumento che a differenza di VMware vRO non ha un’interfaccia grafica, ma è altrettanto potente in termini di automazione con alcune caratteristiche differenzianti, tanto che spesso le due soluzioni sono utilizzate in modo sinergico. Ansible è agent-less e cross-piattaforma (Linux, Windows, fisico/virtual, Cloud, ecc.) introduce il concetto di “Play” e “Playbook” che sono collezioni di file testuali che descrivono con un linguaggio facilmente leggibile e che dichiara le modifiche che si apportano ai sistemi con una logica appunto definita “dichiarativa” a differenza dell’approccio “imperativo” del classico script. Con la logica dichiarativa è più semplice integrare un sistema software che programma l’esecuzione delle modifiche descritte nei “Plays” di Ansible.

Anche nel caso di Ansible ci sono delle interessanti integrazioni con i sistemi Dell Technologies, di seguito è rappresentata l’integrazione con i sistemi storage PowerMax

Maggiori dettagli alla pagina GitHub di Dell.

Kubernetes

Kubernetes è una forma di orchestrazione alternativa rispetto a soluzioni come vRO ed Ansible.

Kubernetes è un orchestratore di container (detti POD utilizzando la terminologia di Kubernetes) ed il loro ciclo di vita. Kubernetes può essere implementato in un cluster fisico o virtuale. Sebbene Il livello di affidabilità di Kubernetes è tale da consentire l’esecuzione di containers in un ambiente produttivo, è fortemente consigliato l’utilizzo di sistemi server e storage molto affidabili per migliorare la stabilità di questi ambienti.

Le soluzioni VxFlex di Dell Technologies sono molto indicate per ambienti Kubernetes e rendono estremamente potenti ed affidabili le architetture a microservizi basate su container e kubernetes, l’approccio “software-defined-storage” di VxFlex è molto ben integrato con Kubernetes in virtù del driver nativo CSI (Container Storage Interface). Questo non significa che le soluzioni di storage “tradizionali” non siano una scelta valida nell’ambito Kubernetes, anzi tutt’altro. A prescindere dalla forma ed incarnazione delle applicazioni c’e’ un elemento che accomuna tutte le applicazioni che girano in questo mondo: sono i dati e le preziose informazioni che le applicazioni memorizzano per poter funzionare!

Una caratteristica intrinseca del container, che per definizione è stateless, è appunto la mancanza di un livello di memorizzazione che consentirebbe al container di ripartire nello stesso stato in cui si trovava al momento in cui si era fermato, per la precisione un container “nasce e muore” e l’orchestrazione di Kubernetes crea una nuova istanza di container che ha le stesse identiche caratteristiche del container “predecessore” ma è un oggetto nuovo e diverso. Precisamente per questo motivo che presenza di uno storage in grado di ricollegare al container le informazioni diventa fondamentale.

CSI (Container Storage Interface) è il driver di Kubernetes che standardizza il metodo di accesso dello storage nella definizione del container. Rende quindi la configurazione degli storage un elemento perfettamente integrato nella filosofia Kubernetes e senza alterare l’esperienza di utilizzo di chi amministra lo storage per i POD/Container.

Tutte le soluzioni di Storage Dell EMC hanno il driver CSI necessario l’integrazione con  Kubernetes.

 Maggiori informazioni e download sono disponibili nei seguenti siti:

  • https://www.delltechnologies.com/it-it/
  • https://www.delltechnologies.com/it-it/midmarket-solutions/index.htm
  • e nel sito di github.com nella pagina Dell.

About the Author: Marco Galanti

Advisory Systems Engineer