Sono trascorsi poco più di due anni da quando abbiamo scritto dell'automazione degli upgrade sul posto per Red Hat Enterprise Linux (RHEL). Durante questo periodo, abbiamo visto decine di clienti eseguire l'upgrade di centinaia di migliaia di sistemi utilizzando il nostro approccio prescrittivo e automatizzato per consentire upgrade di RHEL su larga scala. In questo articolo esamineremo brevemente le funzionalità chiave che aiutano ad accelerare la distribuzione dell'automazione degli upgrade di RHEL. Analizzeremo ciò che ha funzionato bene, ma anche alcune delle problematiche e ciò che abbiamo imparato.

La chiave di apprendimento: applicare l'approccio “fail-fast, itera e riprova”. Un vantaggio fondamentale che questo approccio consente è la semplificazione del processo di upgrade, poiché permette un ripristino rapido allo stato originale quando il processo non va per il meglio già dall'inizio.

La sfida

Molti dei nostri principali clienti hanno ambienti RHEL di grandi dimensioni, che sono cresciuti e si sono evoluti nel corso dei decenni trascorsi dall'adozione di Linux da parte delle aziende nei primi anni 2000. Le organizzazioni hanno cercato di virtualizzare e containerizzare con l'obiettivo di modernizzare la distribuzione e la gestione dei carichi di lavoro delle applicazioni, ma resta ancora un gran numero di host RHEL che non sono riuscite a raggiungere. Queste applicazioni vengono eseguite su server "pet", curati con attenzione nel corso degli anni, con modifiche manuali che hanno generato un notevole accumulo di discrepanze non tracciate.

È questa la difficoltà che si incontra nell’apportare modifiche a tali ambienti applicativi e che mantiene le organizzazioni ancorate alle versioni precedenti di RHEL. In genere, il passaggio a una nuova versione di RHEL è semplice per i team dell'infrastruttura e delle operazioni, ma la ridistribuzione delle applicazioni "pet" è un'attività onerosa per i team applicativi. Riuscire a recuperare tutto il debito tecnico per capire come ridistribuire in sicurezza i carichi di lavoro si rivela molto costoso e rischioso. Ecco perché l'approccio fail-fast e l'apprendimento sono un tassello fondamentale del puzzle.

In conclusione: esiste un modo più semplice per trasferire gli ambienti a una nuova versione di RHEL senza dover intervenire sulle applicazioni. Se implementi questa soluzione su larga scala, i risparmi sui costi per l'intera organizzazione crescono rapidamente.

La soluzione

Il nostro approccio alla scalabilità degli upgrade di RHEL prevede l'automazione tramite Red Hat Ansible Automation Platform e i contenuti convalidati Ansible. Queste automazioni sono in grado di gestire upgrade da RHEL 6 a 7, fino alle versioni più recenti di RHEL 9 e 10, e tutte le versioni intermedie. Abbiamo visto i clienti automatizzare upgrade multi-hop, ad esempio da RHEL 7 a RHEL 9, in un'unica finestra di manutenzione. 

La soluzione si basa su quattro funzionalità essenziali.

RHEL In-place Upgrade Automation - Key Features to Succeed at Scale (slide)

1. Automazione totale

L'automazione end to end per gli upgrade di RHEL rende il processo disponibile e ripetibile come servizio semplice da utilizzare sia per i team operativi che per i team delle applicazioni. 

2. Snapshot con rollback

Questa è una caratteristica fondamentale dell'approccio, in quanto riduce al minimo il rischio di impatto sulle applicazioni, affinché non ci siano motivi per non eseguire l'upgrade. Gli snapshot possono essere automatizzati utilizzando il sistema di gestione dei volumi logici (LVM), gli snapshot VMware o i backup relax-and-recover (ReaR), a seconda dell'ambiente. In particolare, i rollback ti consentono di applicare l'approccio fail-fast e riprovare.

3. Moduli personalizzati

Sebbene il framework RHEL Leapp esegua l'upgrade del sistema operativo stesso, lo sviluppo di un'automazione personalizzata è necessario per gestire le specifiche dell'ambiente, come gli strumenti e gli agenti standard di terze parti.

4. Dashboard dei report (facoltativa, ma MOLTO utile)

La dashboard dei report tiene traccia dei risultati dell'upgrade nell'intero ambiente RHEL. Visualizza i report preliminari generati da Leapp, semplificando l'analisi dei risultati e le metriche aggregate sul volume e sull'avanzamento degli upgrade completati. 

Lezioni apprese dall'automazione di un milione di upgrade di RHEL sul posto

Se abbiamo imparato qualcosa aiutando i clienti a implementare questo approccio, è che nulla funziona perfettamente al primo tentativo. Non c'è modo di anticipare tutte le configurazioni "snowflake", l'impatto di prodotti di terze parti di basso livello, i fattori ambientali esterni, ecc. Abbiamo riscontrato che è meglio iniziare a provare gli upgrade, a partire dagli ambienti di test e di sviluppo inferiori.

