Che cos'è il service mesh? Il service mesh (o "mesh di servizi") è un livello infrastrutturale che gestisce le comunicazioni da servizio a servizio nelle architetture dei microservizi. Utilizza funzioni avanzate di controllo del traffico, osservabilità, individuazione dei servizi e sicurezza delle comunicazioni, operando in modo indipendente dal codice di servizio per semplificare e ottimizzare le interazioni. Ottieni demo
Informazioni utili sulla Root Cause Analysis
Quali sono le funzionalità principali di un service mesh? Quali sono le differenze tra un gateway API e un service mesh? Perché il service mesh è importante? Come funziona un service mesh? Come implementare un service mesh? Utilizzare ServiceNow per le soluzioni di service mesh

Poiché le moderne organizzazioni adottano i microservizi per creare applicazioni scalabili e flessibili, la gestione delle comunicazioni tra questi servizi indipendenti è diventata una sfida importante. Con la diffusione del cloud computing e delle architetture distribuite, i team IT (Information technology) devono affrontare una crescente complessità nel garantire interazioni da servizio a servizio affidabili, sicure ed efficienti. La verità è che gli approcci tradizionali alla gestione dei servizi a volte risultano insufficienti quando si tratta di gestire ecosistemi di microservizi dinamici e interconnessi. Per colmare questa lacuna, le organizzazioni di successo stanno adottando un approccio basato sul service mesh.  

Un service mesh è un livello infrastrutturale dedicato e progettato per semplificare e ottimizzare la comunicazione tra i microservizi. Integrando un service mesh nelle infrastrutture IT, le organizzazioni possono ottenere maggiore controllo e osservabilità sulle interazioni con i servizi. Che venga implementata all'interno di cluster Kubernetes o su infrastrutture cloud più ampie, la tecnologia service mesh sta diventando un pilastro fondamentale delle moderne strategie di IT. 

Espandi tutto Comprimi tutto Quali sono le funzionalità principali di un service mesh?

Attraverso l'unione di più funzioni in un unico livello coesivo, il service mesh affronta le sfide operative e di sicurezza inerenti agli ecosistemi dei microservizi. Tra le funzionalità essenziali che definiscono un service mesh efficace vi sono: 

  • Affidabilità
    Un service mesh garantisce una comunicazione stabile ed efficiente utilizzando "proxy sidecar" (proxy leggeri distribuiti insieme a ogni istanza di microservizio) per gestire il traffico e applicare le policy. Ciò consente di mantenere prestazioni costanti, anche in ambienti complessi. 
  • Sicurezza
    Grazie all'integrazione della crittografia e dei controlli di accesso nelle comunicazioni da servizio a servizio, il service mesh protegge i dati in transito. Centralizza la gestione delle policy di autenticazione e autorizzazione, riducendo al minimo le vulnerabilità mentre i microservizi interagiscono attraverso la rete.
  • Resilienza
    Grazie all'integrazione di meccanismi come tentativi ripetuti, interruzioni di circuito e timeout, il service mesh rafforza la resilienza complessiva delle applicazioni. Queste funzionalità aiutano a mitigare l'impatto dei guasti del servizio o delle interruzioni di rete, preservando la disponibilità dei servizi critici. 
  • Osservabilità
    Il service mesh fornisce approfondimenti sulle prestazioni del sistema raccogliendo dati telemetrici, tracciando i flussi di richieste e aggregando i registri. Queste funzionalità aiutano i team IT a monitorare l'integrità del servizio e a identificare i colli di bottiglia. Allo stesso modo, possono risolvere i problemi in maniera più efficace. 
  • Gestione del traffico
    Attraverso funzionalità di instradamento avanzate, il service mesh consente un controllo preciso sul flusso del traffico tra i servizi. Ciò include tecniche come la suddivisione del traffico per le distribuzioni canary, l'instradamento dinamico delle richieste e l'iniezione di errori per testare il comportamento del sistema in diversi scenari. 
  • Comunicazione disaccoppiata
    Il service mesh separa la gestione della rete dalla logica delle applicazioni, in modo tale che le modifiche alla comunicazione del servizio non interrompano la funzionalità delle applicazioni. Questa astrazione semplifica lo sviluppo, mantenendo al contempo pratiche di comunicazione coerenti in tutto il sistema. 
