Jump to section

Amplia la strategia di automazione Infrastructure as Code: integra Ops as Code e Policy as Code

Copia URL

Le aziende scelgono di introdurre la strategia Infrastructure as Code (IaC) per ottenere processi IT completamente automatizzati, qualunque sia la fase del ciclo di vita operativo. IaC permette di standardizzare la creazione, il provisioning e il deployment dell'infrastruttura. Allo stesso modo, i team IT possono adottare l'approccio Operations as Code (OaC) per codificare la gestione e la manutenzione dei sistemi dopo averli distribuiti. La metodologia OaC può essere ulteriormente ampliata se coniugata all'approccio Policy as Code (PaC) per l'automazione dei processi relativi a governance, rischio e conformità delle applicazioni e delle soluzioni.

L'obiettivo comune è un'automazione che velocizzi la distribuzione e migliori l'efficienza, ma la maggior parte dei team che si occupano di infrastruttura e applicazioni interviene ancora manualmente nelle fasi di manutenzione e governance. In questi ambiti l'automazione può garantire numerosi vantaggi, ma il suo impiego nelle attività di manutenzione richiede ai team già consolidati di apprendere nuovi metodi e strumenti. Gli approcci OaC e PaC semplificano questo cambiamento culturale estendendo la strategia IaC già collaudata e permettendo ai team di applicare le conoscenze acquisite e gli strumenti familiari ad attività diverse.

Applicando i metodi IaC, le aziende possono adottare gli approcci OaC e PaC per codificare le procedure ottimali e automatizzare le attività di routine di ogni processo operativo, ottenendo un'automazione completa. Questi approcci Automation as Code (AaC) offrono un'esecuzione dei processi coerente e scalabile, e permettono ai team di creare e gestire applicazioni, infrastruttura e carichi di lavoro limitando al minimo gli interventi manuali e garantendo la conformità dall'inizio alla fine di ogni flusso di lavoro.

Da sempre, la creazione e la gestione di infrastrutture IT come server, istanze cloud, sistemi operativi, storage, bilanciamento del carico e altri endpoint sono processi manuali e dispendiosi in termini di tempo. Oggi tuttavia tali infrastrutture sono spesso containerizzate e distribuite su più piattaforme, dai data center al multicloud fino alle posizioni all'edge, e in parte distribuite come codice, soprattutto nel cloud.

La distribuzione in forma di codice permette un'attivazione più rapida dell'infrastruttura, per rispondere meglio all'aumento della domanda e alle esigenze di scalabilità. Il vantaggio può però aggiungere complessità e urgenza alle attività di gestione, e le organizzazioni si trovano a occuparsi ogni giorno del provisioning, del deployment e del riavvio dell'infrastruttura. L'adozione dell'approccio IaC alleggerisce il carico sui team IT automatizzando questi processi.

In cosa consiste IaC? 

Un approccio IaC permette di eseguire le attività di definizione, provisioning e gestione dell'infrastruttura tramite codice avviato in modo automatico. I file di configurazione creati con IaC contengono le specifiche dell'infrastruttura e semplificano la modifica e la distribuzione delle configurazioni corrette dell'infrastruttura e delle istanze cloud. Codificando e documentando le specifiche della configurazione, IaC permette di evitare modifiche ad hoc non comprovate e garantisce la ripetibilità del provisioning dello stesso ambiente.

Automatizzare il provisioning dell'infrastruttura con IaC alleggerisce il carico sugli sviluppatori, che non devono più svolgere manualmente le attività di provisioning e gestione dei componenti ogni volta che sviluppano o distribuiscono un'applicazione. Ciò permette di incrementare sensibilmente velocità e coerenza, e di ridurre al contempo errori umani e tempi di fermo. L'approccio consente di integrare nel codice di automazione le procedure ottimali, in modo che i team eseguano ogni attività sulla base di competenze condivise.

Leggi la guida per l'automazione dei flussi di lavoro dell'infrastruttura


Come ampliare la strategia IaC

Poiché richiede tempo per lo sviluppo di nuovi strumenti e l'adozione di modalità di lavoro diverse, IaC ha spesso comportato una complessa trasformazione delle organizzazioni. In cambio, i team hanno ottenuto la possibilità di dedicarsi ai progetti più strategici con maggior flessibilità e di rispondere alle problematiche con un approccio più agile. Ora che la gestione di IaC è passata agli strumenti di automazione e che i team hanno superato le difficoltà del cambiamento culturale, le aziende iniziano a sfruttare appieno i vantaggi che offre.

