Gitbar logo

Gitbar Italian developer podcast

Conversazioni sullo sviluppo software fatte davanti a una birra.

copertina episodio

Traefik con Sergio Matone (c3lx)

Stagione 4 Episodio 144 Durata 01:29:59

Questa settimana parliamo di Traefik con un super ospite nonchè traefik ambassador, Sergio Matone.
Cosa è traefik? Secondo ChatGPT…

Traefik è un router HTTP reversibile open-source e un load balancer per microservizi. Viene utilizzato per gestire le richieste in ingresso a un’applicazione o a un servizio, indirizzandole al backend appropriato in base alla configurazione. Traefik supporta diverse configurazioni di backends, tra cui Docker, Kubernetes, e altri, e può essere facilmente integrato con servizi come Let’s Encrypt per la gestione automatica dei certificati SSL. Inoltre, Traefik offre un’interfaccia web di amministrazione e una serie di metriche di monitoraggio per aiutare gli amministratori di sistema a monitorare e ottimizzare le prestazioni dell’infrastruttura.

Sergio

https://www.qua-app.com/
https://twitter.com/sw360cab
https://dev.to/sw360cab
https://www.linkedin.com/in/se…

Supportaci su

https://www.gitbar.it/support

Paese dei balocchi

Link amazon affiliato

https://amzn.to/3XDznm1

Contatti

@brainrepo su twitter o via mail a info@gitbar.it.

Crediti

Le sigle sono state prodotte da MondoComputazionale
Le musiche da Blan Kytt - RSPN
Sweet Lullaby by Agnese Valmaggia
Monkeys Spinning Monkeys by Kevin MacLeod

Trascrizione

Bene e benvenuti su Gitbar, nuova settimana e nuovo episodio qua sul nostro bar dei sviluppatori.

Il nuovo anno ormai sta scorrendo, diciamo che la parte di abbrivio è ormai passata e siamo bene che pronti per questa nuova puntata di Gitbar.

Ma prima di partire e di annunciarvi, di presentarvi il nostro ospite, il mio ruolo, sempre quello un po' palloso, abbiate pazienza, è quello di ricordarvi i nostri contatti.

Info che io ho la gitbar.it via email o at BrenRepo su Twitter.

Mi sta girando per la testa l'idea di creare un'istanza Mastodon, però non lo so, non vorrei depotenziare il gruppo Telegram, quindi se su Twitter non ci scrivete va bene, poco male perché c'è il gruppo Telegram, siamo in tantissimi, siamo in 1175 e ci incontriamo la per dire la nostra su tante cose.

Abbiamo parlato oggi di, tanto per cambiare naturalmente, di tastiere meccaniche, di chat gpt, abbiamo parlato di post gre, multimaster, quindi insomma trovate un po' di robette, buttateci un occhio al nostro gruppo Telegram che trovate su Telegram scrivendo Gitbar, ce n'è solo uno di bar versionato e siamo noi.

Detto questo, cazzate a parte, io direi che possiamo andare alla ciccia del nostro episodio e presentarvi il nostro ospite.

Benvenuti su Gitbar, il podcast dedicato al mondo dei full stack developer, i mezzo artigiani, i mezzo artisti che ogni giorno infilano le mani nel fango per creare nel modo più efficiente possibile quei prodotti digitali che quotidianamente usiamo.

Viene dal mondo dello streaming video, ha un passato remoto sullo streaming video, ma oggi è un DevOps engineer e anche organizzatore del meetup CNCF di Torino, ma soprattutto, anche se ma soprattutto non si dice, è un traffic ambassador.

Abbiamo con noi Sergio Matone, ciao Sergio! Ciao Mauro, ciao, grazie mille per avermi, avere qua a me al Gitbar, ovviamente sono un po' emozionato e inizio a parlare in modo totalmente sgrammaticato.

No guarda, mi frega anche a me, sai quante volte mi viene da dire grazie per avermi qui, che in italiano suona malissimo, ma io lo so, tu lavori in inglese perché il thanks for having me o qualcosa del genere si usa spessissimo.

Esattamente, il secondo problema è farsi venire in mente l'equivalente di una parola inglese in italiano e perderci magari mezza giornata e ricordarsi cavolo in italiano si dice così, ma dovrei saperlo.

Ma guarda, ormai fregatene, io ho abbassato in questo podcast il livello dell'utilizzo delle parole, è talmente in basso che proprio qualunque persona entri e spanne in alto di me, quindi stai serenissimo.

Farò dei pensierini come si diceva all'elementare, frasi corte e concise per non dire troppe stupidaggini.

Comunque no, mi fa veramente piacere unirmi a voi e come ti ho raccontato quando mi hai mandato l'invito è veramente interessante che un sacco di persone che han partecipato sono persone che o conosco personalmente oppure le ho viste a conferenze, ci ho parlato, ho avuto a che fare in passato e questa cosa mi fa sempre ridere perché il mondo alla fine è piccolo.

Esatto, allora partiamo proprio dalle parole no? Come gli ascoltatori ben sanno, io metto accenti a caso e il vivere in Francia poco mi aiuta in questo, nel senso che siccome ne hanno tanti io proprio li butto là in mezzo dove non conta.

Quando per la prima volta vedi Traffic scritto mi venne da dire e mo' come la pronuncio sta parola? Poi ho scoperto in realtà che il creatore o almeno il first committer, non saprei come dirlo in italiano, è francese e quindi a questo punto mi sento in diritto di dire Traffic, però tu mi hai bacchettato in pretrasmissione quindi la possiamo spiegare sta cosa? Perché è un aneddoto super super carino.

Ma diciamo che allora chiamiamo i francesi su questo sono molto simili agli italiani, si devono complicare la vita su questo sicuramente.

Ho una aggiunta che sono un po' più picchi degli italiani.

Questo l'hai detto tu e comunque accettano anche molto meno il compromesso degli italiani possiamo dire.

Come sai essendo io di Torino e avendo la Francia così vicino c'è un amore smodato che ci lega agli uni agli altri, proprio smodato.

Detto questo perché ho detto si sono complicati la vita perché Traffic, la pronuncia che sarebbe giusta è questa qua Traffic, come se dicessimo Traffic in inglese, è scritto con questa lettera strana che sembra una E e comunque in realtà la provenienza è l'alfabeto fonetico.

Quindi loro volevano fare questo giochino perché i francesi avrebbero detto Traffic allora usando questa scamotage avrebbe dovuto aiutare il francese a non pronunciarlo così.

Poi probabilmente non è andata così bene perché penso che i francesi continuino a pronunciarlo Traffic e tutti i non francesi che lo vedono dicono ma come cacchio si legge questa parola.

Esatto! Quindi diciamo che facciamo la long story short diciamo pronunciatelo come volete va bene tutto vale tutto mettiamola così.

Ok ti voglio fare un'altra domanda ancora prima anzi step back andiamo subito al sodo che cos'è Traffic? Allora che cos'è Traffic? Traffic è tante cose partiamo da un passo indietro Traffic è un'azienda che ha vari prodotti e tra questi il più noto di tutti è quello che si chiama Traffic Proxy.

Perché ti dico questo? Perché di nuovo nel discorso di prima di complicarsi la vita il primissimo prodotto di Traffic dell'azienda che adesso si chiama Traffic Labs che si chiamava in un altro modo containers era Traffic poi però sono usciti altri prodotti che si chiamavano tutti Traffic a quel punto non sapevano più come far capire alla gente che per Traffic comunque sottintendeva Traffic Proxy.

