Latest / M365.FM – Podcast su Microsoft 365, Copilot e IA in italiano / API Gateway spiegato: routing, sicurezza e rate limiting per i microservizi – ne hai davvero bisogno? (Doppiaggio IA)
Transcript
- 0:00Pronti per 10 giorni di Microsoft 365, Copilot, IA, Azure e per chi plasma il futuro del lavoro e per chi plasma il futuro del lavoro.
- 0:08Questo gennaio, la M365 contorna e sarà ancora più grande.
- 0:12Unitevi a noi per sessioni live, demo reali e conoscenze pratiche da MVP ed esperti del settore di tutto il mondo.
- 0:18Niente slide generiche, niente gergo infinito.
- 0:21Affrontiamo le sfide reali.
- 0:23Copilot Studio, agenti IA, Fabric, Sicurezza, Governance e Automazione e Automazione.
- 0:29Che siate professionisti IT, sviluppatori o leader aziendali, ci sono sessioni pensate per voi.
- 0:35Con 10 giorni interi potrete esplorare molteplici tecnologie e connettervi con una community globale.
- 0:40Seguite in diretta e portate approfondimenti pratici nella vostra organizzazione.
- 0:45Gennaio 2027, 10 giorni, un'unica community Microsoft.
- 0:49Le iscrizioni sono aperte.
- 0:51Andate su m365con.net e assicuratevi il vostro posto oggi stesso.
- 0:55È m365con.net.
- 1:00Iscrivetevi ora su m365con.net.
- 1:02Vi aspettiamo.
- 1:03Live a gennaio.
- 1:05Avete creato un'app funzionante, poi aggiungete un servizio dopo l'altro e gestire il traffico diventa un incubo.
- 1:11Quindi cos'è esattamente un API Gateway e ne avete davvero bisogno?
- 1:14Alla fine di questo episodio capirete cosa fa un API Gateway,
- 1:18perché risolve il caos di gestire più servizi e come sapere se ne avete bisogno.
- 1:21Partiamo dal problema, poi dai componenti e infine da come si integrano.
- 1:27Il problema ha troppe porte.
- 1:29Immaginate di gestire un'azienda in rapida crescita.
- 1:32Avete il team vendita al terzo piano, la contabilità nel seminterrato e le team nella posteriore.
- 1:37Ora, immaginate che ogni singolo reparto abbia la sua porta, il suo numero di telefono e la sua guardia di sicurezza che non parla con le altre.
- 1:43Se siete un visitatore che deve consegnare un pacco, buona fortuna.
- 1:45Dovete sapere esattamente quale porta usare, a quale guardia parlare e cosa fare quando quella guardia è in pausa.
- 1:51È esattamente ciò che accade quando la vostra app ha diversi servizi back-end, ogni client chiama ciascuno di essi direttamente.
- 1:56Il client, che sia un'app mobile, un sito web o un altro servizio, deve sapere dove si trova ogni servizio,
- 2:01come autenticarsi e cosa fare in caso di errore.
- 2:05Ogni singolo servizio deve gestire la propria sicurezza, il proprio rate limiting e la propria gestione degli errori.
- 2:09È lavoro duplicato ed è facile che si creino incoerenze.
- 2:12Vediamo una banca ad esempio.
- 2:14Hanno servizi separati per conti, pagamenti, prestiti e rilevamento frodo.
- 2:17Nel vecchio metodo ognuno è esposto direttamente.
- 2:19Un'app mobile deve conoscere quattro diversi URL, quattro diversi metodi di autenticazione e quattro diverse modalità di gestione degli errori.
- 2:25Si tratta di una complessità quadrupla e di un'area di rischio quattro volte superiore
- 2:29ed è proprio questo il caos che un API Gateway mira a risolvere.
- 2:32Quindi qual è la soluzione?
- 2:34Cos'è un API Gateway?
- 2:35Immagina un API Gateway come la reception di un hotel.
- 2:37Quando entri non hai bisogno di sapere su quale piano si trovi il personale delle pulizie,
- 2:42dove sia la cucina o come contattare la manutenzione.
- 2:44Vai semplicemente alla reception, spieghi cosa ti serve e loro gestiscono tutto il resto.
- 2:48Indirizzano la tua richiesta alla persona giusta.
- 2:50Verificano se hai il permesso di essere lì e gestiscono persino le richieste di base autonomamente.
- 2:54Un API Gateway fa la stessa cosa per il tuo software.
- 2:57È un punto di ingresso unico che si colloca tra i tuoi client e i servizi di back-end.
- 3:01Ogni richiesta passa prima attraverso il Gateway.
- 3:03Il Gateway decide dove inviarla, se autorizzarla e cosa rimandare indietro.
- 3:07Ora, non è un'idea nuova.
- 3:09I proxy inversi esistono da decenni, ma l'AP Gateway è diventato essenziale con i microservizi.
- 3:14Quando dividi la tua app in molti piccoli servizi, ti ritrovi improvvisamente con molte palle.
- 3:17Il Gateway ti offre un unico ingresso principale.
- 3:19Nel mondo Azure, Azure API Management è la piattaforma completa
- 3:22e il Gateway è il componente principale che gestisce il traffico.
- 3:25Tuttavia, il modello è lo stesso ovunque.
- 3:26Un punto di ingresso, controllo centralizzato.
- 3:29Ogni richiesta arriva.
- 3:30Il Gateway la verifica là in strada e invia la risposta.
- 3:33Il client non comunica mai direttamente con i servizi di back-end.
- 3:35Comunica solo con il Gateway.
- 3:36Analizziamo cosa significa realmente.
- 3:39Iniziamo con il compito più basilare, l'estradamento.
- 3:42Parte 1 è l'estradamento del traffico.
- 3:44Il compito più semplice di un'AP Gateway è l'estradamento, ovvero indirizzare ogni richiesta al servizio corretto.
- 3:49Pensa a come funziona un sito web.
- 3:50Quando clicchi su un link, il tuo browser invia una richiesta.
- 3:53Quella richiesta ha un percorso.
- 3:54Se hai percorso i users, i Gateway sa di doverli inviare al servizio utenti.
- 3:57Se è orders, va al servizio ordini.
- 3:59Il Gateway legge il percorso, capisce dove deve andare e lo inoltre, senza un Gateway, i tuoi client devono conoscere l'URL di ogni singolo servizio.
- 4:07L'app mobile ha bisogno dell'indirizzo del servizio utenti, del servizio ordini, del servizio pagamenti, del servizio catalogo.
- 4:12Sono davvero molti URL da gestire.
- 4:14E se uno di questi indirizzi cambia, deve aggiornare ogni singolo client.
- 4:16Con un Gateway i client conoscono un solo URL, l'indirizzo del Gateway.
- 4:20Non importa dove risiedono realmente i servizi, inviano semplicemente la richiesta al Gateway che gestisce tutto il resto.
- 4:26Questo è uno dei casi d'uso più comuni per un API Gateway, il routing basato sulle risorse.
- 4:30La ricerca di Apache Apisix lo menziona esplicitamente.
- 4:32Si instrada in base al percorso, al metodo HTTP agli header, persino alla geolocalizzazione del client.
- 4:37Se qualcuno in Europa invia una richiesta, può instradarlo verso un datacenter europeo.
- 4:41Se qualcuno negli user invia una richiesta e viene indirizzato verso un datacenter uniteno.
- 4:44Il client non sa nulla di tutto ciò che sta accadendo.
- 4:46Ricevi semplicemente una risposta rata.
- 4:48Routing gestisce anche il versionamento.
- 4:49Supponiamo di avere una nuova versione del servizio te.
- 4:51I vecchi client usano ancora Absalash Unelash Users, i nuovi usano Absalash Users.
- 4:55Il Gateway è in strada verso back-end differenti.
- 4:58Vecchi client continuano a funzionare mentre rilasci la nuova versione.
- 5:01Puoi modificare il back-end senza interrompere i tuoi client.
- 5:04È un vantaggio enorme quando gestisci un'applicazione live con utenti reali.
- 5:07Pensa a una piattaforma di e-commerce.
- 5:08Hai servizi separati per catalogo, carrello, checkout e account utente.
- 5:12Senza un Gateway, un'app mobile deve conoscere quattro URL differenti.
- 5:17Con un Gateway ne conosce uno solo.
- 5:19Il Gateway legge il percorso, catalogo, carrello, checkout, account e invia ogni richiesta al servizio corretto.
- 5:25Il semplice routing è la parte facile.
- 5:26Il compito successivo è dove diventa davvero utile.
- 5:29Parte 2 è la sicurezza all'ingresso.
- 5:31Ogni chiamata API deve essere controllata.
- 5:33Chi sta effettuando queste richieste?
- 5:34Hai permessi corretti.
- 5:36Senza un Gateway, ogni servizio deve gestire la propria autenticazione.
- 5:39Ciò significa lavoro duplicato ed è facile sbagliare.
- 5:42Un servizio potrebbe controllare i token correttamente.
- 5:44Un altro è saltare un passaggio.
- 5:45Un altro è ancora usare un metodo del tutto diverso.
- 5:48Finisci per avere una sicurezza incoerente in tutta l'applicazione.
- 5:51Il Gateway cambia tutto questo.
- 5:52Gestisce autenticazione e autorizzazione in un unico punto centrale.
- 5:55Un punto per controllare, uno per applicare, uno per aggiornare quando le policy cambiano.
- 5:59È una delle migliori pratiche di sicurezza.
- 6:00Valida a chiavi API, JWT, token out o certificati su ogni singola richiesta.
- 6:07Ogni richiesta passa attraverso controllo.
- 6:09Nessuna eccezione.
- 6:10Il Gateway può anche applicare delle regole.
- 6:12Puoi dire che questa chiave API può chiamare solo l'inpoint di lettura.
- 6:15Oppure questo client può accedere solo al servizio catalogo, non a quello di pagamento.
- 6:19Definisci i permessi granulari a livello di Gateway.
- 6:21Si applicano automaticamente.
- 6:23I servizi di back-end non devono mai preoccuparsi dell'autorizzazione.
- 6:26Si limitano a elaborare la richiesta e a restituire i dati.
- 6:28Ecco il punto.
- 6:29Il Gateway è un punto unico per revocare l'accesso quando qualcosa non va.
- 6:33Se la chiave API di un client viene compromessa, la revochi sul Gateway.
- 6:36Una sola modifica, defatto.
- 6:37Non devi aggiornare ogni servizio o riavviare nulla.
- 6:40La richiesta successiva con quella chiave viene rifiutata immediatamente.
- 6:43Facciamo un esempio reale.
- 6:44Una banca ha un servizio di pagamento e un servizio di fatturazione.
- 6:46Solo il servizio di pagamento necessita una scrittura al sistema di fatturazione.
- 6:49Il Gateway applica questa regola.
- 6:50Se un client tenta di scrivere nel sistema di fatturazione tramite l'endpoint sbagliato,
- 6:54il Gateway lo blocca.
- 6:55Il servizio di fatturazione non vede nemmeno la richiesta.
- 6:57Il Gateway può supportare anche il TLS reciproco e l'integrazione WAF per una protezione più profonda.
- 7:02Ma in sostanza è la tua prima linea di difesa.
- 7:04La sicurezza è una cosa, ma che succede quando arrivano troppe richieste contemporaneamente?
- 7:08Terza parte, gestione del traffico.
- 7:10Cosa succede quando 10.000 utenti accedono la tua app nello stesso momento?
- 7:14Magari c'è una vendita flash, un lancio di prodotto virale,
- 7:16forse è solo un martedì normale e tutti hanno deciso di accedere insieme.
- 7:20Senza un Gateway, i servizi di back-end vengono colpiti direttamente e potrebbero andare in crash.
- 7:24Non lentamente, tutti insieme.
- 7:26È qui che entra in gioco la gestione del traffico.
- 7:28Il Gateway può limitare il numero di richieste che ogni client può effettuare.
- 7:32Il rate limiting e throttling sono funzionalità standard.
- 7:34Imposti le regole sul Gateway ed è lui da applicarle.
- 7:37I tuoi servizi di back-end non risentrano mai del piccolo.
- 7:39Puoi impostare quote per utente, per chiave API o per indirizzo IP.
- 7:43Mettiamo che tu abbia un piano gratuito.
- 7:44Gli utenti gratuiti hanno 100 richieste all'ora, gli utenti premium ne hanno 10.000.
- 7:48Il Gateway traccia ogni richiesta e applica tali limiti all'ingresso.
- 7:51Se un utente gratuito raggiunge il limite, il Gateway invia un cortese messaggio di riprovare più tardi.
- 7:57Servizi di back-end non vengono nemmeno a conoscenza delle richieste.
- 7:59Continuano a funzionare servendo i clienti paganti.
- 8:02Il Gateway gestisce anche il bilanciamento del calcio.
- 8:04Se hai tue istanze dello stesso servizio in esecuzione, il Gateway distribuisce le richieste tra di esse.
- 8:08Un'istanza riceve una richiesta, la seconda e la successiva, la terza, quella dopo, è tutto automatico.
- 8:14E se un'istanza si blocca, il Gateway installa il traffico su un'altra.
- 8:16I clienti non se ne accorgono mai.
- 8:17Ricevono semplicemente l'orologo.
- 8:19Bilanciamento del carico con controllo integrità mantiene tutto fluido.
- 8:22Il Gateway esegue il ping di ogni istanza per assicurarsi che si attiva.
- 8:25In caso contrario smette di inviare traffico verso quella destinazione.
- 8:27Questo è particolarmente importante per le api ad alto traffico.
- 8:29Senza il Gateway, un picco di traffico colpisce direttamente i tuoi servizi.
- 8:33Con il Gateway, il picco colpisce prima il Gateway, che lo assorbe, lo distribuisce e protegge i tuoi servizi dal sovraccarico.
- 8:40D'accordo, ma cosa succede se i dati non sembrano corretti a loro arrivo?
- 8:44Parte 4. Trasformazione dei dati.
- 8:47A volte i dati inviati dal client non corrispondono a ciò che si aspetta al backend.
- 8:50Magari il client invia JSON, ma il tuo backend comprende solo XML.
- 8:54Magari i nomi dei campi non coincidono.
- 8:55Il client usa First Name e il tuo backend si aspetta nome.
- 8:58Queste discrepanze causano error.
- 9:00Nel vecchio metodo, avresti dovuto correggere ogni singolo client o riscrivere il backend.
- 9:05Il Gateway può trasformare i dati prima che raggiungano il backend.
- 9:08Consideralo come un traduttore.
- 9:09Si posiziona nel mezzo e può modificare i dati in entrata, in uscita o in trame.
- 9:13Questa è la trasformazione di richieste e risposte in sintesi.
- 9:15Lascia che ti faccia un esempio reale.
- 9:17Immagina di avere un sistema legacy che si aspetta XML.
- 9:19E in funzione da 15 anni funziona bene.
- 9:22Ma ora stai creando una nuova app mobile.
- 9:23L'app mobile parlano JSON.
- 9:24Senza un Gateway dovresti riscrivere il sistema legacy o costringere l'app mobile a inviare XML.
- 9:29Con un Gateway non devi fare nessuno delle due.
- 9:31L'app mobile invia JSON.
- 9:33Il Gateway lo converte in XML.
- 9:34Il sistema riceve ciò che si aspetta.
- 9:36L'app mobile riceve una risposta già in JSON.
- 9:39Nessuno ha dovuto riscrivere nulla.
- 9:40Questa è la bellezza della cosa.
- 9:41Il Gateway può anche aggiungere o rimuovere intestazioni, cambiare URL o mascherare i dati sensibili.
- 9:46Immagina che una risposta includa un numero di carta di credito.
- 9:48Non vuoi che torni al client.
- 9:50Il Gateway può rimuoverlo prima che la risposta parta o sostituirlo con una versione mascherata.
- 9:54Il back-end non deve mai cambiare.
- 9:56Senza quel Gateway.
- 9:57Questo è particolarmente utile quando stai modernizzando vecchi sistemi.
- 9:59Non devi riscrivere il back-end.
- 10:01Non devi costringere client a cambiare.
- 10:03Devi solo modificare il Gateway.
- 10:04È come un traduttore a una conferenza internazionale.
- 10:06Ognuno parla la propria lingua ma il traduttore assicura che tutti si comprendano.
- 10:10Il Gateway è quel traduttore per il tuo software.
- 10:12Quindi routing, sicurezza, trottini, trasformazione, motocamia a fuoco.
- 10:15Ma non sono quattro cose separate.
- 10:17Lascia che i mosi si collegano.
- 10:19Ne si collega tutto.
- 10:20Ecco il punto.
- 10:21Questi quattro compiti non sono separati.
- 10:22Lavorano insieme su ogni singola richiesta ogni volta che ne arriva una.
- 10:26Gateway verifica l'autenticazione.
- 10:28Convalida il limite di frequenza.
- 10:29Indirizza verso il servizio.
- 10:31Trasforma i dati se necessario.
- 10:33Riceve la risposta.
- 10:34Trasforma anche quella se serve.
- 10:36Poi rimanda tutto al client.
- 10:37Non solo al pipeline.
- 10:38Ogni passaggio avviene automaticamente.
- 10:40In ordine.
- 10:41Senza che alcun servizio debba preoccuparsene.
- 10:42Il vero potere non risiede in una singola funzione.
- 10:44È l'integrazione.
- 10:46Puoi aggiungere una nuova policy di sicurezza senza toccare routing.
- 10:49Il servizio di back-end senza modificare il client.
- 10:51Puoi aggiornare i limiti di velocità senza ridistribuire nulla.
- 10:54Ogni pezzo è indipendente ma lavorano tutti nella stessa pipeline.
- 10:58E poiché tutto passa da un unico punto.
- 10:59Tiene una visibilità completa di ciò che accade.
- 11:02Log, metric, analisi.
- 11:03Tutto da un unico punto.
- 11:05Puoi vedere quante richieste sono arrivate.
- 11:06Quali hanno fallito.
- 11:07Quali erano lente.
- 11:08Quali client usano più risorse.
- 11:10Senza un gateway dovresti raccogliere quei dati da ogni singolo servizio.
- 11:13Con un gateway tool.
- 11:15Questa è la grande intuizione.
- 11:16Il gateway non è solo un router.
- 11:18È un centro di controllo per l'intera piattaforma API.
- 11:20Ogni richiesta, ogni risposta, ogni errore, tutto fluisce attraverso un unico punto.
- 11:24Hai un unico pannello di controllo per tutto ciò che accade.
- 11:26Quindi, come si usa davvero?
- 11:28Parliamo di cosa puoi fare concretamente fin da ora.
- 11:30Consigli e pratici.
- 11:31Siamo realisti.
- 11:32Se hai uno o due servizi, probabilmente non hai ancora bisogno di un API gateway.
- 11:35Puoi gestire il routing da solo, gestire l'autenticazione di un servizio.
- 11:38Non è elegante ma funziona.
- 11:40Ma nel momento in cui arrivi a tre servizi e osponi API a client esterni, la complessità aumenta rapidamente.
- 11:46Il gateway si ripaga velocemente.
- 11:47Quella è la tua migliore prima mossa.
- 11:48Centralizza l'autenticazione nel gateway.
- 11:50Fallo prima di ogni altra cosa.
- 11:52Scegli un servizio.
- 11:52Sposta il suo controllo di autenticazione sul gateway.
- 11:54Noterai subito che il codice del tuo servizio diventa più pulito.
- 11:57Basta la logica di convalida dei token sparsa ovunque.
- 12:00Niente più dubbi se l'hai implementata allo stesso modo in ogni servizio.
- 12:03Il gateway la gestisce una volta e ogni servizio ne trae beneficio.
- 12:06Prossimo passo, il rate limiti.
- 12:09Anche un limite semplice protegge il tuo backend dal sovraccare.
- 12:11Inizia con qualcosa di base, come 100 richieste al minuto per client.
- 12:14Questo impedisce a un client fuori controllo di mandare in tilt i tuoi servizi.
- 12:17Puoi parlare.