Definiamo questo approccio "fail-fast" ed è la chiave per sviluppare rapidamente la soluzione in modo che gestisca tutte le variazioni specifiche del tuo ambiente. Si tratta di una metodologia che consente un apprendimento e un'iterazione rapidi, provando intenzionalmente gli upgrade con la consapevolezza che potrebbero non andare a buon fine, osservando gli errori, effettuando il ripristino rapidamente e utilizzando ciò che si è appreso per rendere l'automazione a prova di errore.

Ecco perché l'approccio fail-fast è fondamentale per l'automazione dell'upgrade di RHEL sul posto:

  • Riduzione dei rischi e consolidamento della fiducia
    • Un elemento fondamentale per la riduzione dei rischi è la funzionalità di rollback degli snapshot. In questo modo si riduce il timore che un upgrade sia troppo rischioso per i team che si occupano delle applicazioni. Se qualcosa va storto, il sistema può tornare rapidamente allo stato precedente senza causare interruzioni prolungate. Questa funzionalità di ripristino rapido consente ai team che si occupano delle app di eseguire rapidamente l'upgrade e risolvere un problema significativo per quanto riguarda la conformità e i requisiti normativi in settori come quello bancario.
    • Il team di un noto cliente ha testato più volte l'upgrade e il rollback di un host per acquisire sicurezza nel processo di snapshot. I test prevedevano errori causati intenzionalmente per poi procedere al ripristino e dimostrare l’efficacia del metodo.
    • Allo stesso modo, un grande cliente di servizi bancari ha considerato un "inconveniente" durante il primo upgrade bare metal come un successo perché il rollback ha funzionato, convalidando la metodologia fail-fast.
    • Un altro cliente con un ambiente più piccolo ha eseguito correttamente l'upgrade di tutti i 60 host RHEL in sole due settimane con un approccio basato sulla velocità e sull’errore, e affidandosi all'automazione e al rollback.
  • Sviluppo accelerato e perfezionamento dell'automazione
    • L'approccio fail-fast accelera lo sviluppo dell'automazione personalizzata consentendo ai team di iterare rapidamente. Invece di prevedere ogni possibile problema, l'approccio incoraggia a eseguire l'upgrade, osservare le interruzioni, eseguire il rollback, automatizzare una correzione e quindi ripetere il processo.
    • In questo modo è possibile identificare e perfezionare le soluzioni per requisiti personalizzati complessi, come la gestione di strumenti, agenti e middleware di terze parti che potrebbero non essere compatibili con la nuova versione di RHEL. Ad esempio, un cliente del settore bancario ha utilizzato questo metodo per identificare i pacchetti di fornitori terzi rimossi dagli upgrade e automatizzarne la reinstallazione.
    • L'approccio consente di individuare gli imprevisti reali, ovvero le deviazioni e le variazioni inattese all'interno di un ambiente, e di perfezionare l'automazione per gestirle.
  • Superamento degli ostacoli organizzativi
    • Gli errori possono essere associati ad esperienze negative, generando un’attitudine eccessivamente avversa al rischio. L'approccio fail-fast, supportato da una solida capacità di rollback, aiuta a superare questo problema dimostrando che gli errori possono non solo essere corretti in modo rapido e sicuro, ma rappresentano un approccio di apprendimento rapido.
    • Quando Red Hat riscontra esitazione o scetticismo da parte dei team IT centrali o operativi, enfatizza l'approccio fail-fast e i suoi vantaggi per i team delle applicazioni e mostra in che modo la soluzione offre loro più opportunità senza imporre costose modifiche alla piattaforma.
  • Abilitazione della scalabilità
    • Identificando e risolvendo rapidamente i problemi tramite test iterativi, le organizzazioni possono accelerare l'upgrade. Ad esempio, un cliente con oltre 100.000 istanze RHEL ha eseguito 8.000 upgrade al mese, a livello globale, utilizzando l'automazione self service, che ha consentito iterazioni e rollback rapidi.
    • La possibilità di testare e perfezionare l'automazione in ambienti secondari (di test e di sviluppo) prima di passare alla produzione è la procedura consigliata per evitare interruzioni e ottenere volumi elevati di upgrade.

Ecco i dettagli alla base dei componenti chiave che supportano il fail-fast:

  • Funzionalità automatizzate di snapshot e rollback: sono alla base dell'approccio fail-fast. Le opzioni includono snapshot LVM o snapshot VMware. I backup ReaR possono essere utilizzati come ulteriore misura di sicurezza, nel caso in cui il rollback di uno snapshot non funzioni. 
     
  • Automazione e moduli personalizzati: i repository ufficiali di upgrade del sistema Leapp e i relativi attori gestiscono l'upgrade del sistema operativo, ma sono necessarie attività Ansible personalizzate o altri attori Leapp personalizzati per gestire strumenti, agenti e middleware di terze parti specifici per l'ambiente del cliente. Queste automazioni personalizzate vengono perfezionate tramite iterazioni fail-fast.
     
  • Dashboard dei report: strumenti come Elastic o Splunk sono in grado di visualizzare i risultati prima dell'upgrade e monitorare l'avanzamento degli upgrade, aiutando i team a identificare i problemi più comuni e a perfezionare l'automazione.