Quindi dopo essersi ulteriormente complicati la vita han deciso che l'azienda si chiama Traffic Labs e tutti loro il prodotto che tutti chiamano Traffic si chiama Traffic Proxy quindi quando senti in giro dire io uso Traffic il 99% dei casi direi anche virgola 9 è Traffic Proxy.

Quindi noi stasera infatti parleremo effettivamente di Traffic Proxy.

Traffic Proxy ha il proxy nel nome e di fatto lo è ma sostanzialmente è un edge router cioè è un oggetto che va messo di fronte a tutta la nostra infrastruttura.

Sta davanti alla nostra infrastruttura.

Quindi il discorso di Reverse Proxy che sarebbe la prima cosa che ci verrebbe in mente parlando di proxy è vero e non è vero.

Cioè è vero che è un Reverse Proxy però è un qualcosina di più perché Traffic Proxy sicuramente guarda molto al cloud mentre altri competitor nascono come Reverse Proxy on premise o comunque in architettura molto che partono tantissimi anni fa e poi si adattano al cloud.

Quindi su questo c'è mettere proprio un accento fortissimo.

Esatto mettiamo un punto e ritorniamoci su questa cosa perché una cosa che ho visto confondere parecchio è proprio tirare una linea di distinzione tra ciò che è un web server ciò che è un Reverse Proxy e ciò che è un Edge Router.

Come li discriminiamo? Perché sembrano un po' tutti che fanno la stessa cosa ma uno è un po' più rosso e uno un po' più bianco.

Io diciamo forse su Traffic si è meglio mettere l'accento sull'Edge Router perché parliamo di architetture ma per il resto non sarei così binario cioè nel senso dipende dallo use case facciamolo facciamolo facile però dipende dall'use case poi si traduce nel fatto che a seconda di cosa devo fare che io devo fare un web server mi serve un Reverse Proxy o mi serve un Edge Router c'è qualcuno che lo fa meglio di qualcun altro.

Cioè faccio un esempio ci sono dei competitor che fanno benissimo il web server diventano degli ottimi Reverse Proxy magari se li mettiamo a fare gli Edge Router vanno anche bene però però meglio non dico meglio.

Poi ci arriviamo su quel punto perché è interessante ed è immagino una delle killer feature di Traffic.

Poi in realtà Traffic fa tante altre cose cioè fa API Gateway può essere Kubernetes ingress file TLS manager può fare tante cose però poi quando andremo un po' a parlare di più ti dirò due o tre cose che ti faran suonare il campanellino su perché lui sì e altri un po' meno.

Sì sono curioso di arrivarci quindi in parte mi hai risposto anche a una domanda un po' bastardella che volevo farti subito dopo che era Traffic è uno dei più recenti risale 2015 2017 adesso non saprei dove mettere il punto esatto nella barra del tempo ma più o meno siamo là e quindi la mia domanda era ma c'era davvero bisogno di Traffic avendo da una parte Nginx avendo HAProxy? Sì sì ma questa cosa che chiedi è sicuramente la domanda e io ti dico ti rispondo diciamo con un po' la mia filosofia cioè io non sono mai bianco e nero noi lavoriamo cioè il mondo della tecnologia dello sviluppo comunque sempre molto fatto di persone non chiamiamo non tiriamo in ballo paroloni però persone molto come dire autoritarie no cioè o questo o il resto fa schifo a me questo discorso non piace cioè venirmi a dire io preferisco quel linguaggio a il mio linguaggio che uso io se fai un for di 100.000 cicli è molto più performante del tuo può essere però il mio linguaggio è più adatto a fare alcune cose e se tu scrivi un programma schifoso col tuo linguaggio super performante stai tranquillo che col mio linguaggio che a te fa schifo magari scrivo meglio se sarà più leggibile e magari alla fine sarà anche più mantenibile del tuo linguaggio super figo.

Guarda te lo sottoscrivo proprio col sangue non a caso sono uno sviluppatore javascript e quindi non potrei fare altrimenti no ma su questo è una cosa che ho già detto nel podcast ho fatto una riflessione profonda proprio su questo concetto e secondo me proprio questo tipo di posizione viene dal fatto che il nostro ecosistema è veramente vastissimo, smisurato, immenso per cui è quindi fuoriero di grandi quantità di carico cognitivo ok? Non possiamo sapere tutto.

Come tendiamo a difendere e questo ci disorienta in qualità di essere umano no perché vorremmo avere il controllo su tutto no? O almeno conoscerlo.

Il modo che abbiamo per difenderci da questa cosa è quello di prendere posizione e dire il mio linguaggio è il migliore di tutti gli altri, lo uso per tutto ed è così punto e basta non si discute spesso adducendo anche delle motivazioni poco plausibili ma questo lo facciamo tutti e me compreso io sono il primo quindi capisco bene quello che mi vuoi dire proprio partendo da questo punto io voglio chiederti se dovessimo immaginare uno lo use case perfetto per traffic o traffic o perdonami lo dirò in tutti i modi oggi.

Dillo come vuoi non c'è sei liberissimo e io non me la segnerò neanche una volta secondo me sicuramente lo use case perfetto è uno use case di un ambiente cloud di un'infrastruttura cloud in cui noi abbiamo necessità di ti faccio lo use case più semplice possibile container tu hai gli stessi container che vuoi esporre sulla tua porta 80 però su domini diversi con traffic sono quattro linee e auto è proprio la cosa out of the box quindi per dirti non andiamo a metterci diciamo nel tunnel di kubernetes che sicuramente e anche lì traffic ha fatto un lavoro mastodontico gli stan dietro ai cambi di pi però docker c'è proprio lo use case della persona che ha un'infrastruttura orchestrata o non orchestrata anche un docker compose semplicissimo voglio avere più container esporre la stessa porta traffic funziona voglio avere tls senza avere servizi che gestiscono i certificati ce l'ho out of the box questi sono cioè io il tls manager e il avere la possibilità di esporre la stessa porta con servizi di tipo eterogenei secondo me sono le due key feature base per capire traffic secondo me è lo stesso nel senso che proprio è uno use case tanto comune e tanto complesso che alla fine ci si incasina e vi racconto questa cosa ti racconto questa cosa io ho una macchinetta con tanti bei container no e avevo il vizio di aprirmi i vari servizietti su porte diverse però mi capitava anche per il podcast di aver bisogno di più robe con domini diversi sulla porta 80 ed è un casino trovare il modo per farlo fai con nginx si ma devi fare devi disfare mille casine alla fine ho utilizzato una soluzione che era quella di doku non so se lo conoscete è un heroku che ti installi sulla tua macchina virtuale e praticamente funziona allo stesso modo però la cosa interessante che ti ha fai vari end point non so cosa usi sotto il cofano ma perché ci stai facendo venire i brividi comunque con questa esperienza si lo so no ma ci sta e fa parte del gioco io io poi no te lo dico chiaro io poi ho tirato su il mio piccolo clasterino su digital ocean quindi un bel clasterino con kubernetes però ragazzo mio c'è la macchina su digital ocean mi veniva 5 dollari il cluster me ne veniva 35 così come l'avrò fatto e per tirar su il servizio è un servizietto che veniva chiamato tipo due volte a settimana era un po overkill perché c'è questo questo use case io ti posso fare il contro esempio che è una cosa simile con quattro servizietti web e altre cose su domini diversi con traffic con un docker compose semplicissimo li ho fatti girare su una ec2 taglio small di amazon quindi sì ma volevo arrivare proprio là tra l'altro per prepararmi in questa chiacchierata io traffic non lo conoscevo quindi me lo son guardato un po per non dire troppe cazzate anche se li dirò sicuramente però ho visto tipo che se io metto un tag nel docker compose non so come si chiami cioè alla fine è una label sì è capace di fare discovere anche così cioè amico mio a questo punto non ho più bisogno di docu e questa cosa mi ha ti dico la verità mi ha piacevolmente entusiasmato no e quindi proprio partendo da questo mi piacerebbe andare un po so a scavare un attimino e voglio partire dal TLS manager ok io ho avuto modo di configurare Let's Encrypt che ormai è diventato tipo il nostro provider standard per i nostri POC per avere dei certificati gratis ok su Nginx in realtà un po un po di capriole l'ho fatta e come lo semplifica l'installazione di nuovi certificati Traffic? Ma allora guarda è molto molto interessante io ti direi come posso dire Traffic sostanzialmente ti permette anche lì di configurare proprio in modo testuale col suo configuration file l'utilizzo di Let's Encrypt facendogli sostanzialmente facendolo creando uno storage un file di storage interno allo storage che tu userai che può essere su docker su kubernetes poi dovremmo fare un passo indietro nel senso che Traffic astrae il concetto di cosa stai usando quindi noi adesso oggi probabilmente per semplicità potremmo parlare di docker per non andare a infilarci i ridicoli.

