Come Layer5 cerca di rendere Kubernetes e Service Mesh accessibili agli sviluppatori
Quando un progetto cresce fino a una dozzina di microservizi, la gestione dell'infrastruttura diventa caos. Gli sviluppatori scrivono codice, le operations faticano a capire i manifest, e quando si verificano errori, tutti si passano la colpa in cerchio. Una situazione comune, ma non piacevole.
A un certo punto, mi sono imbattuto nel repository Layer5. In sostanza, è il progetto di punta di un'organizzazione che sviluppa un'intera suite di utility open-source per lavorare con Kubernetes e service mesh. La loro idea principale è rendere l'infrastruttura visibile e dare agli sviluppatori il controllo visivo su di essa senza la necessità di riscrivere manualmente centinaia di righe di YAML.
Cosa include il progetto
Il repository Layer5 funge da vetrina e hub per diversi strumenti indipendenti. Ognuno affronta un compito specifico nello stack dell'infrastruttura.
Meshery
Questa è una dashboard di gestione per Kubernetes e service mesh come Istio, Linkerd o Consul. L'utility può connettersi ai cluster, leggere la topologia corrente, validare le configurazioni rispetto alle best practice e testare le prestazioni di rete.
Kanvas
Un editor visivo dell'infrastruttura. Invece di modificare i manifest nel terminale, costruisci la tua architettura su una canvas interattiva. Il diagramma si sincronizza con il cluster in tempo reale, quindi le modifiche sono immediatamente visibili a tutto il team.
Nighthawk
Uno strumento di load testing per il Layer 7 del modello OSI (HTTP, HTTPS, HTTP/2). È stato scritto in C++ come load generator per Envoy e il team di Layer5 lo ha integrato nei loro scenari di test di latenza e throughput.
Cloud Native Catalog e Patterns
Un catalogo di pattern architetturali pronti all'uso per Kubernetes. Se hai bisogno di configurare una canary release o dividere il traffico tra versioni di servizi, puoi usare un template collaudato dal catalogo invece di reinventare la ruota.
Service Mesh Performance e Sistent
La specifica SMP standardizza la raccolta delle metriche di performance delle service mesh, in modo che i risultati dei test in ambienti diversi possano essere confrontati correttamente. E Sistent è il loro design system e la libreria di componenti React proprietari, su cui sono costruite tutte le interfacce web dei prodotti dell'azienda.
Come funziona sotto il cofano
La maggior parte dei servizi del progetto sono scritti in Go e JavaScript. Per l'integrazione con il cluster, viene utilizzato Meshery Operator, che viene installato all'interno di Kubernetes ed esegue il componente MeshSync.
MeshSync ascolta gli eventi dell'API di Kubernetes e inoltra lo stato delle risorse al server Meshery. L'intero stack opera sotto licenza Apache 2.0, quindi il codice è completamente aperto alla modifica e al deployment locale.
Puoi installare e avviare l'utility CLI Meshery sulla tua macchina locale con un singolo comando:
curl -L https://meshery.io/install | PLATFORM=kubernetes bash -
mesheryctl system start
Dopo l'avvio, si apre un'interfaccia web locale dove puoi selezionare l'adapter Service Mesh desiderato, connettere un kubeconfig esistente e iniziare a profilare il traffico.
Scenari pratici
In quali situazioni il toolkit Layer5 fa effettivamente risparmiare tempo:
- Confrontare soluzioni Service Mesh prima dell'adozione. Se il tuo team sta scegliendo tra Istio e Linkerd, i benchmark integrati basati su Nighthawk aiutano a eseguire carichi sintetici identici e confrontare il consumo di memoria con la latenza di rete.
- Onboarding di nuovi sviluppatori. La mappa visiva in Kanvas aiuta i nuovi arrivati a capire più rapidamente come sono connessi i servizi, senza dover leggere diagrammi obsoleti in Confluence.
- Audit delle configurazioni. Il catalogo dei pattern suggerisce dove mancano i limiti di risorse nei manifest o dove le policy di sicurezza mTLS sono mal configurate.
- Formazione sulle tecnologie cloud. La piattaforma Layer5 Academy integrata contiene esercizi interattivi dove puoi esercitarti in sicurezza senza rischiare di mandare giù un cluster di produzione.
Vale la pena provarlo
Layer5 si è rivelato un progetto sostanzioso con una serie di subproject. Da un lato, a causa dell'abbondanza di entità, la curva di apprendimento può sembrare ripida: devi capire dove finisce Meshery e dove inizia Kanvas. D'altra parte, se il tuo team ha sbattuto contro le complessità della manutenzione dei microservizi su Kubernetes, l'approccio visivo all'architettura rimuoverà parte del lavoro routinario.
Il modo più semplice per iniziare è con mesheryctl su un Minikube locale o k3s. In questo modo vedrai immediatamente come la visualizzazione semplifica la diagnosi dei problemi di rete nel tuo stack.
Progetti correlati