Perché non usare un qualunque altro API gateway presente sul mercato?
Principalmente per due motivi, la prima (come spiegato durante il talk) è quello che non volevamo nessun single point of failure. Utilizzando Rond se introduciamo un problema sulle policy/configurazione queste potrebbero causare disservizi solo ed esclusivamente sul container che le utilizza lasciando il resto del sistema up&running. Il secondo punto è quello di proteggere anche le richieste interne del cluster tra microservizi diversi.
Come cambiano le performance dopo l'aggiunta di Rond davanti al nostro container? Come si proteggono i container che consumano o pubblicano su message brokers?
Rond viene deployato (nella configurazione standard) come sidecar container, è sviluppato in Go, e lato performance tutto dipende dalle valutazioni delle singole policy (e dalla loro complessità). Generalmente se parliamo di performance di esecuzione in termini di tempo tutto dipende dalla valutazione che la policy fa, generalmente per controlli standard (esempio decodifica di un JWT, controllo permessi e applicazione di un filtro) l'overhead temporale è minimo. Rond è pensato per funzionare su richieste HTTP/HTTPS ad oggi non è possibile proteggere i container che invece sfruttano sistemi basati su event streaming.
Integrabilità con soluzioni SSO?
In generale Rond è agnostico al sistema di autenticazione. Questo significa che un SSO lavora indipendentemente da Rond, autenticherà l'utente e produrrà il sistema di autorizzazione (immaginiamo un token, un JWT o qualsiasi altra cosa) e questo sarà utilizzato da Rond per autorizzare le richieste e/o applicare filtri.