Poi infatti ho una domanda su quello però rimaniamo semplici però ti voglio dire c'è il concetto di provider e anche questo lo spiegherò un po più avanti però per per fartela semplice una delle cose più belle che ha Traffic è che si può configurare sullo storage adesso usiamo la parola così in modo anche qua stratto di riferimento il salvataggio del file json che viene utilizzato da Let's Encrypt e quindi per farne sia il challenge e sia poi il rinnovo ma c'è una funzione ancora più bella e questa diciamo è un po più sulla carta perché poi vi spiego anche perché che con determinati provider e sono tanti usando una libreria di Go perché ricordiamo che Traffic Proxy assieme a Docker e Kubernetes e chi più ne ha più ne mette quindi tutti i prodotti un po diciamo cloud oriente ed è scritto in Go.

Traffic Proxy usa una libreria di Go per far sì che con i provider moltissimi provider di DNS più famosi facendo una determinata configurazione dal dominio riesce automaticamente a farvi il rinnovo cioè lui si fa tutti i challenge col DNS e voi non dovete più pensare a niente.

Questo sogno lo dico già per non fare che se no poi sembra che Traffic sia la casa del mulino bianco dov'è che un po si infrange? Si infrange su due problemi uno se voi non avete il vostro provider non è tra quelli supportati da Traffic ergo dalla libreria e questo è un primo problema.

Il secondo come nel caso che è successo a me se voi avete due domini che sono su due provider diversi e lì la cosa è di nuovo fattibile ma inizia a diventare un pochino complicata e quindi eviterei di andare oltre però come ti ho raccontato prima e questo messaggio mi interessa tanto che passi la cosa bella di Traffic e di come abbiamo già iniziato a parlarne è che c'è molto out of the box ed è molto di più io faccio l'esempio della tecnologia che spesso l'amico ti dice ah l'ho provato, ah si cos'hai provato, ah c'è il getting started nella terza pagina del sito, ah bello per questo use case, ah beh non l'ho provato, lo provi non va, vabbè proviamo a metterci le mani dopo tre ore dopo dici mi arrendo, lo odio e non lo voglio mai più vedere con Traffic non è che non succeda questa cosa può succedere però è molto più facile che funzioni tutto anche dopo pochi minuti che avete configurato quindi io consiglio vivamente l'hands on su Traffic proxy perché è veramente divertente vedere come funziona tantissimo out of the box.

Volevo chiederti un'altra cosa interessante.

Scusa Mauro pensavo ti fossi bloccato perché volevi volevi chiudere qua il podcast e iniziare a lavorare su Traffic proxy.

No volevo chiederti un'altra cosa interessante mi son bloccato in realtà perché sto ragionando su una cosa una delle delle robe che viene venduta in senso largo viene utilizzata come killer feature quando si parla di Traffic è lot reload possiamo parlarne un attimo di questa cosa? Assolutamente questo è Traffic allora una cosa non mi ricordo se l'abbiamo detto noi questa sera chiameremo Traffic in senso generico ma è bene ricordare che parliamo di Traffic proxy perché storicamente Traffic labs che una volta si chiamava in un altro modo ha creato questo oggetto che era Traffic che gli esplose in mano cioè ha avuto un successo clamoroso funzionava benissimo dopodiché hanno provato a fare altri prodotti ma erano identificati sempre come Traffic quindi noi parliamo di Traffic proxy che è proprio quello da cui è nato l'azienda Traffic labs però nel 90 anche qua 90 per cento dei casi lo sentirete sempre chiamare Traffic e anche stasera diremo Traffic mentre diamo Traffic proxy.