Mettere in connessione DevOps, osservabilità e AIOps Leggi questo white paper per scoprire in che modo mettere in connessione DevOps, osservabilità e AIOps può migliorare la consegna delle applicazioni ed esplorare le soluzioni ServiceNow che possono aiutarti. Scarica white paper
Quali sono le differenze tra un gateway API e un service mesh? 

I gateway API e i service mesh sono strumenti per la gestione delle comunicazioni all'interno delle architetture dei microservizi. In quanto tali, presentano molte somiglianze: entrambi migliorano la connettività, la sicurezza e l'osservabilità. Tuttavia, operano a livelli diversi dell'infrastruttura e si rivolgono a tipi di traffico distinti. Più specificamente, un gateway API differisce da un service mesh nei seguenti modi: 

  • Focus operativo
    La gestione delle API come prodotti è un obiettivo fondamentale di un gateway API, che spesso include il controllo versioni delle API, l'analisi dei dati e gli strumenti di sviluppo. Al contrario, un service mesh si concentra sull'affidabilità e la resilienza dei microservizi. 
  • Tipo e ambito del traffico 
    I gateway API si concentrano sul traffico nord-sud, che coinvolge le richieste esterne in entrata o in uscita dal sistema. I service mesh, invece, gestiscono il traffico est-ovest, focalizzandosi sulla comunicazione tra i servizi all'interno del sistema. 
  • Funzione primaria
    Lo scopo principale di un gateway API è fungere da punto di accesso centrale, tramite l'instradamento delle richieste esterne, la gestione dell'autenticazione e l'integrazione delle API tra sistemi esterni e servizi interni. Il service mesh migliora la comunicazione interna consentendo il rilevamento dei servizi e il bilanciamento del carico e assegnando priorità allo scambio sicuro dei dati. 
  • Posizione di implementazione
    Posizionato ai margini di una rete, il gateway API regola l'accesso ai servizi interni. Il service mesh opera internamente e implementa proxy sidecar insieme ai microservizi per gestire la comunicazione direttamente all'interno dell'infrastruttura. 
  • Approccio alla sicurezza
    La sicurezza verso l'esterno è una funzionalità fondamentale dei gateway API, che proteggono l'accesso attraverso l'autenticazione utente, l'autorizzazione e il filtraggio IP. Nel frattempo, il service mesh si concentra sulla sicurezza informatica interna crittografando la comunicazione da servizio a servizio e implementando mTLS (Mutual TLS) e controlli di accesso granulari. 
Perché il service mesh è importante?

Con l'aumentare della complessità delle architetture basate su microservizi, la gestione della comunicazione tra i servizi diventa sempre più impegnativa. Il service mesh offre una soluzione potente centralizzando il controllo sulla comunicazione tra servizi. Ciò comporta una serie di vantaggi evidenti. 

Vantaggi del service mesh

