Il laravelday è la prima conferenza tutta italiana, nata dalla community per la community, che porta case study reali e best practice raccontati da persone appassionate e professioniste che usano Laravel.

Thursday 17th November 2022

09:45 Laravel ♡ Enterprise
Talk by Christian Nastasi (40 minutes)

“Laravel è un giocattolino interessante, utile solo per siti di piccole dimensione e prototipi. Non è adatto per grandi progetti! Per quelli dovete usare Symfony o Zend (aka Laminas)” Quante volte avete sentito questo genere di opinioni? Ma sarà vero? La mia risposta è no! Laravel è vero, permette lo sviluppo rapido di un applicazione ma è perfettamente in grado di competere con gli altri framwework quando si parla di progetti Enteprise, molto complessi e con un ciclo di vita molto lungo (diversi anni). Tuttavia, esattamente come per gli altri framework, sono necessarie qualità e disciplina. All'aumentare delle features è facile che, per fare prima, si prendano scorciatoie, e di conseguenza aumentino la complessità ed il debito tecnico. Esistono quindi una serie di accorgimenti utili ad evitare che il nostro codice diventi una spaghettata, con scarsa manutenibilità, debito tecnico astronomico e costo per ogni nuova feature altrettanto alto. Per dimostrarlo, verrà svolto un esercizio semplice ma efficace: partendo da una feature molto basica ma sufficientemente significativa, si proverà ad aggiungere requisiti, esattamente come avviene nei progetti di lunga durata, aumentando di conseguenza la complessità. Verranno quindi mostrate quali strategie adottare per fare in modo che il codice rimanga semplice e manutenibile nel corso degli anni, limitando l’aumentare del debito tecnico.

10:25 Laravel e Passport: a guardia della tua infrastruttura cloud
Talk by Gabriele Cavigiolo (40 minutes)

Un esempio pratico di come Laravel in tandem con Passport possa creare un valido portone d'ingresso per un'intera infrastruttura cloud. Nel case study analizzato abbiamo implementato un sistema di autenticazione su standard OAuth 2.0 e JWT/Open ID token per un'infrastruttura formata da microservizi e servizi API sviluppati da diverse tecnologie: Laravel, Lumen, Java Spring, Python. Tutti i microservizi accettano e autenticano grazie al token rilasciato da Laravel + Passport. E se servisse autenticare tramite Google Business Suite? Abbiamo pensato una soluzione anche per quello.

11:35 Abbiamo fatto una kafkata
Talk by Filippo Galante (40 minutes)

Passare da un’architettura monolitica ai microservizi non è semplice. In Jobtech abbiamo comunque iniziato questo percorso e abbiamo lavorato sodo non solo all’architettura di microservizi in Laravel 9 ma anche alla comunicazione tra di loro. Come message broker abbiamo deciso di integrare Apache Kafka e, dopo numerose analisi, abbiamo sviluppato un package che fa da wrapper per comunicare con Kafka. Ma non solo, abbiamo creato anche uno scaffolding base per i vari microservizi, diversi strumenti accessori per facilitare lo sviluppo degli stessi e automatizzato il processo CI / CD per l’infrastruttura di test e produzione su Kubernetes. In questo talk approfondiremo i vari aspetti del processo che ci ha portato a… fare una kafkata!

12:15 Deploy di Laravel su AWS Lambda (from Zero to Hero)
Talk by Francesco Liuzzi (40 minutes)

Grazie a Serverless e Bref.sh è possibile mettere (facilmente) online una web-app in Laravel su AWS. Vedremo come è possibile dar vita ad un’architettura complessa (con web server, object storage, code, cache, database, CDN) ad alta disponibiltà e scalabile, mantenendo un costo basso ed utilizzando esclusivamente servizi fully-managed.

14:30 "User Account Provisioning" in Laravel + SSO con SimpleSAMLphp
Talk by Carlo Tafuro (40 minutes)

L'esperienza che si intende descrivere nasce da specifiche richieste di un operatore commerciale che vende i suo prodotti attraverso più canali di ecommerce rivolti ad aree geografiche distinte. L'esigenza da soddisfare è stata quella di creare un unico aggregatore di account utente (clienti) con un cruscotto in cui l'utente potesse effettuare la registrazione e aggiornare i dati del proprio profilo comprese le credenziali di accesso. Il cruscotto è stato realizzato in Laravel e l'autenticazione al cruscotto stesso e ai diversi canali di ecommerce (basati su WooCommerce e Shopify) è stata governata da un identity provider in SSO basato su SimpleSAMLphp. L'identity provider necessita di avere un backend di dati utente per convalidare la password e per costruire un payload con i dati del profilo utente da condividere con i service provider federati (siti di ecommerce), è stato quindi sviluppato un modulo di SimpleSAMLphp che interroga il cruscotto Laravel attraverso una chiamata json ad una rotta api per convalidare la password fornita dall'utente sul modulo di login e per riceve in risposta i dati del profilo. Lo stesso cruscotto Laravel è stato a sua volta federato come service provider per un accesso in SSO grazie al package aacotroneo/laravel-saml2. Particolare attenzione è stata fornita alla protezione della rotta api esposta da Laravel ad uso e consumo di SimpleSAMLphp definendo un meccanismo di autenticazione della chiamata e modificando il rate limit impostato di default da Laravel sulle rotte di tipo api. L'architettura esposta durante il Talk è dettagliata in ogni passo al link: https://github.com/carlotafuro/talk-laravelday-2022

15:10 Aumentare le prestazioni dell'applicazione web con Laravel Octane
Talk by Roberto Butti (40 minutes)

Laravel è molto più che un framework. Laravel è un ecosistema (supportato da una grande community) con tool, servizi e librerie che permettono di progettare, sviluppare, rilasciare ed evolvere applicazioni Web. Oggi, si parla molto di applicazioni performanti, scalabili, veloci, che siano in grado di supportare un elevato numero di utenti concorrenti e di conseguenza, di un elevato numero di richieste concorrenti. Nell'ecosistema Laravel, lo strumento Laravel Octane ci permette di ottimizzare le applicazioni tramite tecniche come il riuso delle istanze degli oggetti del framework, l'esecuzione asincrona, la predisposizione di meccanismi di storage (Swoole Table) e di caching. Durante il talk verrà mostrato l'utilizzo di Laravel Octane in una applicazione web, nelle fasi di installazione, configurazione, implementazione ed utilizzo dei meccanismi asincroni. Inoltre verranno mostrate le implicazioni e gli accorgimenti da adottare per un utilizzo efficace di Laravel Octane per evitare problemi di memory leak e di deadlock.

16:20
5
Implementa la ricerca con il linguaggio naturale in Laravel
Talk by Marco Insabato (40 minutes)

Stanco degli algoritmi di ricerca per parole chiave? Laravel Scout ci permette di implementare algoritmi di ricerca custom. Perchè non implementare in Laravel i modelli BERT pre-addestrati di google?

17:00
6
Laravel Queue: quale driver scegliere
Talk by Bryan Ferracuti (40 minutes)

Laravel supporta un utilizzo avanzato delle code attraverso diversi driver, Redis, Sql ed Sqs. Andremo a vedere perchè e come andare a implementare e configurare le code con i vari driver all'interno di un sistema complesso basato su Laravel , concludendo con un confronto fra l'utilizzo dei tre differenti Driver.