Dovuta a questa premessa ti dico la cosa che hai detto giustamente tu cioè la figata totale per mettermi il termine che c'è dietro Traffic proxy è proprio quella che hai detto tu cioè la possibilità di configurare dinamicamente e avere una configurazione dinamica che sostanzialmente si può cambiare n volte e il servizio non deve essere mai mai riavviato cioè o tre load perché lui si riadatta man mano che salgono nuovi container tolgono nuovi container voi non riavvierete mai Traffic proxy container stand alone quello che state usando non lo dovrete mai pod quello che è non lo dovrete mai riavviare lui sarà sempre in grado di in modo resiliente adattare l'orchestrazione che lui sta facendo dei ledger routing usiamo poi i termini giusti dei servizi che ci sono dietro e come lo fa lo fa perché quello che dicevamo prima al concetto di provider che a seconda dei provider che loro supportano quindi sono le astrazioni di Docker Kubernetes console nomad metteteci ce ne sono parecchi c'è anche quella proprio base file a seconda di questa strazione lui parla con l'engine di turno Docker engine Kubernetes control plane parla con questi elementi via API e con le API lui si prende gli eventi e sa aggiornare in modo dinamico e hot proprio quello che hai detto tu con lo tre load aggiorna la configurazione la tiene la tiene su e questo questo è veramente molto molto bello e utile soprattutto esatto dando un'occhiata a Traffic ho visto proprio questi concetti no ho visto il concetto di configurazione statica di configurazione dinamica vi sono inciampato nel concetto dei provider dei routers dei services dei load balancing dei middleware ce ne sono parecchi su questo ho una bold opinion poi la condividiamo dopo e ci proviamo a riflettere su questa cosa però una cosa interessante è proprio che ho trovato veramente figa è proprio quella della configurazione della configurazione io la chiamo dinamica non so se la chiamo dinamica si chiama dinamica non sei tu ma tutti da una parte da una parte c'è un router che deve andare a trasferire del traffico verso un microservizio piuttosto che un altro un micro macro servizio piuttosto che un altro ok e però la topologia dei servizi la posizione il numero le robe dei servizi possono cambiare e quindi l'idea di avere un sistema che senza il restart possa servire questa cosa è servire sistemi diversi servizi diversi è molto figo come funziona sta cosa nel senso che adesso sto banalizzando c'è tipo un timer che refrescia il load della configurazione o ma guarda per spiegartelo in modo molto semplice veloce parto da quello che hai detto all'inizio del appena prima cioè hai parlato dei nomi entry point provider router service sono tanti concetti in realtà poi non sono neanche così tanti cioè quelli che tu hai elencato prima sono praticamente tutti i concetti che ci sono dentro traffic proxy già se noi non lo so ci approcciamo a kubernetes serve un piccolo quadernetto per farsi il glossario e poi probabilmente è diventato deprecata quella risorsa quindi c'è peccato che ho imparato cosa significa se quel nome invece perché ti ho detto questo perché hai detto un'altra cosa molto giusta e parlato di configurazione dinamica dall'altro lato della configurazione dinamica c'è la configurazione statica che sostanzialmente la potremmo definire quello che so perché è quello che so perché la configurazione statica c'è dentro che tu hai provider che tu sai che stai usando docker o se stai usando kubernetes o se stai usando nomad o quello che stai usando e ti interessa usare e gli entry point sostanzialmente chiamiamo le porte verso il mondo che tu vuoi vuoi che traffic faccia vedere poi bisogna dire nel caso di docker questa cosa vuol dire anche e adesso la spieghiamo perché vuol dire anche sostanzialmente mappare il demone di docker ma spiego subito perché perché tutti gli altri concetti di cui hai parlato va nella configurazione dinamica e come facciamo come si spiega questa cosa qua che la configurazione statica è quella che sta tra virgolette dentro traffic cioè la configurazione di traffic e quindi è quella che si intende che non dovrebbe mai cambiare o che comunque se cambia noi dobbiamo riavviare traffic che sia un container un pod quello che facciamo adesso ripeto non mi imbatto in kubernetes perché andiamo a ingine priori ma neanche docker o il container che gira tra che fa girare traffic proxy quello lì non dovrebbe mai essere riavviato e quello lì dovrebbe contenere la configurazione statica diversamente tutta la parte dinamica cioè tutta la parte hot reload va dentro la configurazione dei singoli container che vogliono essere esposti e la cosa carina di docker per esempio è che traffic nella sua configurazione statica quando io gli dico che io uso come provider docker lui mi chiede fondamentalmente due cose di base se uso swarm quindi se un orchestratore o se ho il mio docker compose semplicissimo e l'altro punto base è se di default tutti i container dentro la mia topologia sono esposti o meno se non sono esposti cosa che è quella diciamo che potrebbe essere suggerita io ad ogni singolo container che voglio esporre vado aggiungere la configurazione dinamica che nel caso di docker sono delle label sono delle chiamiamole chiave valore chiamiamole così il concetto che comunque è peculiare di docker ci sono queste label a cui io aggiungo in modo testuale nel mio docker compose tutte le caratteristiche dinamiche e a quel punto io tiro su solo quel container cosa succede quindi che fondamentalmente il container di traffic che sempre su va in polling facciamolo semplice anche qua va in polling sul docker engine e sta in ascolto su tutti gli eventi che avvengono quando avviene l'evento container creato quell'evento sarà corredato di alcune informazioni che potrebbero essere quelle che noi facciamo con docker inspect che sono le caratteristiche che porta con sé i metadati diciamo che porta con sé quel container created event se lui trova le label il gioco è fatto ma tutto quello che c'è da fare per rendere visibile attraverso un entry point che quindi era una porta che lui ha definito all'inizio dei tempi fa la corrispondenza tu tutte tutte questi questi concetti se non attivo il microfono probabilmente di parlare a bambe no ti faccio una domanda questa è una propria curiosità mia personale io mi faccio la configurazione statica come abbiamo come hai appena detto quindi dico che un entry point che la porta 80 del benissimo e quindi aperta o la porta https 443 e a questo punto io ho il mio entry point e decido di tirar su tre container ok uno è un'applicazione node uno è un'applicazione go facciamo due per semplicità la prima che tiro su è l'applicazione node e la voglio mappare nella fo per semplicità nella folder pincopallo il mapping a quella folder lo faccio nel file di configurazione statica no perché lo faccio a posteriori no lo faccio sulle label esatto proprio sulle label quindi non devo creare un altro file buttaglielo dentro e digli mappa me lo la no tu nel tuo nel tuo la tua configurazione traffic che poi può essere tranquillamente un file yaml o tomal che è il linguaggio di sostanzialmente tipo lini in scritto da traffic però è uno yaml che ti va a dire cosa farà traffic quindi che provider user ha che porte e sport c'è a che porte si aggancerà quindi che porte sporrà basta lui potresti metterci 600 container 1 2 attraverso un pat a attraverso due domini di pat a e pat b dello stesso dominio attraverso tre domini diversi lui da quella configurazione lì che tu hai del tuo con del tuo container traffic proxy non lo saprà mai non lo dovrai mai cambiare lo dovrai domanda sì no questo è chiaro io vorrei lancio subito quella domanda perché adesso i punti interrogativi se non la tecnologia tipo escono poi arrivò un punto che non so più rispondere ma non guarda sono sicuro che sai rispondere a tutte a tutte le mie domande no ti faccio l'esempio hai parlato di domini no quindi abbiamo risposto alla questione del docra però parliamo di domini se io invece dovessi avere un nuovo dominio mi basta mappare nel dns di puntare a quel server e tutto funziona o devo smanazzare e la domanda successiva è con i certificati come funziona alla giunta di un nuovo dominio questa è la domanda tipo più difficile che ti posso fare esatto allora qua come dire potrebbe anche cascare il latino diciamo però proviamo a andare per step o un dominio un dominio deve puntare a un container cioè deve noi vogliamo che punti a un servizio della nostra topologia quindi diciamo un diciamo un container per farla semplice ma sarebbe un servizio e ha una porta quindi un nome dominio una porta o un nome dominio una porta un pat per quel che riguarda la porta chiaramente facciamola anche qua semplice diciamo che noi in questo caso stiamo giocando esponiamo tutto verso il suo 80 o su 443 quindi lavoriamo su http e su https mettiamola mettiamola semplice poi potremmo anche esporre non so nella stick search sulla 9200 anche fare un problema però non mettiamo troppa carne al fuoco allora tu nel con le tue label gli dirai ricordiamoci noi abbiamo definito nel container di traffic che porta avevamo esposto quindi abbiamo semplicemente detto 8443 questo per adesso vogliamo questo e ne vogliamo altri beh si a quel punto riavviamo traffic proxy va bene però questo è assodato nel tuo invece container di servizio il tuo servizio nodo così tu andrai a dire traffic dove deve rutarti il traffico nel caso che ci sia gli dici quale entry point usi quindi su quale porte tutti aspetti le chiamate e potrei usare solo gli entry point definiti nel nella tua configurazione statica chiaramente perché se non abbiam detto devo riavviare gli andrei a dire a che host lui risponde puoi rispondere a 1 a n regular expression quello che vogliamo e poi puoi corredarlo di altre informazioni tipo un pat e via dicendo tutto questo è hot cioè io l'ho definito il mio servizio che che ho creato in quel momento è chiaramente il dns che tu vai a configurare semplicemente gli metti il lp pubblico diciamo della tua topologia su cui però in ascolto c'è traffic non c'è il tuo servizio ok quindi questo deve essere molto chiaro cioè traffic sarà perché è un eleggere alter perché legge dell'infrastruttura c'è lui il la nostra no il nostro firewall chiamiamolo in modo sbagliato cioè il nostro nostro demi nel demi terai zed zone cioè usando cose che non c'entrano niente però per far capire il nostro bastion e traffic invece discorso domini certificati si è un po più complicato perché a quel punto lì sappiamo già che i certificati già giocarci è una roba un po più complicata perché scusate dominio certificato poi succedono cose allora diciamo che se io uso uno dei provider e non sono pochi provider dns che accetta traffic nessun problema di nuovo se uso lezzen crit e il mio lui dovrebbe fare challenge dns se no a me è successo tante volte e lo dico proprio mi metto a nudo diciamo mi è successo di generare io i certificati lezzen crit col challenge dns col mio col mio script a parte se non c'entra niente con traffic gli ho associati allo storage di traffic e ho riavviato traffic proxy e qui quindi poi è cascato l'asi normalmente però diciamo sicuramente lo use case dei certificati è quello che se non è un po più difficile da avere tutte le condizioni che si creino tutte le condizioni ideali per cui io diventa plug and play questo questo mi sento di dirlo proprio tranquillamente però la cosa bella è che quei certificati con magari ecco io io perché lo faccio a mano perché io ho più domini di provider diversi e molti di questi non sono gestiti automaticamente da da da traffic dns challenge allora io mi faccio il mio dns out of service fuori da da traffic mi genero i certificati poi li cambio sotto il sederino però ho 30 servizi che in un colpo solo non ha aggiornato nessuno di loro io ho aggiornato solo quei due certificati lì quei quella chiave scusa quel certificato e quella sia e ho finito e quindi quindi sì quei certificati ti dico è un po meno semplice dipende inizia la risposta lì inizia a diventare dipende che è una risposta sempre molto c'è un po un po troppo politica lì correcte ma ma è la risposta giusta sempre no guardavo guardavo la lista dei dns non sono pochi non sono pochi sì sì c'è anche vultr che è il digital ocean dei poveri però per esempio ti faccio ti faccio subito notare una cosa interessante un dominio io ce l'ho su un dns provider che c'è lì che si chiama in chip e poi di chip non ha tanto perché loro per farti usare la parte pi che tu potresti usare per fare questa cosa qua richiedono che tu abbia acquistato un tot di prodotti in soldi cioè io per esempio lì ho un dominio pago 10 dollari l'anno o 10 euro l'anno quello che sono non raggiungo mai il tetto che mi permette di sbloccarmi la parte pi che mi farebbe fare quella parte lì quindi diciamo lì non è neanche traffic il problema è il contratto che hai con dns provider io io alcune cose ce le ho su ma proprio pi o si ce le ho su pork bun non so se lo conosci no però bellissimo ma in realtà è perché ho preso dei domini un po strani tipo dei punto dev a un euro due euro ne ho comprato 45 kg ma non ti danno neanche l'email o se vuoi modificare i record ns o mx piangi però vedo che anche quello è supportato sicuramente ogni cosa ha un costo quindi ragazzi è da vedere però in realtà si può estendere questa cosa cioè il servizio dei e qua entra un po l'anima dello sviluppatore no il servizio dei dns supportati quindi del fatto che va immagino a fare delle scritture non ai record dns del record di challenge immagino funzioni così no? mi ricordo che io devo aggiungere un record ecco quello magari lo fai attraverso le piede del provider ma la mia domanda è volendo posso creare e magari su questo puoi non aver risposta però sarebbe carino da cercare posso creare il mio provider? Allora come si dice lì bisognerebbe andarsi a guardare la libreria che mi pare si chiami let's go se non sbaglio dovrebbe chiamarsi comunque la libreria che usano loro perché è quella la chiave di tutto però ti posso anche dire che su questo io la risposta non ce l'ho chiaramente però ti posso dire che non so se nelle ultimissime versioni ma nelle varie versioni esisteva un metodo proprio manual per provare a fare questa cosa col tuo provider non supportato ecco c'è un metodo manual al fondo che ti dice se sei così sfigato che il tuo non è da nessuna parte prova a usare traffic in modo interattivo che probabilmente farà lui challenge col far provere a lui a fare dei challenge o se no ti dice anche che puoi usare un external program secondo me si può tranquillamente fare penso che poi dall'altro lato ti passi anche un po velocemente la voglia ecco ecco leggo ti faccio un esempio la libreria no ti faccio un esempio molto stupido io probabilmente qualcuno lo conosce un po di robe su digital su perdonatemi top post io lo amo post io io penso che usino per alcuni servizi usino il 286 loro perché sono fantastici cioè costa pochissimo è bellissimo però proprio ti danno della roba che proprio non va avanti neanche a pacche però per i nomi è bellissimo perché non costa veramente niente esatto esatto tipo 5 dollari 4 dollari adesso non ricordo quante 4 euro però ti faccio l'esempio se io volessi configurare interfacciare una comunicazione no in modo da fare da attivare la questione del challenge da fare quello che c'è da fare insomma in quel caso io potrei tipo con la zappa scrivere una sorta di piccolo script che apre il browser clicca compila il forum fa qualche un headless browser no clicca su save e se la roba fosse pluggable in questo caso magari potrebbe anche funzionare come non è una roba che mettere in produzione o che vendere a un cliente però è un hack per il più si ci sta a palla no? sì sì ma guarda mi aggancio a questo per dirti che Traffic Proxy nasce come un prodotto community tant'è che come la prendo un po' alla lontana ma arrivo a rispondere a te a quello cioè aggiungere una cosa a quello che appena detto il successo di Traffic è stato che lui è un un oggetto community che il suo container la versione 2 in particolare quando uscito ha avuto una quantità impressionante di download perché semplicemente era facile funzionava e non c'era nient'altro che lo faceva o perlomeno che lo facessi in modo così semplice diretto.

