Durante la recente Developer Week 2023, Cloudflare ha rivelato una nuova API Worker che consente agli sviluppatori di stabilire socket TCP in uscita. Questa innovativa API socket consente agli sviluppatori di connettersi senza problemi alle infrastrutture basate su TCP direttamente da un Worker, che ora include i database. Finora i Worker potevano comunicare solo con HTTP endpoints e altri servizi Cloudflare; tuttavia, la maggior parte dei database richiede ai client di stabilire socket TCP diretti.
Brendan Irvine-Broque, Product Manager di Cloudflare, e Matt Silverlock, Director of Product di Cloudflare, hanno spiegato la nuova API: "Con i Workers, puntiamo a supportare API standard che siano supportate da tutti i browser e gli ambienti non browser, laddove possibile, (...) ma per i socket TCP abbiamo dovuto affrontare una sfida: non esisteva uno standard chiaro e condiviso tra i runtime. Abbiamo cercato di incorporare i migliori elementi delle API e delle proposte esistenti e intendiamo contribuire agli standard futuri".
Nell'autunno scorso, Cloudflare, Vercel e Shopify hanno fondato WinterCG, un nuovo gruppo comunitario dedicato alla creazione di implementazioni interoperabili di API web standardizzate in ambienti di sviluppo non basati su browser web e JavaScript.
È possibile accedere all'ultima API importando la funzione connect da cloudflare:sockets. Sebbene il driver di database JavaScript per PostgreSQL, pg, supporti già la nuova API, i driver MySQL - mysql e mysql2 -devono ancora supportarla. Irvine-Broque e Silverlock avvertono che:
Per ogni richiesta viene creata una nuova connessione. Questa è una delle più grandi sfide attuali della connessione ai database dalle funzioni serverless, su tutte le piattaforme (...) stiamo già lavorando ad approcci più semplici al pooling delle connessioni per i database più diffusi.
Cloudflare prevede l'introduzione di ulteriori funzionalità in futuro, come il supporto delle connessioni TCP e UDP in entrata, che sono state richieste dagli sviluppatori, insieme ai protocolli applicativi basati su QUIC.
L'introduzione dell'API connect() si affianca a numerosi altri annunci interessanti durante la Developer Week 2023. Tra questi, il lancio del Secrets Store per la gestione sicura dei segreti delle applicazioni, i miglioramenti a D1 (il database serverless di Cloudflare) e la concurrency consumer per il servizio di messaggistica Queues. Inoltre, Cloudflare ha presentato integrazioni di database per Neon, PlanetScale e Supabase on Workers.
Ogni socket TCP aperto contribuisce al numero massimo di connessioni aperte che i Worker possono mantenere contemporaneamente. Si noti che non è ancora possibile creare connessioni TCP sulla porta 25 per inviare e-mail ai server di posta SMTP.
Con la continua evoluzione delle piattaforme no-code e low-code come AppMaster, l'introduzione di funzioni come l'API connect() darà ulteriore impulso al panorama dello sviluppo, semplificando le connessioni e creando nuove opportunità per gli sviluppatori.