Il service mesh offre diverse funzionalità che affrontano le sfide critiche dei sistemi distribuiti. Tra questi vantaggi vi sono: 

  • Individuazione dei servizi
    La gestione manuale degli endpoint dei servizi in ambienti dinamici diventa impraticabile con l'aumentare del numero di servizi. Il service mesh automatizza il rilevamento dei servizi utilizzando un registro per tenere traccia dei servizi e della loro posizione in tempo reale. Questa funzionalità riduce i costi operativi e garantisce che i servizi possano individuarsi e interagire tra loro man mano che l'ambiente evolve. 
  • Gestione del traffico
    La capacità di controllare il flusso del traffico tra i microservizi è essenziale per mantenere prestazioni e affidabilità. Il service mesh supporta funzionalità avanzate come il bilanciamento del carico, l'instradamento delle richieste e la suddivisione del traffico, consentendo alle organizzazioni di ottimizzare l'utilizzo delle risorse. 
  • Sicurezza su larga scala
    Proteggere i dati sensibili all'interno di un'applicazione distribuita è difficile, soprattutto quando i servizi comunicano frequentemente tra loro. Il service mesh rafforza la sicurezza della rete crittografando il traffico e applicando controlli di accesso granulari. Ciò contribuisce a proteggere le interazioni tra i servizi e consente alle organizzazioni di adottare un modello di sicurezza "zero trust". 
  • Osservabilità e tracciabilità
    Ottenere visibilità sulle prestazioni e sul comportamento dei microservizi è fondamentale per identificare i colli di bottiglia e risolvere i problemi. Il service mesh offre osservabilità incorporata raccogliendo parametri, tracciando le richieste tra i servizi e aggregando i registri. Questi dati aiutano i team IT a monitorare lo stato di integrità del sistema e a risolvere i problemi in modo più efficace.
  • Automazione della rete
    La gestione manuale della comunicazione tra servizi può generare incongruenze e inefficienze operative. Il service mesh automatizza i processi chiave come i tentativi ripetuti, i timeout e le interruzione di circuiti, promuovendo pratiche di comunicazione coerenti tra i servizi. In questo modo, gli errori umani si riducono e l'affidabilità generale del sistema aumenta. 

    Sfide legate al service mesh

    Sebbene i service mesh offrano vantaggi significativi, la loro implementazione può presentare alcune sfide. Quando si valuta una soluzione service mesh, è necessario tenere presente le seguenti potenziali problematiche: 

  • Integrazione
    L'adozione di un service mesh richiede la sua integrazione con le applicazioni, gli strumenti e i flussi di lavoro esistenti, il che può essere un processo complicato e dispendioso in termini di tempo. Prima di finalizzare una scelta, le organizzazioni dovrebbero valutare le soluzioni di service mesh per verificarne la compatibilità con la loro infrastruttura attuale. 
  • Maggiore complessità
    L'introduzione di un service mesh aggiunge un ulteriore livello all'infrastruttura delle applicazioni, il che può aumentare il rischio di configurazioni errate. È opportuno stabilire una governance chiara e adottare le best practice per la gestione della configurazione al fine di semplificare le operazioni e ridurre gli errori. 
  • Curva di apprendimento
    I service mesh richiedono conoscenze specialistiche per la configurazione, il monitoraggio e la risoluzione dei problemi. Ciò può risultare arduo per i team che non hanno familiarità con questa tecnologia. È bene investire nella formazione del team e nella documentazione per colmare questa lacuna di competenze e attingere al supporto dei fornitori per affrontare eventuali problemi specifici.
Come funziona un service mesh? 
Il service mesh semplifica e migliora la comunicazione tra i microservizi astraendo la logica che governa le interazioni tra i servizi in un livello infrastrutturale dedicato. Invece di incorporare questa funzionalità nei singoli servizi, il mesh utilizza dei proxy, in modo da monitorare, proteggere e ottimizzare le interazioni più facilmente. Questa architettura opera attraverso due componenti principali: il piano dati e il piano di controllo. Insieme, questi componenti formano la struttura portante di qualsiasi service mesh.

Piano dati

Il piano dati è responsabile della gestione del flusso di traffico tra i microservizi. È costituito da proxy sidecar progettati per gestire compiti quali: 

  • Intercettazione e instradamento delle richieste tra i servizi. 
  • Protezione delle comunicazioni tramite la creazione di canali crittografati tra origini e destinazioni. 
  • Implementazione di funzionalità di resilienza per mantenere la disponibilità dei servizi in caso di guasti o rallentamenti. 

Gestendo queste funzioni, il piano dati ottimizza la comunicazione attraverso la rete e riduce al contempo il carico sui singoli microservizi. 

Piano di controllo

Il piano di controllo funge da hub di gestione centrale per il service mesh. Fornisce agli amministratori strumenti per definire policy, configurare regole di instradamento e applicare impostazioni di sicurezza. Le principali responsabilità del piano di controllo includono: 

  • Mantenere un registro dei servizi che tiene traccia di tutti i servizi e delle loro posizioni all'interno del mesh.  
  • Automatizzare il rilevamento dei servizi registrando quelli nuovi e rimuovendo quelli inattivi.  
  • Distribuire le configurazioni al piano dati, consentendo ai proxy di adattarsi senza interrompere le operazioni di servizio.  
  • Aggregare i dati telemetrici (ad esempio parametri, registri e tracce) per fornire informazioni dettagliate sulle prestazioni e lo stato di salute del sistema. 

Con il piano di controllo, è possibile applicare in tempo reale le modifiche alla configurazione del service mesh, come gli aggiornamenti alle policy di sicurezza o alle regole del traffico, senza richiedere il riavvio del servizio. 

Come implementare un service mesh?