Seconda cosa loro hanno fatto anche la famosa enterprise edition e qua dovremmo aprire un'altra parentesi cioè uno dei principali problemi di un oggetto come Traffic è che ha talmente tanto successo a livello di community e funziona talmente tanto bene che poi vendere una enterprise edition di un prodotto così è un casino perché hai già quasi tutto e non puoi neanche dire io tolgo qualcosa alla community edition perché anche lì è un casino ti rovini subito la reputazione cioè vedi è un mondo dove c'è cammini sugli specchi non so come dire no cioè proprio e quindi questa cosa ha fatto sì che loro così come il programma in cui sono io che è quello degli ambassador cioè persone che hanno io ho scritto un po di contributi ho fatto un po di commit ma robe minuscole cioè non pensate delle robe ridicole sulla documentazione perché quando mi sono approcciato a Traffic adesso io sviluppo abbastanza da due tre anni in Go ma prima Go non l'avevo quasi cioè sapevo a Docker è scritto in Go era questa l'unica affermazione in cui potevo mettere Go in una frase.

Poi ti dico la mia l'affermazione che c'ho io con Go.

Sì no ma poi Go è bellissimo perché cioè si presta un miliardo di giochi di parole.

Io lo odio, non lo sopporto.

Giusto per tornare al discorso di prima no però voglio finire il discorso community che dicevamo prima.

Sì sì.