Scopri di più sugli upgrade di RHEL

Adottando un approccio fail-fast, il compito apparentemente arduo degli upgrade di RHEL su larga scala si trasforma in un processo iterativo che dà priorità all'apprendimento e alla sicurezza, consentendo in definitiva una velocità notevole e un miglioramento rapido della conformità.

  • Come automatizzare gli upgrade prima della fine del periodo di manutenzione di RHEL 7
  • La manutenzione di Red Hat Enterprise Linux 7 sta per terminare
  • Repository Git infra.leapp: una raccolta di ruoli Ansible per l'automazione degli upgrade di RHEL sul posto, supportata da una fiorente community upstream. Questi ruoli forniscono metodi standardizzati per l'utilizzo del framework Leapp per eseguire l'analisi preliminare e l'upgrade stesso di RHEL. Quando riterrai di poter sviluppare i tuoi playbook personalizzati per eseguire gli upgrade per la tua azienda, prendi in considerazione l'utilizzo dei ruoli di questa raccolta Ansible per semplificare il tuo lavoro.
  • infra.lvm_snapshots Ansible collection: un elemento chiave per l'automazione dell'upgrade sul posto di RHEL, che fornisce i ruoli specifici per la gestione degli snapshot LVM. Questa raccolta offre funzionalità critiche come snapshot_create per creare set definiti di volumi di snapshot LVM, snapshot_remove per eliminarli e snapshot_revert per ripristinare istantaneamente un sistema a uno stato acquisito in precedenza. Include anche ruoli come shrink_lv per ridurre in modo sicuro le dimensioni dei volumi logici per liberare spazio per gli snapshot, e bigboot per aumentare la partizione di avvio.
  • Repository ripu-splunk: fornisce un'implementazione di riferimento per le dashboard di reportistica progettata, per migliorare le soluzioni di automazione degli upgrade di RHEL. Questa raccolta open source offre esempi che possono essere importati in Splunk Dashboard Studio, tra cui un riepilogo preliminare, un report dettagliato prima dell'upgrade e una sequenza temporale di avanzamento dell'upgrade.

Siamo qui per aiutarti

Con l'evoluzione degli upgrade automatizzati nel corso degli ultimi anni, Red Hat Consulting Services è stato fondamentale per aiutare molti clienti a distribuire la soluzione. Se l’idea di eseguire l'upgrade di un ambiente di grandi dimensioni ti spaventa o non sai da dove iniziare, Red Hat Consulting Services può mettere a tua disposizione le proprie competenze e indicazioni per aiutarti a raggiungere questo obiettivo, risparmiando tempo e denaro.

Prova prodotto

Red Hat Ansible Automation Platform | Versione di prova del prodotto

Piattaforma agentless per l'automazione.

Sugli autori

Bob is an industry veteran with a lifetime of experience in IT dating back to the 1980s. Before coming to Red Hat in 2022, he held software consulting roles at DEC/HP and later moved to the banking industry as a pioneer leading Wall Street's early adoption of Linux. Today as a member of Red Hat's Customer-led Open Innovation team, he is committed to growing the community that's developing automation to make RHEL in-place upgrades successful at enterprise scale.

Bob Handlin has helped build and promote products in various parts of the tech industry for more than 20 years. He currently focuses on RHEL migrations and upgrades, but also assists with storage technologies and live patching.

UI_Icon-Red_Hat-Close-A-Black-RGB

Ricerca per canale

automation icon

Automazione

Novità sull'automazione IT di tecnologie, team e ambienti

AI icon

Intelligenza artificiale

Aggiornamenti sulle piattaforme che consentono alle aziende di eseguire carichi di lavoro IA ovunque

open hybrid cloud icon

Hybrid cloud open source

Scopri come affrontare il futuro in modo più agile grazie al cloud ibrido

security icon

Sicurezza

Le ultime novità sulle nostre soluzioni per ridurre i rischi nelle tecnologie e negli ambienti

edge icon

Edge computing

Aggiornamenti sulle piattaforme che semplificano l'operatività edge

Infrastructure icon

Infrastruttura

Le ultime novità sulla piattaforma Linux aziendale leader a livello mondiale

application development icon

Applicazioni

Approfondimenti sulle nostre soluzioni alle sfide applicative più difficili

Virtualization icon

Virtualizzazione

Il futuro della virtualizzazione negli ambienti aziendali per i carichi di lavoro on premise o nel cloud