L'implementazione di un service mesh non è un'operazione che si esaurisce in un unico passaggio: garantire un'integrazione efficace con l'architettura dei microservizi esistente richiede in genere un approccio ponderato che prevede diversi passaggi. Di seguito sono riportate le fasi più importanti dell'implementazione di un service mesh:

  • Valutare l'attuale architettura dei microservizi
    È importante iniziare valutando l'architettura esistente per identificare i punti critici, le esigenze di scalabilità e le aree in cui è possibile migliorare la resilienza, poiché ciò contribuirà a stabilire obiettivi e aspettative chiari per il service mesh. Bisognerà quindi creare un elenco di controllo dei risultati desiderati per guidare l'implementazione e misurarne l'impatto dopo il completamento. 
  • Scegliere la soluzione di service mesh giusta
    È necessario esaminare diverse soluzioni di service mesh per determinare quale si adatta meglio agli obiettivi e all'ambiente di destinazione, effettuando dei test per verificarne la compatibilità e la funzionalità prima di effettuare il passaggio.
  • Sviluppare una strategia di adozione graduale 
    È bene evitare di tentare un'implementazione su larga scala in una sola volta, e iniziare piuttosto con un piccolo sottoinsieme di servizi. Si potranno quindi usare questi servizi per identificare potenziali sfide e mettere a punto le configurazioni, prima di espandere gradualmente l'implementazione, apportando le modifiche necessarie.
  • Integrare e configurare il service mesh
    Una volta messa in atto la strategia graduale, si procederà all'implementazione del piano di controllo e dei proxy sidecar sui servizi pilota. Si consiglia di utilizzare questa fase per mettere a punto le impostazioni del service mesh in modo di ottenere prestazioni ottimali. 
  • Monitorare e risolvere i problemi durante e dopo l'implementazione
    Si possono quindi sfruttare le funzionalità di osservabilità del service mesh per monitorare parametri, registri e tracce distribuite. È bene stabilire processi di allerta e risposta agli incidenti per identificare rapidamente eventuali problemi che potrebbero richiedere un intervento, e verificare regolarmente le prestazioni e la scalabilità per assicurarsi che il mesh funzioni come previsto. 
Prezzi di Osservabilità del cloud Scegli un pacchetto per trovare un'edizione di Osservabilità del cloud ServiceNow adatta alle tue esigenze. Scopri i prezzi
Utilizzare ServiceNow per le soluzioni di service mesh 

Basate su ServiceNow AI Platform, le applicazioni specializzate ServiceNow sono progettate per integrarsi con le tecnologie mesh e aiutare le organizzazioni a ottimizzare le loro implementazioni di service mesh. Osservabilità dei servizi unifica i dati telemetrici in una piattaforma senza soluzione di continuità, consentendo ai team di monitorare le dipendenze, prevedere potenziali interruzioni e identificare rapidamente le cause originarie dei problemi di servizio. Inoltre, Mappatura dei servizi fornisce una visione completa e dinamica dei servizi digitali, illustrando come interagiscono i microservizi e l'infrastruttura. Insieme, queste soluzioni consentono ai team IT e DevOps di mantenere ambienti service mesh altamente performanti, sicuri e resilienti. 

Sfruttando queste applicazioni, le organizzazioni possono impiegare operazioni orientate al servizio per diagnosticare e assegnare priorità ai problemi, ottimizzare i flussi di traffico e mantenere la conformità con gli accordi sul livello del servizio (SLA) dei clienti. Riduci il tempo medio di risoluzione (MTTR) individuando più rapidamente le interruzioni e garantisci l'affidabilità con il rilevamento proattivo dei problemi. Traccia dinamicamente i microservizi all'interno delle architetture di service mesh e visualizza le relazioni tra i componenti. Insieme, queste e altre funzionalità ti offrono la possibilità di rendere la tua soluzione di service mesh una base sicura per la fornitura di servizi digitali scalabili, sicuri e ad alte prestazioni.  

Scopri come ServiceNow può trasformare il tuo approccio al service mesh. Richiedi subito una demo! 

Scopri di più su Osservabilità del cloud Lascia che il nostro personale esperto ti mostri come Osservabilità del cloud ServiceNow può aiutare la tua organizzazione ad accelerare la transizione alle applicazioni native del cloud. Scopri Osservabilità del cloud Contattaci
Risorse Articoli Che cos'è ServiceNow? Che cos'è l'osservabilità? Che cos'è OpenTelemetry? Schede dati Informazioni risorse cloud Governance del multi-cloud agile con l'Ottimizzazione ITOM di ServiceNow® Orchestrazione eBook Riorganizzazione della gestione dei cambiamenti con ITIL 4