Gestire i cluster della piattaforma applicativa moderna
Cloud Adoption Framework rende disponibile una metodologia di base per definire i processi di gestione delle operazioni per il cloud in modo indipendente. Le indicazioni consentono di stabilire una baseline di gestione delle operazioni e altri livelli operativi specifici. Queste linee guida possono comunque essere valide per le organizzazioni che hanno una combinazione di carichi di lavoro di infrastruttura come servizio (IaaS), piattaforma distribuita come servizio (PaaS) e carichi di lavoro in contenitori. Questo articolo descrive cosa è necessario integrare nelle operazioni esistenti per prepararsi alla gestione dei contenitori. Evidenzia anche i vantaggi dell'integrazione del servizio Azure Kubernetes nella strategia di gestione dei contenitori in uso.
Allineamento aziendale per le esigenze di gestione delle operazioni
I contenitori rimuovono le dipendenze in diversi livelli dell'infrastruttura, migliorando così le funzionalità di gestione delle operazioni. Per realizzare questi miglioramenti operativi, potrebbe essere necessario rivedere l'intera strategia di gestione del cloud, a partire dall'allineamento aziendale.
Per stabilire le procedure appropriate per la gestione delle operazioni, è necessario comprendere come verranno usati i contenitori nei piani di adozione del cloud e quali vantaggi si desidera ottenere da questo passaggio ai carichi di lavoro nei contenitori.
- Nella piattaforma cloud verranno gestite più soluzioni tecnologiche, ad esempio contenitori, IaaS e PaaS?
- I team centralizzati supporteranno le operazioni e la gestione della piattaforma del servizio Azure Kubernetes o dei contenitori? Questa responsabilità passa ai singoli team del carico di lavoro?
- I team centralizzati supporteranno le operazioni e la gestione dei carichi di lavoro in esecuzione in ogni contenitore o pod? Questa responsabilità passa ai singoli team del carico di lavoro?
- Si usano contenitori per carichi di lavoro cruciali?
- I contenitori vengono usati solo per i carichi di lavoro meno importanti o di utilità per ridurre i costi?
- Quanto sono importanti le prestazioni e l'affidabilità dei singoli carichi di lavoro?
- Le applicazioni nei contenitori sono senza stato? È necessario rendere permanente lo stato per proteggere e ripristinare i carichi di lavoro nei contenitori?
Queste domande di base illustrano come integrare al meglio i contenitori e il servizio Azure Kubernetes nella strategia di gestione delle operazioni.
Baseline delle operazioni
L'implementazione di una baseline operativa offre accesso centralizzato agli strumenti necessari per far funzionare e gestire tutti gli asset nell'ambiente cloud. Se non è presente una baseline operativa per gli asset che non sono nei contenitori, è possibile implementare la baseline operativa definita nella metodologia di gestione.
La baseline operativa deve includere strumenti e configurazioni per offrire visibilità, monitoraggio, conformità operativa, ottimizzazione e protezione/recupero.
La baseline operativa descritta negli articoli precedenti non offre supporto per i contenitori o la piattaforma del servizio Azure Kubernetes. Offre tuttavia strumenti di base che possono essere estesi per supportare i contenitori, ad esempio Monitoraggio di Azure, Backup di Azure e altri strumenti.
Se la maggior parte del portfolio nel cloud è ospitata nei contenitori, è consigliabile includere le operazioni specializzate della piattaforma nella sezione successiva della baseline operativa.
Operazioni della piattaforma
A meno che questa implementazione non sia la prima o l'unica distribuzione dell'organizzazione al cloud, è necessario avere una baseline operativa. Questa sezione identifica alcuni strumenti che è possibile includere per gestire la distribuzione dei contenitori o del servizio Azure Kubernetes.
Inventario e visibilità
I contenitori di monitoraggio e i cluster del servizio Azure Kubernetes usano gli strumenti, i dashboard e gli avvisi inclusi nella baseline operativa. Potrebbe tuttavia essere necessario eseguire altre operazioni di configurazione per ottenere i dati dai contenitori negli strumenti di monitoraggio delle operazioni, ad esempio Monitoraggio di Azure per i contenitori. Vedere la panoramica di Monitoraggio di Azure per i contenitori per raccogliere i dati necessari per aggiungere le operazioni della piattaforma del servizio Azure Kubernetes e dei contenitori alla baseline operativa.
Dopo aver configurato Monitoraggio di Azure in modo da raccogliere i dati nei contenitori, è possibile monitorare le aree seguenti come parte dei processi di gestione centralizzata:
- Identificare i cluster in esecuzione in varie aree, idealmente associati a una voce dell'albero dei servizi e identificare i fatti chiave in tali cluster
- Identificare il pool di nodi del cluster, la rete e le topologie di archiviazione di tali cluster
- Identificare la stratificazione della versione del servizio Azure Kubernetes e della versione dell'immagine del nodo.
- Identificare l'utilizzo delle risorse del nodo del cluster (processi, memoria e archiviazione)
- Identificare i contenitori in esecuzione nei nodi e il loro contributo all'utilizzo dei nodi
- Comprendere il comportamento dei cluster con carichi medi e pesanti. Queste informazioni sono utili per identificare i requisiti di capacità e determinare il carico massimo che può sostenere il cluster.
- Configurare gli avvisi per inviare notifiche in modo proattivo all'utente o registrare un record quando l'utilizzo della CPU e della memoria nei nodi o nei contenitori supera le soglie o quando lo stato di integrità cambia nel cluster durante il rollup dell'integrità dei nodi o dell'infrastruttura.
- Usare le query per creare un set comune di avvisi, i dashboard ed eseguire analisi dettagliate
Questi dati supporteranno anche i team delle operazioni sui carichi di lavoro offrendo informazioni dettagliate sui carichi di lavoro in esecuzione nella piattaforma in contenitori:
- Esaminare l'uso delle risorse dei carichi di lavoro in esecuzione nell'host non correlati ai processi standard che supportano il pod.
- Eseguire l'integrazione con Prometheus per visualizzare le metriche dell'applicazione.
- Monitorare i carichi di lavoro dei contenitori distribuiti nel motore del servizio Azure Kubernetes in locale e nel motore del servizio Azure Kubernetes in Azure Stack.
- Monitorare i carichi di lavoro dei contenitori distribuiti Azure Red Hat OpenShift.
- Monitorare i carichi di lavoro dei contenitori distribuiti in Kubernetes con abilitazione di Azure Arc (anteprima).
Conformità delle operazioni
L'applicazione delle patch, l'ottimizzazione e il ridimensionamento si verificano a livelli diversi in un ambiente in contenitori. Gli operatori possono trovarsi in molti team diversi a seconda dell'approccio operativo desiderato. Per mantenere la conformità delle operazioni, un operatore monitorerà l'utilizzo, ridimensionerà le risorse per bilanciare le prestazioni e i costi e applicherà patch ai sistemi sottostanti per ridurre al minimo i rischi e la deriva della configurazione. Le organizzazioni IT centrali tendono a eseguire queste attività nell'ambito della baseline operativa per le soluzioni IaaS e PaaS.
In un ambiente cluster in Azure queste attività vengono eseguite a più livelli: cluster del servizio Azure Kubernetes, immagine del nodo e sistema operativo del nodo. Tutte queste attività operative diventano più dipendenti da una relazione di comprensione e di lavoro dei carichi di lavoro in esecuzione nei cluster o nei singoli pool di nodi. Le istruzioni seguenti consentono di valutare le operazioni da intraprendere e di decidere se si desidera intervenire, per gestire gli ambienti dei contenitori.
- Se il ridimensionamento e l'applicazione di patch del cluster del servizio Azure Kubernetes, dell'immagine del nodo o del sistema operativo del nodo vengono eseguiti nell'ambito della pipeline di distribuzione per l'applicazione o dipendono dall'architettura o dalla configurazione dell'applicazione, è consigliabile richiedere al team del carico di lavoro di eseguire un controllo granulare della conformità operativa. Poiché i carichi di lavoro spesso prendono una dipendenza dalle funzionalità di orchestrazione, questo è il modello più comune di come una modifica imprevista della versione del servizio Azure Kubernetes o dell'immagine del nodo potrebbe essere catastrofica per il carico di lavoro o i relativi strumenti di runtime.
- Per i cluster centralizzati meno comuni, che supportano un portfolio di carichi di lavoro e un'ampia gamma di applicazioni, il team operativo centralizzato può comunque essere responsabile delle attività di conformità operativa. Le guide seguenti consentono di eseguire tali attività nei propri cluster. L'esecuzione ricorrente di queste attività instilla operazioni specifiche della piattaforma. Esiste un rischio importante in un approccio operativo centrale ed è necessario eseguire un attento test degli aggiornamenti in ambienti di preproduzione, chiaro e attento alla manutenzione pianificata, e stabilire piani di emergenza per i carichi di lavoro non conformi. Un aggiornamento non riuscito può essere un singolo punto di errore e, analogamente, un carico di lavoro che non sia in grado di eseguire l'aggiornamento può causare il mancato supporto di un cluster. Pianificare e gestire i cluster multi-tenant con la dovuta attenzione.
Per entrambi i tipi di cluster, seguire le indicazioni per gli aggiornamenti, le immagini dei nodi e gli aggiornamenti del sistema operativo del nodo disponibili negli articoli seguenti:
- Aggiornare il cluster del servizio Azure Kubernetes
- Aggiornare l'immagine del nodo
- Elaborare gli aggiornamenti del sistema operativo del nodo
- Istruzioni per l'applicazione di patch e aggiornamenti
Protezione e ripristino
I nodi del servizio Azure Kubernetes hanno una natura effimera e, di conseguenza, non vengono sottoposti a backup in modo da poterli rispristinare singolarmente. Il ripristino da un evento imprevisto può comportare la ridistribuzione dei carichi di lavoro in un nuovo pool di nodi o in un intero nuovo cluster a seconda dell'ambito dell'evento imprevisto.
- Scegliere di aggiungere un contratto di servizio per il tempo di attività al cluster.
- Per contratti di servizio di livello più alto, è anche consigliabile prendere in considerazione le procedure consigliate per il BCDR multiarea per avere una protezione aggiuntiva.
- Poiché i cluster non devono contenere lo stato, il ripristino dello stato esterno viene gestito usando le linee guida della baseline operativa esistente. Se lo stato è stato inserito nei cluster, assicurarsi di seguire le procedure consigliate degli operatori per l'archiviazione e di avere una strategia per eseguire il backup e il ripristino di questi dati per un determinato carico di lavoro. L'uso di strumenti come Velero è un esempio di operazioni specifiche della piattaforma, che estende la baseline operativa.
- Se il portfolio di applicazioni applica lo stato in modo incoerente, il team operativo centrale non deve tentare di usare entrambe le soluzioni. Standardizzare invece la toolchain dello stato desiderato per tutti i contenitori, ma spostare la responsabilità di soluzioni di ripristino alternative sui team delle operazioni del carico di lavoro. Questo approccio consente agli sviluppatori di avere una certa libertà di progettazione, mantiene i costi centrali bassi e offre un incentivo alla riduzione dei costi per i team dei carichi di lavoro per conformarsi allo standard.
Operazioni per i carichi di lavoro
La sezione precedente relativa alle operazioni della piattaforma illustra una conversazione comune durante la gestione dei cluster del servizio Azure Kubernetes. I cluster Kubernetes sono una piattaforma tecnologica da gestire a livello centrale? O sono uno strumento di carico di lavoro che deve essere gestito dai team che possiedono ciascuno dei carichi di lavoro? La domanda è diversa per organizzazioni diverse. La costante nella maggior parte delle organizzazioni è che i contenitori e il servizio Azure Kubernetes sono progettati per offrire ai team del carico di lavoro maggiore flessibilità nel modo in cui vogliono gestire ciascun carico di lavoro e offrire funzionalità specifiche per tali carichi di lavoro da usare nella propria architettura a vantaggio dei proprietari e dei clienti dell'applicazione.
Le operazioni del carico di lavoro possono basarsi sulla baseline operativa esistente e sulle operazioni specifiche della piattaforma. È anche possibile gestire in modo sicuro un cluster del servizio Azure Kubernetes usando operazioni del carico di lavoro completamente decentralizzate. In entrambi i casi, quando è necessario elevare le operazioni per concentrarsi su risultati specifici per un carico di lavoro specifico, è possibile usare Well-Architected Framework di Azure e Well-Architected Review di Microsoft Azure per ottenere informazioni specifiche sui tipi di processi operativi e di strumenti da usare per il carico di lavoro.
Passaggio successivo: Iterazione della migrazione successiva
Al termine della migrazione della piattaforma applicativa moderna, il team di adozione del cloud può iniziare la migrazione specifica dello scenario successivo. In alternativa, se è necessario eseguire la migrazione di altre piattaforme, questa serie di articoli può essere usata di nuovo per guidare la migrazione o la distribuzione della piattaforma applicativa moderna successiva.
- Strategia per le piattaforme applicative moderne
- Pianificare le piattaforme applicative moderne
- Esaminare l'ambiente o le zone di destinazione di Azure
- Eseguire la migrazione dei carichi di lavoro in piattaforme applicative moderne
- Innovare con soluzioni di piattaforma applicativa moderna
- Eseguire la governance delle soluzioni di piattaforma applicativa moderna
- Gestire soluzioni di piattaforma applicativa moderna