Perché era interessantissimo quello che dicevi perché adesso Traffic è alla versione 3 cioè è alla preview della versione 3 e la preview della versione 3 ha portato delle feature community edition che in parte erano richieste sulla community cioè la gente su Github rompeva talmente le palle su issue più uno più uno più uno che loro dopo un po chiaramente non così è però analizzando certe feature le prendono in considerazione e due e questo arrivo sono finalmente arrivato a quello che mi chiedevi tu perché loro fan degli hackathon in cui chiedono alle persone di inventare qualcosa da aggiungere a Traffic o da fare con Traffic che nessuno non c'è ancora oppure non non se ne sente il bisogno ma non si capisce perché Traffic dovrebbe utilizzarlo meno e così queste cose poi sono diventate parte della community edition quindi probabilmente quello che dici tu creare un oggetto che faccia queste richieste anche chiama dire lo collega browser diciamolo brutto però per dirti potrebbe essere un hackathon cioè una proposta per l'hackathon o potrebbe essere stato proposto da qualcuno all'hackathon poi sicuramente magari non l'han preso in considerazione o cosa però voglio dire ci sono tantissimi use case che possono venire in mente.

Sai mentre parlavi pensavo proprio partendo da quello che dicevi no dell'hackathon dell' estendibilità del ragionamento e il mio cervello è per un attimo saltato al mio amico Paolo Insogna che nelle ultime settimane ha fatto girare almeno ho letto qualcosa del genere in realtà non c'è ancora parlato con Paolo di questa roba ma poi approfondisco ha fatto girare l'Ira il motore di ricerca che è partito dall'idea di che appunto l'idea di Michele dentro NGINX perché NGINX supporta javascript come scripting language come vedi come vedi questa feature su traffic? La vedo cazzuta interessante interessante sì sì sì ma poi dovremmo aprire sulle parentesi tra Go, javascript dovremmo metterci a fare un po di battle su quello però non lo vedo brutto come argomento.

Ho detto javascript per dire uno scripting language dentro per fare robe, javascript l'ho detto magari non ci fai roba super potente, guardando i benchmark di l'Ira e ti suggerisco di dare un'occhiata non sembra neanche javascript perché javascript performante va saputo scrivere ma si può scrivere un javascript performante però devi conoscere cosa c'è sotto.

Sì ma su questo sulla denigrazione preventiva di javascript come linguaggio potremmo fare sei podcast e non abbastanza.

Esatto però voglio voglio proprio tornare all'idea di inserire dello scripting language all'interno di un edge router perché pensandoci no e sai probabilmente è anche una di quelle feature che ha senso un po meno senso su un reverse proxy ma che ha senso su un edge router.

Stavo guardando perché volevo dirti qualcosa riguardo a questo che cosa hanno inserito nella versione 3 se c'era qualcosa di questo.

Nella versione 3 ci sarà a parte che c'è tutta una parte di di observability quindi ci sarà op-ed telemetry tutta una parte compromitius certificati ci sarà la broadly compression che è sostanzialmente un algoritmo che è più di gunzip per la compressione e perché ti dico questo perché è successa un'altra cosa che adesso non so quanto traffic abbia portato avanti però c'è traffic laps abbia portato avanti però te la voglio dire rispetto a quello che dicevi tu c'è un concetto che abbiamo un po bypassato quando parlavamo di traffic prima che è quello del middleware cioè sostanzialmente una delle funzioni di cui abbiamo parlato scusate vado sempre un po lontano per rispondere alle domande però ci arrivo poi il discorso qual è? è che una delle cose che abbiamo un po preso alla leggera cioè ci siamo subito gasati container cloud edge router siamo subito andati grossi ci siamo dimenticati di dire abbiamo sottinteso troppo il fatto che comunque è anche un API gateway traffic proxy quindi sostanzialmente lui arriva alla richiesta HTTP e poi un'altra cosa che non abbiamo detto che può essere anche TCP questa richiesta esatto quindi layer diversi dello stack quindi non è che c'è attenzione perché c'è anche proprio possiamo andare anche tanto in basso però anche qua rimaniamo semplici parliamo di HTTP lui riceve questa richiesta la deve inoltrare servizio che è la strazione di questo servizio potrebbero essere più istanze lo stesso servizio quindi round robin, weighted round robin tutte le politiche del a questo punto del proxy reverse proxy e lui cosa fa con questa richiesta ci può fare qualcosa prima di inoltrarla la può arricchire la può bloccare fare il circuit breaker la può modificare e tutto questo lo fa con un altro concetto che quello dei middleware.

Il middleware è sempre una cosa della configurazione dinamica e perché ti dico questo perché a parte le cose molto semplici quindi appunto il bloccare aggiungere un livello di autenticazione aggiungere degli header tutte queste cose qua molto molto banali o la compressione ganzi queste cose qua banali o banali o comunque abbastanza straightforward dirette potrebbe fare n altre cose n altre cose significa che nel tuo caso nel caso di Mauro deve fare la cosa x allora loro si sono accorti che cercare di soddisfare tutti per fare quello che di cui avevano bisogno era una cosa che non avrebbe funzionato sul lungo termino comunque si sarebbero ritrovati come secondo me sono tuttora io uso GitLab CI Community Edition poi quando avete un problema su GitLab CI Community Edition andate a cercarlo e trovate che al massimo se la cosa c'era è perché uno delle enterprise edition ha avuto un problema e loro l'ha risolta se no il vostro problema se rimasto a livello di Community Edition non bronze silver gold e lì e può stare lì io ho una issue di quattro anni fa ogni tanto mi arriva un commento same problem here ma la issue non l'ha mai guardata nessuno allora allora cosa han fatto e qua adesso sono andato lontano ma adesso vengo vicino han messo la possibilità ripeto dobbiamo vedere se c'è ancora questa cosa ma io penso di sì di fare dei plug in cioè di farti un middleware tu fatto in gol però però però che sostanzialmente vede la risposta vede la richiesta via degli header e fa uscire qualcos'altro e quindi da lì c'è ci può essere la tua autenticazione custom la tua il tuo airbag cioè ci può essere n altre cose che tu automaticamente scrivi tu usi tu se vuoi lo condividi se no te lo tieni per te sul tuo traffic ci sarà i servizi potranno usufruire di quel x middleware e questo questo potrebbe essere un modo senza fare feature request o altro per capire se lavorando semplicemente a livello di header http di richiesta e si può giocare col payload e farci qualcosa adesso dico la cazzata della sera sarei in grado di scrivere un middleware che usa goya per far girare un piccolo engine ecma script per far girare gli script javascript dentro il middleware di traffic solo per dire il fatto in javascript sarebbe fichissimo.

No questo è che è meragoliaria però è interessante la questione dei middleware e qui mi porti a parlare di una cosa che mi ha colpito quando ho visto traffic.