Avvalendosi di metodi e strumenti consolidati progettati per IaC, i team IT applicano l'approccio Automation as Code anche a processi diversi dal provisioning, dalla configurazione e dal deployment dell'applicazione, coprendone l'intero ciclo di vita operativo. Sebbene non esista una singola definizione di ciclo di vita operativo, generalmente è suddiviso nelle seguenti fasi:

  • Fase 0, o installazione, con attività di progettazione. Specifica delle logiche di creazione, configurazione e provisioning dell'infrastruttura. 
  • Fase 1, o configurazione, con attività di deployment. Installazione, avvio e configurazione dell'infrastruttura.
  • Fase 2, o manutenzione, con attività di gestione. Gestione, manutenzione e aggiornamento dei sistemi correlati all'infrastruttura distribuita.

Mentre IaC garantisce coerenza alla creazione e all'esecuzione del provisioning dell'infrastruttura nelle fasi di installazione e configurazione, OaC estende questo approccio all'intera fase di manutenzione, incluse le attività di gestione e aggiornamento dei sistemi, che prosegue fino a quando il servizio o l'applicazione non vengono dismessi.

Le attività della fase di manutenzione, come il monitoraggio del funzionamento dei sistemi, l'installazione degli aggiornamenti e la risposta ai problemi, sono da sempre fortemente caratterizzati dall'intervento manuale. Quando un server o un'applicazione registrano un malfunzionamento, i team IT possono ricevere un ticket di avviso, ma si tratta comunque di una segnalazione su cui devono indagare, quindi qualcuno deve valutare il problema, accedere al sistema fisico, risalire alla causa e coinvolgere altri esperti IT per risolverlo. Alla fine i problemi verranno superati, ma il processo richiede tempo, soprattutto se moltiplicato per le attività di tutta l'azienda.

In più, la complessità della fase 2 è aumentata tanto quanto quella delle attività sull'infrastruttura delle fasi 0 e 1, e l'automazione non è ancora sfruttata appieno. In molte situazioni IaC è utilizzata per automatizzare i processi delle fasi 0 e 1, ma questo approccio è applicabile anche alle operazioni che coinvolgono data center, ambienti cloud e deployment all'edge, per limitare la proliferazione incontrollata delle tecnologie e concedere ai team più tempo per le attività chiave.

In cosa consiste OaC?

Naturale proseguimento di IaC, OaC prevede l'acquisizione di tutte le conoscenze acquisite dai team di infrastruttura e operazioni e di tutta l'esperienza maturata con la risoluzione dei problemi per creare codice di automazione. Significa trasformare queste conoscenze operative in una risorsa accessibile e condivisibile con tutti i membri dei team.

L'approccio OaC indica quindi i processi con cui viene standardizzato, codificato e reso sistematico il know how pratico e operativo della fase 2. Per prepararsi all'adozione di OaC, le organizzazioni devono: 

  • Standardizzare su un codice di base comune da utilizzare in tutta l'organizzazione per una maggiore coerenza operativa.
  • Codificare le conoscenze operative e trasformare le procedure ottimali in processi automatizzati. 
  • Sistematizzare strumenti e processi eterogenei in un approccio integrato end to end.

Le conoscenze pratiche della fase 2 vengono convertite in codice che può essere eseguito automaticamente mano a mano che i sistemi diventano più intelligenti, complessi e interdipendenti.

Come accade con qualsiasi impiego dell'automazione, l'obiettivo di OaC non è sostituire il personale, ma offrire ai team la possibilità di dedicarsi maggiormente ai progetti strategici. Attraverso la condivisione di conoscenze e competenze, OaC promuove inoltre la collaborazione tra più modelli operativi e strutture di team.

L'applicazione dei metodi IaC e OaC alla governance evita ai team IT di occuparsi di processi congestionati e basati sulle richieste, soprattutto nell'applicazione delle policy, ovvero criteri, condizioni o istruzioni pensate affinché le operazioni rispettino i requisiti di conformità, le procedure e le direttive aziendali. 

Una volta che infrastruttura e operazioni vengono definite e gestite tramite codice, i team che si occupano di sicurezza e compliance possono usare la stessa strategia per applicare le policy al codice e standardizzare le modalità di gestione della governance, applicando in sostanza un approccio Policy as Code (PaC).

L'automazione non garantisce immediatamente conformità e governance; per far sì che IaC e OaC siano applicati correttamente in ogni fase del ciclo operativo, è necessario che le policy siano integrate in modo coerente. In genere, i metodi di governance includono: 

  • Creazione di flussi di lavoro con approvazioni, che impediscono al personale di distribuire soluzioni ad hoc.
  • Adozione di autorizzazioni di sicurezza restrittive tramite il controllo degli accessi basato sui ruoli o sugli attributi (RBAC o ABAC), per controllare chi può modificare quali tecnologie e in che modo, con specifiche condizioni o particolari caratteristiche.

