Informazioni sulle mesh di servizi

Una mesh di servizi è un livello di infrastruttura nell'applicazione che facilita la comunicazione tra i servizi. Le mesh di servizi offrono funzionalità come la gestione del traffico, la resilienza, i criteri, la sicurezza, l'identità avanzata e l'osservabilità dei carichi di lavoro. L'applicazione viene disaccoppiata da queste funzionalità operative, mentre la mesh del servizio li sposta dal livello dell'applicazione al livello dell'infrastruttura.

Scenari

Quando si usa una mesh di servizi, è possibile abilitare scenari come:

  • Crittografia di tutto il traffico nel cluster: abilitare TLS reciproco tra i servizi specificati nel cluster. Questo può essere esteso all'ingresso e all'uscita nel perimetro di rete e offre un'opzione sicura per impostazione predefinita senza modifiche necessarie per il codice e l'infrastruttura dell'applicazione.

  • Implementazioni Canary e in più fasi: specificare le condizioni per un subset di traffico da instradare a un set di nuovi servizi nel cluster. Al termine del test della versione canary, rimuovere il routing condizionale e la fase aumentando gradualmente la percentuale di tutto il traffico verso un nuovo servizio. Infine, tutto il traffico verrà indirizzato al nuovo servizio.

  • Gestione e modifica del traffico: creare un criterio in un servizio che limita tutto il traffico a una versione di un servizio da un'origine specifica o un criterio che applica una strategia di ripetizione dei tentativi alle classi di errori tra i servizi specificati. Eseguire il mirroring del traffico attivo verso nuove versioni dei servizi durante una migrazione o per eseguire il debug dei problemi. Inserire errori tra i servizi in un ambiente di test per testare la resilienza.

  • Osservabilità: ottenere informazioni dettagliate sul modo in cui i servizi sono connessi e sul traffico che li attraversa. Raccogliere metriche, log e tracce per tutto il traffico nel cluster, inclusi ingresso/uscita. Aggiungere funzionalità di traccia distribuita alle applicazioni.

Criteri di selezione

Prima di selezionare una mesh di servizi, assicurarsi di comprendere i requisiti e di ragionare per l'installazione di una mesh di servizi. Poni le domande seguenti:

  • Un controller di ingresso è sufficiente per le proprie esigenze?: a volte la presenza di funzionalità come test A/B o suddivisione del traffico in ingresso è sufficiente per supportare lo scenario richiesto. Non aggiungere complessità all'ambiente senza alcuno svantaggio.

  • I carichi di lavoro e l'ambiente possono tollerare i sovraccarichi aggiuntivi?: tutti i componenti necessari per supportare la mesh del servizio richiedono risorse come CPU e memoria. Tutti i proxy e i controlli dei criteri associati aggiungono latenza al traffico. Se si dispone di carichi di lavoro molto sensibili alla latenza o non è possibile fornire risorse aggiuntive per coprire i componenti mesh del servizio, è consigliabile riconsiderare l'uso di una mesh di servizi.

  • Si tratta di un'aggiunta di complessità non necessaria?: se si vuole installare una mesh di servizi per usare una funzionalità che non è fondamentale per i team aziendali o operativi, valutare se la complessità aggiunta dell'installazione, della manutenzione e della configurazione ne vale la pena.

  • Può essere adottato in un approccio incrementale?: alcune mesh di servizi che forniscono molte funzionalità possono essere adottate in un approccio più incrementale. Installare solo i componenti necessari per garantire l'esito positivo. Se in un secondo momento si scopre che sono necessarie altre funzionalità, esplorarle in un secondo momento. Resistere alla necessità di installare tutto dall'inizio.

Passaggi successivi

Il servizio Azure Kubernetes offre componenti aggiuntivi ufficialmente supportati per Istio e Open Service Mesh:

Sono disponibili anche mesh di servizi forniti da progetti open source e terze parti comunemente usate con il servizio Azure Kubernetes. Queste mesh di servizi non sono coperte dai criteri di supporto del servizio Azure Kubernetes.

Per altri dettagli sul panorama delle mesh di servizi, vedere Panorama delle mesh di servizi di livello 5.

Per altri dettagli sulle attività di standardizzazione della mesh di servizi, vedere: