App Mesh semplifica l'esecuzione dei servizi fornendo visibilità e controlli del traffico di rete coerente per ogni servizio. App Mesh separa la logica necessaria per monitorare e controllare le comunicazioni in un proxy che viene eseguito accanto a ogni servizio. Questo elimina la necessità di coordinare i team o aggiornare il codice dell'applicazione per modificare il modo in cui vengono raccolti i dati di monitoraggio o il routing del traffico. Questo semplifica l’individuazione rapida della posizione esatta degli errori e il reindirizzamento automatico del traffico di rete, in caso di mancata esecuzione delle operazioni o modifiche necessarie del codice per la distribuzione.
Puoi utilizzare App Mesh con AWS Fargate, Amazon ECS, Amazon EKS, Amazon EC2 e Kubernetes su EC2 per eseguire servizi migliori su larga scala. App Mesh utilizza Envoy, un proxy open source compatibile con un'ampia gamma di partner AWS e strumenti open source per servizi di monitoraggio.
Proxy open source
App Mesh utilizza il proxy Envoy open source per gestire tutto il traffico in entrata e in uscita dai container di un servizio. App Mesh configura questo proxy per gestire automaticamente tutte le comunicazioni delle applicazioni del servizio. Envoy ha un vivace ecosistema di integrazioni create dalla community che funzionano con App Mesh.
Servizi AWS compatibili:
Amazon CloudWatch* – servizio di monitoraggio e registrazione per la completa visibilità di risorse e applicazioni.
AWS X-Ray *: servizio di tracciamento per una visualizzazione end-to-end delle prestazioni dell'applicazione.
Partner AWS compatibili e strumenti open source:
Datadog, Alcide, HashiCorp, Sysdig, Signalfx, Spotinst, Tetrate, Neuvector, Weaveworks, Twistlock, Wavefront by VMware, Aqua.
Routing del traffico
App Mesh ti consente di configurare i servizi per connetterli direttamente tra loro invece di richiedere un codice all'interno dell'applicazione o utilizzare un sistema di bilanciamento del carico. All'avvio di ciascun servizio, i relativi proxy si connettono a App Mesh e ricevono i dati di configurazione relativi alle posizioni di altri servizi nella mesh. Puoi utilizzare i controlli in App Mesh per aggiornare in modo dinamico il routing del traffico tra i servizi senza modifiche al codice dell'applicazione.
Policy sul traffico lato client
I proxy eseguono automaticamente il bilanciamento del carico del traffico di tutti i client nella mesh e aggiungono e rimuovono gli endpoint di bilanciamento del carico in base ai controlli dello stato e alla registrazione del servizio. Queste funzionalità semplificano l'implementazione di nuove versioni dei servizi e consentono di ottimizzare le applicazioni per i guasti.
Autenticazione da servizio a servizio
Mutual TLS (mTLS) consente l'autenticazione del livello di trasporto, che fornisce la verifica dell'identità da servizio a servizio per i componenti dell'applicazione in esecuzione all'interno e all'esterno delle mesh dei servizi. Consente ai clienti di estendere il perimetro di sicurezza alle applicazioni in esecuzione in AWS App Mesh, fornendo certificati di AWS Certificate Manager Private Certificate Authority o di un'autorità di certificazione (CA) gestita dal cliente per i carichi di lavoro nella mesh del servizio e di applicare l'autenticazione automatica per le applicazioni client che si connettono ai servizi.
Esperienza utente nativa di orchestrazione del container
App Mesh funziona con servizi gestiti da Amazon ECS, Amazon EKS, AWS Fargate, Kubernetes in esecuzione su EC2. Per carichi di lavoro in container in esecuzione su ECS, EKS, Fargate o Kubernetes, includi il proxy di App Mesh fornito come parte della definizione di attività o pod per ciascun microservizio e configuri il container dell'applicazione dei servizi per comunicare direttamente con il proxy. All'avvio del servizio, il proxy esegue automaticamente il check-in e viene configurato da App Mesh.
Completamente gestito
AWS App Mesh è un servizio gestito e altamente disponibile. App Mesh consente di gestire le comunicazioni dei servizi senza dover installare o gestire l'infrastruttura a livello di applicazione per la gestione delle comunicazioni.