Come migliorare l’affidabilità delle applicazioni con l’osservabilità e il monitoraggio
Quando gli sviluppatori distribuiscono una nuova versione di un’applicazione o di un microservizio alla produzione, come fanno le operazioni IT a sapere se funziona al di fuori dei livelli di servizio definiti? Possono riconoscere in modo proattivo se ci sono problemi e affrontarli prima che si trasformino in incidenti con impatto sul business? E quando gli incidenti incidono su prestazioni, stabilità e affidabilità, possono determinare rapidamente la causa principale e risolvere i problemi con un impatto aziendale minimo?
Facendo un ulteriore passo avanti, le operazioni IT possono automatizzare alcune delle attività utilizzate per rispondere a queste condizioni piuttosto che avere qualcuno dell’assistenza IT che esegua i vari passaggi per rimediare ai problemi? E i servizi di analisi e gestione dei dati eseguiti su cloud pubblici e privati? In che modo gli operatori IT ricevono avvisi, riesaminano i dettagli degli incidenti e risolvono problemi da integrazioni di dati, dataops, data lake e così via, oltre che dai modelli di machine learning e dalle visualizzazioni dei dati che i data scientist implementano?
Queste sono domande chiave per i leader IT che implementano più applicazioni e analytics come parte delle trasformazioni digitali. Inoltre, poiché i team Devops consentono distribuzioni più frequenti utilizzando CI/CD e infrastrutture come automazioni di codice (IaC), aumenta la probabilità che le modifiche causino interruzioni.
Cosa dovrebbero fare sviluppatori, data scientist, data engineer e operazioni IT per migliorare l’affidabilità? Dovrebbero monitorare le applicazioni o aumentare la loro osservabilità? Il monitoraggio e l’osservabilità sono due implementazioni concorrenti o possono essere implementate insieme per migliorare l’affidabilità e ridurre il tempo medio di risoluzione degli incidenti (MTTR)?
Sviluppare una fonte di verità operativa tra sviluppatori e operazioni
Nell’ultimo decennio, l’IT ha cercato di colmare il divario tra sviluppatori e operazioni in termini di mentalità, obiettivi, responsabilità e strumenti. Le modifiche alla cultura e ai processi Devops sono al centro di questa trasformazione e molte organizzazioni iniziano questo viaggio implementando pipeline CI/CD e IaC. L’accordo su quali metodologie, dati, report e strumenti utilizzare è un passo fondamentale verso l’allineamento dei team operativi e di sviluppo delle applicazioni a supporto delle prestazioni e dell’affidabilità dell’applicazione.
Mohan Kompella, vice presidente del marketing di prodotto di BigPanda, concorda, sottolineando l’importanza di sviluppare un’unica fonte operativa di verità. “Gli sviluppatori Agile e i team Devops utilizzano i propri strumenti di osservabilità specializzati in silos per analisi approfondite e forensi per ottimizzare le prestazioni delle app. Ma nel processo possono perdere visibilità in altre aree dell’infrastruttura, portando ad approcci trial-and-error alle indagini sugli incidenti”.
La soluzione? “Diventa necessario aumentare la visibilità incentrata sulle applicazioni degli sviluppatori con un’ulteriore visibilità a 360 gradi su rete, archiviazione, virtualizzazione e altri livelli”, afferma Kompella. “Ciò elimina l’attrito e consente agli sviluppatori di risolvere gli incidenti e le interruzioni più rapidamente”.
Comprendere in che modo i problemi delle applicazioni influiscono sui clienti e sulle operazioni aziendali
Prima di immergersi in un approccio globale all’affidabilità dell’applicazione e del sistema, è importante che le esigenze dei clienti e le operazioni aziendali siano al primo posto nella discussione. Jared Blitzstein, direttore dell’ingegneria di Boomi, un’azienda di Dell Technologies, sottolinea che il cliente e il contesto aziendale sono fondamentali per lo sviluppo di una strategia.
“Abbiamo incentrato l’osservabilità sui nostri clienti e sulla loro capacità di raccogliere intuizioni e azioni nel funzionamento della loro attività”, afferma. “La differenza è che utilizziamo il monitoraggio per capire come si comportano i nostri sistemi in un determinato momento, ma sfruttiamo il concetto di osservabilità per comprendere il contesto e l’impatto complessivo che quegli elementi (e altri) hanno sull’attività dei nostri clienti”.
Avere una mentalità da cliente e metriche aziendali guida i team sulla strategia di implementazione. “Comprendere l’efficacia delle vostre soluzioni tecnologiche nella vostra attività quotidiana diventa la metrica più importante a portata di mano”, continua Blitzstein. “Promuovere una cultura e una piattaforma di osservabilità consente di costruire il contesto di tutti i dati rilevanti necessari per prendere le giuste decisioni al momento.”
Migliorare la telemetria con il monitoraggio e l’osservabilità
Se state già monitorando le tue applicazioni, cosa guadagnate aggiungendo l’osservabilità al mix? Qual è la differenza tra monitoraggio e osservabilità? Ho posto queste domande a due esperti. Richard Whitehead, capo evangelista di Moogsoft, offre questa spiegazione:
“Il monitoraggio si basa su tipi di dati grossolani e per lo più strutturati, come i record di eventi e i report del sistema di monitoraggio delle prestazioni, per determinare cosa sta succedendo all’interno della vostra infrastruttura digitale, in molti casi utilizzando controlli intrusivi. L’osservabilità si basa su una telemetria altamente granulare e di basso livello per effettuare queste determinazioni. L’osservabilità è l’evoluzione logica del monitoraggio a causa di due cambiamenti: applicazioni riscritte come parte della migrazione al cloud (consentendo l’aggiunta di strumentazione) e l’ascesa dei devops, dove gli sviluppatori sono motivati a rendere il loro codice più facile da usare”.
Chris Farrell, stratega dell’osservabilità presso Instana, una società di IBM, ha gettato ulteriore luce sulla differenza:
“Più che ottenere dati su un’applicazione, l’osservabilità riguarda la comprensione del modo in cui sono collegate diverse informazioni sul sistema dell’applicazione, che si tratti di metriche dal monitoraggio delle prestazioni, traccia distribuita delle richieste degli utenti, eventi nella tua infrastruttura o persino profilatori di codice. Migliore è la piattaforma di osservabilità nel comprendere tali relazioni, più efficace diventa qualsiasi analisi di tali informazioni, sia all’interno della piattaforma che a valle, utilizzata dagli strumenti CI / CD o da una piattaforma AIops”.
In breve, il monitoraggio e l’osservabilità condividono obiettivi simili ma adottano approcci diversi. Ecco la mia opinione su quando aumentare il monitoraggio delle applicazioni e quando investire nell’osservabilità per un’applicazione o un microservizio.
Lo sviluppo e la modernizzazione di applicazioni e microservizi cloud-native attraverso una forte collaborazione tra i team devops agili e le operazioni IT è l’occasione per stabilire standard di osservabilità e ingegnerizzarli durante il processo di sviluppo. Aggiungere l’osservabilità ad applicazioni legacy o monolitiche può essere poco pratico. In tal caso, il monitoraggio di applicazioni legacy o monolitiche può essere l’approccio ottimale per comprendere cosa sta succedendo nella produzione.
Automatizzare le azioni per rispondere ai problemi monitorati e osservati
Investire nell’osservabilità, nel monitoraggio o in entrambi migliorerà la raccolta dei dati e la telemetria e porterà a una migliore comprensione delle prestazioni dell’applicazione. Quindi centralizzando i dati di monitoraggio e osservabilità in una piattaforma AIops, non solo potete produrre insight operativi più approfonditi più velocemente, ma anche automatizzare le risposte.
“I team delle operazioni IT di oggi hanno troppo da fare. Collegare le intuizioni alle azioni e sfruttare l’automazione è una capacità fondamentale per stare al passo con la domanda di più applicazioni e con una maggiore affidabilità” afferma Marcus Rebelo, direttore dell’ingegneria delle vendite di Resolve. “Raccogliete, aggregate e analizzate un’ampia varietà di origini dati per produrre informazioni preziose e aiutare i team IT a capire cosa sta realmente accadendo in ambienti cloud ibridi complessi”. Ma non è abbastanza.
“È fondamentale collegare queste informazioni all’automazione per trasformare le operazioni IT”, aggiunge Rebelo. “Combinare automazione con osservabilità e AIops è la chiave per massimizzare il valore delle informazioni e gestire la crescente complessità negli ambienti IT di oggi.”
Ottimizzare il monitoraggio e l’osservabilità per la consegna del flusso di valore
Collegando le esigenze dei clienti e le metriche aziendali da un lato con monitoraggio, osservabilità, AIops e automazione dall’altro, le operazioni IT hanno a disposizione una strategia end-to-end per garantire l’affidabilità operativa di un flusso di valore.
Bob Davis, chief marketing officer di Plutora, suggerisce che il monitoraggio e l’osservabilità sono entrambi necessari per supportare un portafoglio di flussi di valore. “Gli strumenti di monitoraggio forniscono informazioni precise e approfondite su una particolare attività, che può includere il monitoraggio di difetti o trigger sull’utilizzo o il monitoraggio delle prestazioni di qualcosa come un’API, ad esempio”, afferma Davis. “Gli strumenti di osservabilità esaminano tutto e traggono conclusioni su ciò che sta accadendo con l’intero sistema o flusso di valore.”
Pertanto gli strumenti di osservabilità hanno un ruolo speciale nel flusso di valore. “Con le informazioni fornite dagli strumenti di osservabilità, gli sviluppatori possono comprendere meglio lo stato di salute di un’organizzazione, aumentare l’efficienza e migliorare la fornitura di valore di un’organizzazione”, conclude Davis. Esistono strumenti, pratiche e molti compromessi, ma alla fine migliorare la fornitura e l’affidabilità delle applicazioni richiederà l’allineamento dello sviluppo e delle operazioni sugli obiettivi.