Torna a tutti gli episodi
Ep.144 - Traefik con Sergio Matone (c3lx)

Episodio 144

Ep.144 - Traefik con Sergio Matone (c3lx)

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 ser...

26 gennaio 202301:29:59
AIMusic
144

In Riproduzione

Ep.144 - Traefik con Sergio Matone (c3lx)

0:000:00

Note dell'Episodio

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.# Sergiohttps://www.qua-app.com/https://twitter.com/sw360cabhttps://dev.to/sw360cabhttps://www.linkedin.com/in/se...## Supportaci suhttps://www.gitbar.it/support## Paese dei balocchi- https://www.youtube.com/watch?...https://go-acme.github.io/lego...https://www.youtube.com/watch?...https://www.youtube.com/watch?...https://www.youtube.com/watch?...## Link amazon affiliatohttps://amzn.to/3XDznm1## Contatti@brainrepo su twitter o via mail a info@gitbar.it.## CreditiLe sigle sono state prodotte da MondoComputazionaleLe musiche da Blan Kytt - RSPNSweet Lullaby by Agnese ValmaggiaMonkeys Spinning Monkeys by Kevin MacLeod

Trascrizione

Bene e benvenuti su Gitbar, nuova settimana e nuovo episodio qua sul nostro bar degli 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 ho c'ho la github.it via email o @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 e quindi se su twitter non ci scrivete vabbè 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.[Musica] 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 no ma soprattutto anche se ma soprattutto non si dice è un traffic ambassador abbiamo con noi Sergio Mattone ciao Sergio ciao Mauro ciao grazie mille per avermi qua a me al github 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! Va bene farò dei pensierini come si diceva all'elementare, frasi corte e coincise 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 ci 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 come gli ascoltatori ben sanno tipo io metto accenti a caso e il vivere in Francia poco mi aiuta in 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 indiritto di dire traffic però tu mi hai bacchettato in pretrasmissione quindi possiamo spiegare sta cosa perché è un aneddoto super super carino.Ma diciamo che allora chiamiamo i francesi su questo sono molto simili agli italiani cioè si devono complicare la vita e su questo sicuramente.Con l'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 anche.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 questo scamotage avrebbe dovuto aiutare il francese a non dire traffic, quindi a non pronunciarlo così.Poi probabilmente non è andata così bene perché penso che i francesi continuino a pronunciarlo tra ficche e tutti i non francesi che lo vedono dicono ma come cacchio si legge questa parola.Esatto! Quindi diciamo che facciamola long story short diciamo pronunciatelo come volete va bene tutto vale tutto mettiamola così ecco.Ok Ok, ti voglio fare un'altra domanda, 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 il prodotto che tutti chiamano Traffic si chiama Traffic Proxy.Quindi quando senti in giro dire "ah, 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 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? Forse su traffic sì, è meglio mettere l'accento sull'edge router perché parliamo di architetture, ma per il resto non sarei così, chiamiamolo binario, cioè nel senso dipende dallo use case, facciamolo facile, però dipende dallo 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.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 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 faranno suonare il campanellino su perché lui sì e altri un po' meno.Sì, sono curioso di arrivarci.Quindi in parte hai risposto anche a una domanda un po' bastardella che volevo farti subito dopo, che era Traffic è uno dei più recenti, nel 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.Ti rispondo con un po' la mia filosofia, cioè io non sono mai bianco e nero.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, ah 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, 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 di 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 sistema è veramente vastissimo, smisurato, immenso, per cui è quindi foriero di grandi quantità di carico cognitivo, non possiamo sapere tutto.Come tendiamo a difendere, e questo ci disorienta in qualità di essere umano, perché vorremmo avere il controllo su tutto, 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.Tu hai gli stessi container che vuoi esporre sulla tua porta 80, però su domini diversi.Con Traffic sono quattro linee.E' 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, gli cambi di API, però Docker, cioè proprio lo use case della persona che ha un'infrastruttura orchestrata o non orchestrata, anche un docker compose semplicissimo, voglio avere più container e esporre la stessa porta, traffic funziona.Voglio avere TLS senza avere servizi che gestiscono i certificati, ce l'ho, out of the box.Il TLS manager è 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 fare, fai con nginx sì 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 fa i 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, ma ci sta e fa parte del gioco 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, la macchina su Digital Ocean mi veniva a 5 dollari, il cluster me ne veniva 35, così come l'avevo fatto.E per tirar su un servizietto che veniva chiamato tipo due volte a settimana era un po' overkill, perché c'è questo use case? Io ti posso fare il controesempio 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 Per prepararmi in questa chiacchierata, io Traffic non lo conoscevo, quindi me lo son guardato un po' per non dire troppe cazzate, anche se le dirò sicuramente.Però ho visto tipo che se io metto un tag nel Docker Compose, non so come si chiami, cioè alla fine Traffic è una label, è capace di fare discover anche così, cioè amico mio a questo punto non più bisogno di Docu.Esatto.E questa cosa mi ha, ti dico la verità, mi ha piacevolmente entusiasmato no? Esatto.E quindi proprio partendo da questo mi piacerebbe andare un po' sotto 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' di capriole lo fa.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 dei vicoli.Poi infatti ho una domanda su quello.Però ti voglio dire c'è il concetto di provider e anche questo lo spiegherò un po' più avanti.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 chi più ne ha più ne metta, quindi tutti i prodotti un po' diciamo cloud oriente descritti 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 munino 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.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 è molto out of the box ed è molto di più, faccio l'esempio della tecnologia che spesso l'amico ti dice "Ah l'ho provato, ah sì, cosa hai provato? Ah, c'è il Getting Started nella terza pagina del sito, ah bello, e 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 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 si 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 la chiameremo Traffic in senso generico ma è bene ricordare che parliamo di Traffic Proxy perché storicamente Traffic Labs, che una volta si chiamava in un 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 però nel 90% 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, permettimi il termine, che c'è dietro traffic proxy è proprio quella che hai detto tu cioè la possibilità di configurare dinamicamente, di avere una configurazione dinamica che sostanzialmente si può cambiare n volte e il servizio non deve essere mai riavviato cioè oltre l'hode perché lui si riadatta man mano che salgono nuovi container, tolgono nuovi container non riavvierete mai Traffic Proxy, Container, Standalone, 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, ha il 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 l'hot reload aggiorna la configurazione e la tiene su e 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 sono inciampato nel concetto dei provider, dei routers, dei services, del load balancing, dei middleware, sono parecchi.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, io la chiamerei dinamica non so se...No no si chiama dinamica, non sei tu ma tutti.Da una parte c'è un router che deve andare a trasferire del traffico verso un microservizio servizio piuttosto che un altro, un micro macro servizio piuttosto che un altro.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 è molto figo.Come funziona sta cosa? Nel senso che adesso sto banalizzando, c'è tipo un timer che refresha il load della configurazione? Guarda per spiegartelo in modo molto semplice e veloce parto da quello che hai detto all'inizio, 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 significasse quel nome.Invece perché ti ho detto questo perché hai detto un'altra cosa molto giusta, hai 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 se stai usando docker o se stai usando kubernetes 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 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 ho parlato vanno 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...Adesso, ripeto, non mi imbatto in Kubernetes perché andiamo in engine prior, rimaniamo su Docker.Ho il container 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 ho 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 ad aggiungere la configurazione dinamica che nel caso di docker sono delle label quindi sono delle, chiamiamole chiave valore chiamiamole così, è un 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 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, fa 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 a tutti questi concetti.Se non attivo il microfono probabilmente ho avuto il viso di parlare a bambe.No, ti faccio una domanda, questa è una curiosità mia personale.Io mi faccio la configurazione statica, come hai appena detto, quindi dico che un entry point che è la porta 80 e quindi è aperta o la porta HTTPS 443.A questo punto io ho il mio entry point e decido di tirar su tre container.Uno è un'applicazione Node, uno è un'applicazione Go.Facciamo due per semplicità.La prima che tiro su l'applicazione node e la voglio mappare 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 dici "ma fammelo là" no, tu nella tua configurazione di traffic che poi può essere tranquillamente un file yaml o toml che è il linguaggio di, cioè sostanzialmente tipo lini scritto da traffic, però hai uno yaml che ti va a dire cosa farà il traffic quindi che provider userà a che porte si aggancerà, quindi a che porte esporrà, basta.Lui potresti metterci 600 container, uno, due, attraverso un path A, attraverso due domini, path A e path B, dello stesso dominio, attraverso tre domini diversi, lui da quella configurazione lì che tu hai del tuo container Traffic Proxy non lo saprà mai, non lo dovrai mai cambiare.Domanda? No questo è chiaro, io rilancio subito quella domanda perché adesso i punti interrogativi sai non faccio tecnologia tipo escono più in fondo.Ma poi arriva un punto che non so più rispondere te lo dico.Guarda, sono sicuro che sai rispondere a tutte le mie domande.No, ti faccio un esempio, hai parlato di domini, quindi abbiamo risposto alla questione del DOCRA, però parliamo di domini.Se io invece dovesse avere un nuovo dominio mi basta mappare nel DNS di puntare a quel server e tutto funziona o devo smanazzare? E la domanda successiva è, e con i certificati come funziona l'aggiunta di un nuovo dominio? Questa è la domanda più difficile che ti posso fare.Esatto, allora qua potrebbe anche cascare l'asino diciamo, però proviamo ad andare per step.Ho un dominio, un dominio deve puntare a un container, cioè noi vogliamo che punti a un servizio della nostra topologia, quindi diciamo un container per farla semplice ma serve un servizio e ha una porta quindi un nome dominio una porta o un nome dominio una porta e un path.Per quel che riguarda la porta chiaramente facciamola anche qua semplice diciamo che noi in questo caso stiamo giocando spostiamo tutto su 80 o su 4.4.3, quindi lavoriamo su HTTP e su HTTPS.Mettiamola semplice, poi potremmo anche esporre un elastic search sulla 9002, può anche fare, nessun problema.Però non mettiamo troppa carne al fuoco.allora tu con le tue label gli dirai, ricordiamoci noi abbiamo definito nel container di traffic che porte 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, nel tuo servizio node o 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 tu ti aspetti le chiamate e potrai usare solo gli entry point definiti nella tua configurazione statica chiaramente perché se non abbia 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 path e via dicendo tutto questo è hot, cioè io l'ho definito il mio servizio che ho creato in quel momento chiaramente il dns che tu vai a configurare, semplicemente gli metti l'ip pubblico della tua topologia su cui però in ascolto c'è traffic, non c'è il tuo servizio quindi questo deve essere molto chiaro traffic sarà perché è un edge router, perché è l'edge dell'infrastruttura c'è lui, il nostro firewall, chiamiamolo in modo sbagliato cioè il nostro demilitarized zone, cioè usando cose che non c'entrano niente, però per far capire il nostro bastion e traffic.Invece il discorso domini certificati, sì, è un po' più complicato, perché a quel punto lì sappiamo già che i certificati, 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 Let's Encrypt 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 Let's Encrypt col challenge DNS, col mio script a parte, se non c'entra niente con Traffic, li ho associati allo storage di Traffic e ho riavviato Traffic Proxy, 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 Traffic DNS Challenge, allora io mi faccio il mio DNS out of service fuori 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ì, quella chiave scusa, quel certificato e quella CA e ho finito.E quindi sì, quei certificati ti dico è un po' meno semplice, la risposta lì inizia a diventare dipende che è una risposta sempre molto un po' troppo politically correct.Ma è la risposta giusta sempre.Guardavo la lista dei DNS e non sono pochi.Non sono pochi sì.C'è anche Vultr che è il Digital Ocean dei poveri.Però per esempio ti faccio subito notare una cosa interessante, un dominio io ce l'ho su un DNS provider che c'è lì che si chiama InChip e poi InChip non ha tanto perché loro per farti usare la parte API che tu potresti usare per fare questa cosa qua richiedono che tu abbia acquistato un tot di prodotti in soldi.Io per esempio 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 API che mi farebbe fare quella parte lì.Quindi diciamo lì non è neanche traffic il problema è il dns provider.Io alcune cose ce le ho su, proprio POC, ce le ho su Pork Bun, non so se lo conosci.No però è bellissimo.Fa morire da ridere.Lo voglio anch'io.In realtà è perché ho preso dei domini un po' strani tipo dei punto dev a un euro, due euro, ne ho comprato 4-5 chili ma non ti danno neanche l'email o se vuoi modificare i record MS o MX piangi.Però vedo che anche quello è supportato sicuramente ogni cosa ha un costo quindi ragazzi mie è da vedere però in realtà si può estendere questa cosa cioè il servizio dei...e qua entra un po' l'anima dello sviluppatore.Il servizio dei DNS supportati, quindi il 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 API 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, proverà 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 lego ti faccio ti faccio un esempio.Chiama lego la libreria.No ti faccio un esempio molto stupido io probabilmente qualcuno lo conosce un po' di robe su digitalo, su perdonatemi, su top post.Bellissimo, io lo amo.Penso che usino per alcuni servizi usino i 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 quant'era, 4 euro.Però ti faccio l'esempio, se io volessi configurare, interfacciare una comunicazione 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, compila il forum, fa un headless browser, clicca su save e se la roba fosse pluggable in questo caso magari potrebbe anche funzionare come mi sembra.Non è una roba che metterei in produzione o che venderei a un cliente però è un hack per il POC ci sta a palla.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, cioè aggiungere una cosa a quello che hai 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 facesse in modo così semplice e 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.È un mondo dove cammini sugli specchi, non so come dire.Quindi questa cosa ha fatto sì che loro, così come il programma in cui sono io, che è quello degli ambassador, persone che hanno...Io ho scritto un po' di contributi, ho fatto un po' di commit, ma robe minuscole, non pensate delle robe ridicole sulla documentazione, quando mi sono approcciato a Traffic, adesso io sviluppo abbastanza da due o tre anni in Go, ma prima Go non l'avevo quasi, cioè sapevo "ah, 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.Si ma poi Go è bellissimo perché si presta a 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 +1 +1 +1 che loro dopo un po' chiaramente non così è, però analizzando certe feature le prendono in considerazione.E due, e questo 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 se ne sente il bisogno ma non si capisce perché Traffic dovrebbe utilizzarlo o 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 colleghi 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.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 ci ho ancora parlato con Paolo di questa roba ma poi approfondisco, ha fatto girare Lira il motore di ricerca che è appunto l'idea di Michele dentro Nginx perché Nginx supporta javascript come scripting language.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 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 Lyra 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 6 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 no? sì sì assolutamente stavo guardando perché volevo dirti qualcosa riguardo questo che cosa hanno inserito nella versione 3 se c'era qualcosa di questo va bene la versione 3 ci sarà a parte che c'è tutta una parte di di osservability quindi ci sarà opet telemetry tutta una parte compromitius, certificati, ci sarà la Broadly Compression che è sostanzialmente un algoritmo che è più di GANZIP per la compressione.Perché ti dico questo? Perché è successa un'altra cosa che adesso non so quanto Traffic Labs 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, però ci arrivo poi.Il discorso qual è? E' che una delle cose che abbiamo un po' preso alla leggera, cioè ci siamo subito gasati con 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, un grosso layer diversi dello stack.Quindi non è che c'è attenzione perché possiamo andare anche tanto in basso, però anche qua rimaniamo semplici, parliamo di HTTP, lui riceve questa richiesta, la deve inoltrare al servizio, che è la strazione di questo servizio, potrebbero essere più istanze dello 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 non ottrarla, 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 GANSI queste cose qua 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 di cui avevano bisogno era una cosa che non avrebbe funzionato sul lungo termine.Comunque si sarebbero ritrovati come secondo me sono tuttora, io uso GitLab CI Community Edition voi quando avete un problema su GitLab sia ai 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 dei Community Edition non bronze, silver, gold e li e può stare lì.Io ho una issue di quattro anni fa ogni tanto mi arriva un commento "sei in problem here" ma lei non l'ha mai guardata nessuno.Allora cosa hanno fatto? E qua adesso sono andato lontano ma adesso vengo vicino.Hanno messo la possibilità, ripeto dobbiamo vedere se c'è ancora questa cosa ma io penso di sì, di fare dei plugin, cioè di farti un middleware tu fatto in gold.Però che sostanzialmente vede la richiesta via degli header e fa uscire qualcos'altro e quindi da lì c'è ci può essere la tua autenticazione custom, 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 e sul tuo traffic ci sarà i servizi potranno usufruire di quel x middleware e questo potrebbe essere un modo senza fare feature request o altro per capire se lavorando semplicemente a livello di header HTTP di richiesta 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 ECMAScript per far girare gli script javascript dentro il middleware di Trap solo per dire il fatto in javascript.Sarebbe sicissimo.No questo è che è meragoliaria però è interessante la questione dei middleware e quei middleware 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 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, routers, services, middleware e quant'altro, ho trovato che questi concetti sono particolarmente astratti.Ok? E su questa riflessione collego un video bellino che vi 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, una serie di concetti, tipo il concetto di provider, è un'astrazione e nasce proprio perché Traffic non sa esattamente cosa ha sotto il culo.Ok? Quindi per forza deve astrarre.Per cui ecco, forse 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, il fatto della strazione pesante.E secondo te come si sta muovendo la community di traffic merita questa roba.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 a chi ha la barra più lunga, diciamo così, 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 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 Emile Bouges, adesso la pronuncia francese me la saprei dire meglio tu comunque Bauge 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 è 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 era per fare una battaglia contro Kubernetes, ci mancherebbe anzi.Però se dovessi dirti una cosa con cui ho 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 il perché.Quindi su quello loro hanno 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, questo era clamoroso me lo ricordo.E quindi loro su questo hanno fatto, tra l'altro hanno avuto un sacco di critiche, continuano a averle sulla documentazione, perché la documentazione ha tantissime parentesi, colori diversi rimandi e non si capisce mai niente.E diciamo, è sempre un problema che noi affrontiamo tutti i giorni.Noi secondo me come persone siamo portati a volerle cose facili, semplici, dirette.Poi però dietro se c'è una grande complessità bisogna vedere come viene risolta questa cosa.Loro a livello di community secondo me vorrebbero fare di tutto per mantenere le cose consistenti, cioè un po' come era il primo claim di Docker.Dockers è uno dei primi claim che c'era di Docker, e che non so adesso quanto sia ancora vero, è che tutte le cose nuove che venivano introdotte dovevano essere introdotte on top di quello che esisteva.Cioè non ci dovevano mai essere lease breaking.Questa 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 questioni di lana caprina, uno dei grandi problemi che ha Traffic, e l'ho detto prima, è essere un prodotto community.Cioè, è come faccio a fare soldi o a fare un business da un prodotto community.Perché è vero che è all'Enterprise Edition.Ma chi la compra? E chi la compra? E lì poi è la grande domanda, no? Come si fa a fare business con un prodotto community? E diciamo che è il più grande problema del mondo open source, 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 il più grande problema che hanno in questo momento lo dico 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 tonno 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 il mondo open source deve fare i conti con questo, specie quando non puoi vendere delle assistenze importanti, specie quando il prodotto è abbastanza contenuto, uno scope limitato e funziona bene e alla fine diventa difficile vendere i servizi anche, non solo i prodotti comunichiamo anche i servizi associati.Quindi là secondo me c'è tanto da fare in termini proprio educativi nel senso che adesso io da 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 grado da maintainer di progetti importanti, esistono maintainer che vanno alle conferenze, vanno al talk e trovano l'ingegnere della grande multinazionale XYZ che dice cazzo il vostro prodotto è una figata, sta girando su gozziliardi di nostri server benissimo e non c'è una donation da parte di quella grande è 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 ha un costo di inimichi.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 fare pull request, il loro tempo libero per fare pull request, c'è chi contribuisce alla documentazione, chi contribuisce alle domande su Stack Overflow 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 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 dà tutta la musica, praticamente tutta, poi vabbè non ci so, quello non c'è, quell'altro non c'è, però diciamo 90% 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 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...vabbè io sono affezionato alla mia origine, come hai detto, lo streaming video, la compressione video, io faccio sempre una donation a FFmpeg perché 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 Gitbar Mitch che si era fatto 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 con Rust con l'audio, alla fine la cosa più intelligente che mi è venuta a fare è cercarmi una robetta che facessi bindings, Fempeg che poi ci pensa lui e quindi sì 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 outside, 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 stai realizzando, cribio, se tu basi tutto su un Redis, adesso dico Redis ma potrei dire qualunque altra cosa, cioè tu non puoi non sostenere quel progetto, perché se va a gambe all'aria vai a gambi all'aria anche te.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.È arrivato la rovina.A parte questo in realtà io guardavo il timing è tipo la chiacchierata, il tempo sta volando.Ti voglio fare però l'ultima domanda prima di passare al momento paese dei balocchi.Esiste, e questa è un'altra domanda bastardella, permettimela, ma esiste uno use case dove non useresti traffic? ma diciamo che 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 edge 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 direi 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 noi.Detto questo io direi che possiamo a questo punto andare al momento del Paese dei Balocchi, il momento in cui i nostri guest, i nostri host condividono con noi qualunque cosa abbia catturato la loro attenzione possa essere stato interessante o possa essere interessante condividere con la nostra community.Quindi la mia domanda Sergio è Hai qualcosa che ti va di condividere con noi? Ti conduco nel paese dei balocchi.Ah, il paese dei balocchi.Ma io starei...adesso mi è fatto, mentre parlavamo mi è venuta in mente una cosa che vorrei condividerti e che non è traffic.Volevo allontanarmi da Traffic, ma raccontarvi qualcosa a cui mi sono avvicinato negli ultimi tempi.Tu dicevi che io sono nel meetup CNCF qua a Torino, che ogni tanto riusciamo ancora a 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.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 CI/CD, quindi sempre mondo DevOps.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, 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 questa 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è a far parlare alle persone che usano 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 in zone e ti vengono in mente degli use case use case assolutamente è 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 [Musica] 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.Quindi li abbiamo già detti nell'episodio 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 e servizi che utilizziamo, tra l'altro servizi che stiamo cambiando quindi abbiamo tipo il doppio 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 GIT BAR per la bella serata insieme e spero di non avervi annoiato di avervi raccontato qualcosa di carino e spero che proviate Traffic e se non lo provate...peggio da voi! Un abbraccio allora alla prossima! Ciao a tutti! Gitbar, il circolo dei fullstack 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 e di strumenti immancabili nella cassetta degli attrezzi dei fullstack dev.[Musica] [Risate] [SIGLA] Mi algorithm sono spaceship Pubblicare all'interno dei vostri canali Questo si chiama détesto Credo che 2 persone Siano finiti ..