Traffic di per sé è molto semplice se almeno le configurazioni di traffic le ho trovate molto semplici se paragonate a mi vengono in mente i file di apache o anche anche i file di nginx li ho percepiti semplici però ho notato che nei vari concetti che sono un po' quelli che abbiamo elencato prima providers, router, services, middleware e quant'altro ho trovato che questi concetti sono particolarmente astratti ok? e su questa riflessione collego un video bellino che vi allego alle note dell'episodio perché non è farina del mio sacco ma mi ha aperto un punto interrogativo che è un video riflessione di Hussein Nasser non so se lo conoscete è uno youtuber uno sviluppatore anche abbastanza famoso un influencer che ha fatto una serie di video interessanti su traffic era anche abbastanza preso bene dalla tecnologia però ha detto un concetto importante quindi spoilerò il mio balocco di oggi ha detto traffic i concetti basi di traffic sono sia una manciata ma è ricco di astrazioni il fatto di essere cloud native lo porta obbligatoriamente ad astrarre come hai detto tu prima Sergio no? una serie di concetti tipo il concetto di provider è un'astrazione e nasce proprio perché traffic non sa esattamente cosa sotto il culo ok? quindi per forza deve astrarre per cui ecco forse l'unica l'unico vero problema che si ha nell'utilizzo di traffic almeno a livello concettuale poi sulle performance ci si potrebbe parlare tantissimo c'è gente che guarda il micro capello ho visto un po dei benchmark in giro ma non parliamo di performance in questa fase perché non sono abbastanza edotto da poter dire niente però ecco per quanto riguarda la dev experience secondo me porta un pezzettino di quella complessità che ho visto su kubernetes no? il fatto dell'astrazione pesante e secondo te come si sta muovendo la community di traffic in merita questa roba? Sì ma diciamo hai un po' sollevato il vaso di Pandora no? perché hai detto un po di cose importanti allora primo di nuovo l'abbiamo detto prima ma fare queste specialmente quando si parla di performance sono molto belli benchmarks poi sembra una gara chi ha la barra più lunga diciamo così no? o più corta a seconda di che benchmark usiamo però poi c'è tanto altro oltre quel concetto lì ti faccio un esempio potremmo stare qua ci mettiamo tutta la sera a dire quanto nginx è più figo o meno figo perché io ti devo dire che traffic proxy è la cosa più strafica del mondo no se dovessi lavorare in un ambiente cloud io preferirei comunque usare traffic anche se non fossi traffic ambassador e così perché perché nasce cloud native perché il fondatore di traffic tale emil vauge adesso la pronuncia francese me la saprai dire meglio tu comunque vauge mettiamola così che dovrebbe pronunciarsi emil vauge ha scritto traffic dal nulla perché non c'era un oggetto che facesse quello che serviva a lui e allora lui ha soddisfatto un bisogno e traffic nasce cloud native poi però si evolve e l'esempio che fai di kubernetes è quello più interessante secondo me cioè il grande il grande tabù che io mi sento di cioè di violare diciamo è che poi kubernetes si è fighissimo ma poi tanto figo non è nel senso che quando funziona è fighissimo ma se non funziona sono veramente ci amari e il rischio che io vedo spesso o che ho visto nella mia esperienza con kubernetes e che spesse volte c'è la sovra ingegnerizzazione di quello che sto volendo fare faccio talmente tanto spendo talmente tanto tempo su kubernetes che poi i problemi che devo risolvere sono quasi troppi perché ti ho detto questa cosa non non era per fare una battaglia contro kubernetes ci mancherebbe anzi però se dovessi dirti una cosa con cui ha avuto problemi io nelle prime versioni adesso chiaramente sono stati fatti tanti passi avanti però nelle prime versioni traffic lavorava proprio male con kubernetes cioè lo configuravi e non funzionava ma non solo non sapevi perché quindi quello è su quello loro han dovuto fare un lavoro triplo perché questo lo ripeto è cambiato adesso però veramente all'inizio quando io l'ho preso in mano con docker tre righe start funziona con kubernetes non funziona uno non so come farlo funzionare cioè veniva proprio una pagina bianca questa era era clamoroso me lo ricordo e quindi loro su questo han fatto tra l'altro hanno avuto un sacco di critiche continuano a verle sulla documentazione perché la documentazione ha tantissime parentesi colori diversi rimandi e e non si capisce non si capisce mai niente quindi e diciamo è sempre un problema che noi affrontiamo tutti i giorni cioè noi secondo me come persone siamo portati a volerle cose facili semplici dirette poi però dietro se c'è una grande complessità bisogna vedere come come viene risolta questa cosa loro il a livello di community secondo me vorrebbero far di tutto per mantenere le cose consistenti cioè un po come era il primo claim di docker cioè docker se uno dei primi claim che c'era di docker e che non so adesso quanto sia ancora vero e che tutte le cose nuove che venivano introdotte dovevano essere introdotte on top di quello che esisteva cioè non ci dovrebbe non ci dovevano mai essere lì s breaking questo secondo me è la stessa cosa che cerca di fare traffic proxy come community ti dico anche che e questo lo dico anche di nuovo senza fare come dire questione di lana caprina come si direbbe uno dei grandi problemi che ha traffic e l'ho detto prima essere un prodotto community cioè e come faccio a fare soldi o a fare un business da un prodotto community perché è vero che ha l'enterprise edition e chi la compra e come e lì poi è la grande domanda no cioè come si fa a fare business con un prodotto community e diciamo è il più grande problema del del mondo pensors questo cioè ho fatto una cosa ho fatto un servizio metto la versione a pagamento ma chi è disposto a pagare la versione a pagamento e per quale ragione boh e quindi loro loro il più grande problema che hanno in questo momento lo dico senza senza peli sulla lingua è la loro sostenibilità come prodotto community edition o meglio come prodotto community oriented scusa e adesso siamo un po scesi di tono sembra che stiamo andando verso il funerale di traffic proxy ma non è così no assolutamente però è un problema comune a tanti a tanti prodotti community no l'abbiamo visto con i cambi di licenza di elastic so il mondo open source deve fare i conti con questo specie quando non puoi vendere delle delle assistenze importanti no e specie quando il prodotto comunque abbastanza contenuto uno scope limitato e funziona bene e alla fine diventa difficile vendere i servizi anche non solo i prodotti community ma anche i servizi associati quindi la secondo me c'è tanto da fare in termini proprio educativi nel senso che adesso io la mia esperienza non ho esperienza diretta nel senso che lavoro in una società che fa tantissimo open source che contribuisce tantissimo a questo tipo di mondo però esistono tante società e questo ne ho la conferma anche da grada da maintainer di progetti importanti esistono maintainer che vanno alle conferenze che trovano l'ingegnere della grande multinazionale xyz che dice cazzo il vostro prodotto è una figata sta girando su gozzi liardi di nostri server benissimo e non c'è una donation da parte di quella grande enterprise.

Certo.

Ed è proprio questo no questa discrezionalità nel poter supportare un prodotto e nel contempo il fatto che se nella licenza tu metti che per certi use case comunque il prodotto a un costo ti inimichi insomma la community non reagisce bene perché comunque anche la community ha un ruolo importante nello sviluppo del prodotto cioè ci sono i contributors che dedicano il loro tempo per per fare pull request il loro tempo libero per fare pull request c'è chi contribuisce alla documentazione chi contribuisce alle domande su stackoverflow che sono altrettanto importanti quindi in realtà ecco è tipo una bilancia e secondo me per quanto sia distribuito in modo globale il mondo open source nell'impianto tecnologico globale del nostro mondo ancora secondo me deve fare dei passi di deve sviluppare un processo di maturità in termini di sostenibilità su questo ancora dobbiamo fare un po' di strada.

Come? Dove? Questo non lo so probabilmente sarà uno degli argomenti che proverò a studiare meglio però comunque c'è la strada a fare da quel punto di vista.