Si tratta tuttavia di approcci manuali soggetti a errori e dispendiosi in termini di tempo. Obiettivo dell'approccio Policy as Code è l'automazione di questi processi. Ad esempio, è possibile configurare l'automazione in modo che impedisca al personale IT di creare un'istanza cloud non conforme agli standard aziendali, o di distribuire codice che non prevede uno specifico obbligo di conformità. I controlli RBAC e ABAC sono sempre necessari, ma PaC permette di creare un processo più dettagliato e automatizzato che stabilisce cosa sia possibile fare e quando.

In cosa consiste PaC?

Seguendo strategie simili a IaC e OaC, PaC automatizza i processi di conformità integrando policy e requisiti di sicurezza nel codice, semplificando adozione di standard in ogni processo e rendendo coerente l'applicazione delle stesse regole tra i team. Utilizzando il codice per definire, aggiornare, condividere e applicare le policy, PaC centralizza la governance e facilita l'applicazione efficiente delle policy a ogni azione IT, in modo documentato e coerente.

Le policy defined as code possono essere applicate all'infrastruttura dopo averla avviata e distribuita, e alle operazioni durante l'esecuzione delle attività automatizzate, ottenendo un approccio standard indipendentemente da dove e da quando avviene l'automazione. Se, ad esempio, un dipendente esegue l'automazione per correggere un problema su un host specifico, le policy codificate possono impedirgli di compiere un'azione che violi le regole del team.

Inoltre, PaC allinea gli ambienti e le risorse tecniche agli standard stabiliti. I team, ad esempio, possono utilizzare PaC per garantire che le risorse di elaborazione riservate non siano direttamente accessibili da Internet, impedendo così la violazione delle policy di sicurezza, o per limitare le porte dei servizi ai soli protocolli HTTPS e SSH.

Essendo in grado di incrementare esponenzialmente la scalabilità di un'ampia gamma di sistemi IT, l'IA rende realizzabili obiettivi prima irraggiungibili sotto ogni aspetto dall'essere umano. Se i team utilizzano un servizio IA, come Red Hat® Ansible® Lightspeed with IBM watsonx Code Assistant, per velocizzare lo sviluppo dell'automazione, possono scrivere le policy nel codice e integrare la governance nel modello di apprendimento sin dal principio. Una volta integrate le policy nel modello, i creatori di contenuti possono scrivere codice che rispetta automaticamente i requisiti obbligatori di conformità.

L'automazione della governance con PaC garantisce una gestione basata su IA che rende efficiente il processo trasformativo senza incidere sul livello di controllo previsto, in modo che quanto creato per i team IT integri già i criteri di conformità.

In sostanza, qualsiasi tipo di trasformazione basata su AaC è soprattutto un cambiamento culturale. Sfruttando l'esperienza ottenuta con l'automazione di IaC, i team IT possono applicare gli stessi metodi e strumenti per ottenere un approccio più efficiente e adattabile alle operazioni tramite il ciclo di vita di sviluppo.

L'implementazione di DevOps ha offerto alle aziende notevoli vantaggi non trascurando però anche diverse complessità, ma la grande diffusione indica che il cambiamento culturale è possibile anche su vasta scala. L'automazione comporta sempre un cambiamento alle modalità di svolgimento delle attività, ma per adottare una strategia di AaC unificata le aziende devono trasformare gli approcci alla collaborazione dei team, condividendo le procedure in ogni fase delle operazioni. Queste iniziative si basano tutte sugli approcci IaC, OaC e PaC.

Per promuovere il cambiamento culturale verso le strategie di AaC, i team devono:

  • Calarsi nel ruolo di uno sviluppatore software. Utilizza git o altri repository, promuovendo al contempo una cultura innovativa per lo sviluppo e il deployment in ogni ambito aziendale.
  • Delineare un approccio incentrato sull'automazione. Il passo preliminare che precede l'avvio di ogni nuovo progetto deve includere strategie che consentano di automatizzarlo. Parti da progetti di automazione più semplici che puoi ampliare successivamente. 
  • Inizia dalle esperienze e dalle competenze di ogni membro del team. Compensa la carenza di competenze trasformando in automazione tutte le conoscenze maturate dal personale, in modo da condividere contenuti ed esperienze con i team.

