PHP UK Conference 2017, appunti sparsi

Continua il mio tour come speaker, questa volta alla PHP UK Conference a Londra, per raccontare come abbiamo aiutato un nostro cliente a risparmiare fino al 50% dei costi di infrastruttura cambiando cloud. Se volete maggiori informazioni potete leggere il post sul case study, vedere la presentazione o contattarmi.

Per gli impazienti ecco la versione TL;DR

Bella organizzazione e conferenza, diversi argomenti interessanti ma nessuno strettamente legato a PHP, sembra che dopo il botto fatto con l’uscita della versione 7 ci si sia presi una pausa. Un paio di interventi, che suggerivano approcci alla Java o alla NodeJs mi hanno lasciato un po’ perplesso.

Come per la PHPBenelux anche in questo caso era la mia prima volta a questa conferenza. La location, The Brewery edificio storico nel cuore della City, era molto suggestiva, con un atmosfera molto… british. L’organizzazione è stata curata in ogni dettaglio, dall’accoglienza al catering fino alla gestione delle sale. Mi è mancato un pò l’aspetto social/networking che invece avevo trovato molto di più alla PHPBenelux . Arrivando ai talk, ho trovato diversi argomenti interessanti, anche se non PHP-centrici.

I talk migliori

Progressive Web Apps in the wild: una serie di consigli molto pratici su come andare verso una PWA

It’s all about the goto: Derick porta un talk molto approfondito sugli internals del linguaggio e come si passa da uno script php alle istruzioni macchina eseguibili. Interessante ma con un livello di attenzione richiesto over 9000.

Speak to your computer using Amazon Alexa and AWS Lambda: ovvero come interagire con Amazon Echo usando javascript + aws lambda. Molto interessante ma ad oggi con poche applicazioni pratiche, soprattutto in italia visto che la lingua supportata per ora è solo l’inglese.

Preparing your Dockerised Application for Production Deployment: beh una conferenza non è tale se non ci sono almeno un paio di talk su Docker e come questo renderà fantastica la nostra vita, risolvendo magicamente ogni problema :-P. Scherzi a parte ho apprezzato molto il fatto che il talk fosse incentrato su come utilizzare docker in produzione e non solo in sviluppo.

Silo-Based Architectures for High Availability Applications: talk sull’organizzazione di una infrastruttura, interessante l’approccio usato per ottenere alta affidabilità

Towards a framework less world (keynote di chiusura): I framework sono morti, viva i framework! In questo breve chinotto ehm keynote di chiusura Michael Cullum, attuale segretario del Framework Interoperability Group aka FIG spiega come l’approccio a componenti permetta di assemblare applicazioni come meglio crediamo. In questo contesto le recommendation FIG forniscono interfacce di riferimento alle quali i componenti possono conformarsi, garantendo libertà per gli sviluppatori di scegliere la libreria che reputano più adatta.

Cosa non mi ha convinto

Andiamo invece alle parti che mi hanno lasciato con più punti interrogativi

Websockets and Torrents: A match made in PHP: presentato un progetto personale che aveva come scopo creare una interfaccia web per i torrent alla Transmission per intenderci, cogliendo l’occasione per usare i websocket. Data la premessa il talk è stato molto ben fatto ed interessante, ma non consiglierei assolutamente l’approccio adottato: vero che esistono varie librerie php che permettono di avere un event loop, ma tutto il resto rimane comunque bloccante. Fai una chiamata al db? Bloccato. Leggi un file? Bloccato. Finché PHP non integrerà costrutti e/o driver per fare I/O non bloccante (alla Hack) non è la strada da seguire per questo tipo di applicazioni. Esiste NodeJs, usiamolo.

Integrating React.js with PHP projects: nulla da dire sullo speaker, simpatico e preparato ma l’argomento per me rientra nella lista delle cose da non fare mai se non vuoi avere gli incubi. Mescolare React con tag custom Twig e le form di Symfony è peggio che incrociare i flussi per i Ghostbusters. Nein Nein Nein!

I saw the future, and its web servers were written in PHP: molto bella la prima parte dove David è entrato nel dettaglio delle varie SAPI, la loro integrazione con i webserver (mod_php, php_fpm) di come funziona un ciclo request -> response. Nella seconda parte ha illustrato vantaggi e svantaggi di avere application server scritti in PHP come Rack per Ruby o WSGI per Python. Molto interessante il fatto che c’è uno standard FIG in discussione (“middleware“) che potrebbe aprire la strada a questo. Ho qualche dubbio su questi approcci, il fatto che PHP abbia una architettura “shared nothing” by design pone sicuramente limiti alla sua scalabilità ma evita di dover gestire diversi grattacapi come memory leak, lock delle risorse e simili.

Goodbye fellows of the Crown

Brexit permettendo farò sicuramente un pensierino a questa conf anche il prossimo anno… alla prossima!