Sì poi ti dico anche che allargando un po' l'orizzonte mi ricordo una discussione su un tema simile col fatto che per esempio come ha cambiato il mondo in senso proprio lato cioè oltre a questo che stiamo dicendo spotify cioè io ricordo una persona con cui ho parlato ma che non è del mondo tech lui mi diceva se spotify ti da tutta la musica praticamente tutta poi vabbè non ci so quello non c'è quell'altro c'è però diciamo 90 per cento della musica con 10 euro al mese vuol dire che da lì in poi se tu fai pagare più di 10 euro al mese è difficile cioè se tu arrivi con un nuovo servizio anche che non è di musica perché loro non vendevano musica era nel campo dell'editoria loro dicevano noi non potremmo mai vendere un servizio a più di 10 euro al mese perché loro con 10 euro ti danno tutto il mondo noi possiamo dartene un decimo un ventesimo e cosa ti dobbiamo chiedere e allora capisci in quel senso anche sull'open source è un po così cioè hai detto benissimo tu cioè manca la manca tantissimo il concetto di ricevo do qualcosa indietro non posso contribuire sponsor donate io me lo son preso guarda io avevo questa cosa mi frullava in testa tanto e visto che siamo arrivati al nuovo anno io come prassi alla fine di ogni anno mi prendo un budget e decido ma vabbè io sono affezionato alla mia origine come hai detto la lo streaming video la compressione video io faccio sempre una donation a ffmpeg che ffmpeg io tutt'oggi lo ritengo un prodotto stra ultra straordinario lo adoro perché perché gratuitamente con una riga di comando io faccio l'impossibile con un video poi se divento super figo posso montare un video con ffmpeg.

Esatto mi viene in mente un amico di github Mitch che si era fatto il suo la sua UI su browser dove montava praticamente i suoi episodi che uscivano su youtube in modo completamente automatizzato calcava il pulsante render lanciava ffmpeg e aveva i clip in video che entravano i sottopancia tutto su ffmpeg e vi svelo un segreto stavo cercando una libreria rust per fare delle robe con l'audio perché volevo fare la stessa cosa siccome sto studiando rust con rust con l'audio alla fine la cosa più intelligente che mi è venuta a fare è cercarmi una robetta che facessi i bindings ffmpeg che poi ci pensa lui e quindi si hai ragione in realtà da una parte c'è l'educazione di noi come consumer e dall'altra parte c'è l'educazione delle imprese e della management side nel senso che quello che oggi succede è che molti cto non hanno un budget per questo quando secondo me oltre che a livello etico anche a livello di sostenibilità dei prodotti che sta realizzando cribio se tu basi tutto su un redis adesso dico redis ma potrei dire qualunque altra cosa se tu non puoi non sostenere quel progetto perché se va a gambi all'aria vai a gambi all'aria anche te e questo tipo di consapevolezza non è così ampiamente distribuita come dovrebbe esserlo ci sono delle aziende che lo fanno ma diciamo che sono più le aziende che non lo fanno di quelle che lo fanno.

A parte questo in realtà io guardavo il timing e tipo la chiacchierata, il tempo sta volando, ti voglio fare però l'ultima domanda prima di passare al momento paesi dei balocchi, esiste e questa è un'altra domanda bastardella permettimela ma esiste uno use case dove non useresti traffic? Ma diciamo che se non se non ho più di un servizio che devo esporre o se non ho più di un dominio probabilmente o se non ho l'idea di averne più di uno o di avere più servizi dietro un router non lo userei.

Di nuovo all'epoca torno a darmi la zappa sui piedi all'epoca ricordo che quando provai le prime versioni ma ripeto adesso molto migliorato di kubernetes con traffic cioè la prima versione del provider kubernetes di traffic mi ricordo che nginx funzionava alla perfezione e traffic non andava avanti quindi non è tutto oro però dico anche che i casi che abbiamo detto stasera sono abbastanza frequenti e poterli risolvere in fretta non è male poi non lo so al prossimo giro mi chiederai se la facciamo tra sei mesi magari mi dirai come lo farebbe vado a chiedere la chat gpt e lui mi dirà ti darà la risposta a lui perché a breve il lot topic sarà solo più chiedere a chat gpt cosa dobbiamo fare oggi esatto facciamo fare leggere routing direttamente a chat gpt ma anche no detto questo io direi che possiamo a questo punto andare all'aumento del paese dei balocchi il momento in cui i nostri guest e i nostri host condividono con noi qualunque cosa abbia catturato la loro attenzione possa essere stato interessante o può essere interessante condividere con la nostra community quindi la mia domanda Sergio è hai qualcosa che ti va di condividere con noi? Io starei adesso mi è fatto mentre parlavamo mi è venuto in mente una cosa che vorrei condividerti e che non è traffic volevo allontanarmi da traffic ma raccontarvi qualcosa cui mi sono avvicinato adesso no adesso mi sono avvicinato negli ultimi tempi e abbiamo fatto uno degli ultimi tu dicevi che io sono nel meetup CNCF qua a Torino che ogni tanto riusciamo ancora incontrarci e siamo purtroppo sempre pochi quindi un appello a tutte le persone a Torino se facciamo dei nuovi meetup iscrivetevi e venite.

Prometto se becco un treno vengo anch'io bravo sì assolutamente comunque abbiamo fatto un meetup carino su dagger che è sostanzialmente una tecnologia che è stata fatta da Solomon Ike colui che ha scritto Docker e si parla di CICD quindi sempre mondo DevOps così uno degli ultimi meetup abbiamo parlato di questo il meetup è andato malissimo nel senso che purtroppo eravamo molto pochi però l'argomento era proprio carino allora per non farmi autopubblicità vorrei condividervi un video della community dagger in cui fanno un end zone di dagger e a me mi ha veramente colpito vediamo se ce l'ho qua si poi ti chiedo magari di non usare il chat perché mi sa che sparisce tutto ma inviarmelo direttamente via mail così che possiamo ottenere traccia di tutto e metterlo quindi nelle note dell'episodio loro fanno una cosa carina che si chiama community call sostanzialmente dato che è yet another product basato sulla community e vai ce ne abbiamo parlato finora quindi perché non un altro ancora e la cosa carina è che loro provano a farse community call cioè far parlare le persone che usa il loro software e come l'hanno usato è un'idea carina secondo me perché come hai detto tua parole stasera sentendo parlare di traffic loro lo fanno come posso dirti lo fanno con delle youtube live end zone e ti vengono in mente degli use case è una roba anche utile per chi gestisce il prodotto perché a quel punto gli si aprono una serie di panorami di prospettive sullo sviluppo futuro.

Sergio la chiacchierata è stata super super super figa io mi prendo giusto a un momento visto che non abbiamo donatori e non li abbiamo perché in realtà questa settimana è tipo il terzo episodio che sto registrando e li abbiamo già detti nel primo episodio che ho registrato questa settimana vi ricordo rapidamente che in realtà da qualche settimana abbiamo anche attivato l'affiliazione amazon quindi prestissimo metteremo un link per l'affiliazione qualunque cosa vogliate acquistare su amazon anche se si tratta di sacchetti della mondezza o di ricariche per il rasoio beh se passate per quel link qualche centesimo arriva anche a pagare le bollette dei server e degli abbonamenti ai servizi che utilizziamo tra l'altro servizi che stiamo cambiando quindi abbiamo tipo doppia abbonamento di quasi tutti i servizi.

Detto questo io ringrazio tantissimo Sergio mi ha fatto superissimo piacere averti qua sappi che ti rompo le balle quando passo per Torino perché sono in debito di una birra sappilo grazie davvero di essere venuto a trovarci grazie di averci raccontato io come dire posso solo ringraziare tutto il github per la bella serata insieme e spero di non avervi annoiato di avervi raccontato qualcosa di carino e spero che proviate Traffic se non lo provate peggio per voi un abbraccio allora alla prossima Gitbar il circolo dei full stack developer una volta a settimana ci troviamo davanti a due birre e con Brain Repo parliamo di linguaggi e tecniche di sviluppo web di metodologie ed strumenti immancabili nella cassetta degli attrezzi dei full stack dev.