AaC diventa una strategia efficace quando adottata da ogni singolo team, tanto in quelli che progettano i sistemi sia in quelli che li gestiscono. Non si tratta solo di automatizzare qualche sporadica attività di qualche team senza comprovarne la compatibilità con i restanti componenti, ma di mettere a disposizione di tutti i team strategie e discipline condivise da sviluppare tramite un approccio collaborativo.

Per mettere in atto questa strategia occorre anche guardare oltre alle specifiche soluzioni che funzionano solo per qualche team o scenario di utilizzo. Se le organizzazioni utilizzano strumenti diversi, i metodi IaC e DevOps possono diventare troppo complessi e accentuare il debito tecnologico. Una piattaforma di automazione unificata permette di ampliare lo stesso linguaggio di automazione utilizzato per le attività di configurazione, rete, infrastruttura o cloud alle attività operative dei diversi domini, aiutando i team IT a gestire l'intero ciclo di vita end to end.

Red Hat Ansible Automation Platform integra tutti gli strumenti che servono per adottare l'automazione a livello aziendale, tra cui Event-Driven Ansible, strumenti di analisi, sicurezza avanzata e un ampio ecosistema di contenuti certificati e verificati per avviare nuove iniziative di automazione. Utilizza YAML, un linguaggio leggibile in chiaro grazie al quale utenti con vari livelli di competenza possono condividere, controllare e gestire i contenuti di automazione dell'organizzazione. 

Ansible Automation Platform permette di codificare le esperienze dei team che si occupano di operazioni, infrastruttura e applicazioni con gli Ansible Playbook e gli Ansible Rulebook basati su YAML. Playbook e rulebook permettono di tradurre le soluzioni note in approcci di AaC, mentre Event-Driven Ansible può generare l'automazione necessaria quando si verifica un evento specifico.

Trasformando le competenze in playbook e rulebook, i team possono automatizzare le risposte delle risorse IT, limitando gli errori di configurazione e i problemi di manutenzione a lungo termine e migliorando i tempi medi di ripristino. L'architettura modulare di Event-Driven Ansible offre gli strumenti essenziali per automatizzare le azioni IT quando e dove necessario, nei domini e per gli scenari di utilizzo di ogni fase del ciclo di vita operativo.

Scopri di più su Event-Driven Ansible


Garantendo l'accessibilità agli approcci AaC, Red Hat Ansible Lightspeed with IBM watsonx Code Assistant aiuta a trasformare l'esperienza maturata nei singoli ambiti in codice YAML affidabile che può essere utilizzato da più team e su più domini. Inserendo una richiesta di attività in un linguaggio naturale, Ansible Lightspeed interagisce con i modelli di base di IBM watsonx per generare il codice da utilizzare per la creazione di Ansible Playbook. Questo servizio aiuta i membri dei team, a prescindere dal loro livello di esperienza, ad aumentare produttività, efficienza e precisione, promuovendo un'automazione più coerente in tutta l'azienda.

Red Hat offre laboratori interattivi in un ambiente Ansible Automation Platform preconfigurato. Puoi utilizzare i laboratori per sperimentare, esercitarti e imparare a creare, gestire e ottenere approcci scalabili efficienti per l'IT. In questo modo potrai passare dallo sviluppo al deployment rapidamente, velocizzare le operazioni e l'analisi e offrire esperienze end to end semplificate.

Continua a leggere

Articolo

I concetti base di Ansible

Ansible consente di automatizzare i processi IT, come il provisioning e la gestione della configurazione. Questo articolo fornisce un'introduzione ai concetti base di Ansible.

Articolo

Cos'è la gestione dei processi aziendali?

La gestione dei processi di business (BPM, business process management) consiste nella creazione di modelli di business, nell'analisi e nell'ottimizzazione dei processi aziendali end to end per realizzare i tuoi obiettivi aziendali strategici.

Articolo

Perché scegliere Red Hat per l'automazione

Red Hat Ansible Automation Platform include tutti gli strumenti necessari per condividere le competenze di automazione tra i team e adottare l'automazione a livello aziendale.

Scopri di più sull'automazione

Prodotti

Collabora con il nostro team di consulenti strategici in grado di analizzare l'azienda nel suo insieme e valutare le sfide da affrontare, per aiutarti a superarle con soluzioni complete e convenienti.

Una piattaforma per implementare l'automazione in azienda, in qualsiasi fase del tuo percorso di trasformazione

Risorse

Ebook

L'azienda automatizzata connette persone e processi

Ebook

Automazione dei flussi di lavoro dell'infrastruttura

Continua a leggere

Formazione

Corso di formazione gratuito

Ansible Essentials: Simplicity in Automation Technical Overview

Corso di formazione gratuito

Red Hat Ansible Automation for SAP