Lors de la récente Developer Week 2023, Cloudflare a révélé une nouvelle API Worker qui permet aux développeurs d'établir des sockets TCP sortants. Cette API de socket révolutionnaire permet aux développeurs de se connecter de manière transparente à des infrastructures basées sur TCP directement à partir d'un Worker, ce qui inclut désormais les bases de données. Jusqu'à présent, les Workers ne pouvaient communiquer qu'avec HTTP endpoints et d'autres services Cloudflare ; cependant, la plupart des bases de données nécessitent que les clients établissent des sockets TCP directs.
Brendan Irvine-Broque, chef de produit chez Cloudflare, et Matt Silverlock, directeur des produits chez Cloudflare, ont expliqué la nouvelle API : "Avec les travailleurs, nous visons à prendre en charge les API standard qui sont prises en charge par les navigateurs et les environnements autres que les navigateurs dans la mesure du possible, (...) mais pour les sockets TCP, nous avons été confrontés à un défi - il n'y avait pas de norme partagée claire entre les environnements d'exécution. Nous avons essayé d'intégrer les meilleurs éléments des API et des propositions existantes, et nous avons l'intention de contribuer aux normes futures.
À l'automne dernier, Cloudflare, Vercel et Shopify ont créé WinterCG, un nouveau groupe communautaire dédié à la création d'implémentations interopérables d'API web standardisées dans des environnements de développement basés sur JavaScript et non basés sur un navigateur web.
Il est possible d'accéder à la dernière API en important la fonction connect de cloudflare:sockets. Bien que le pilote de base de données JavaScript pour PostgreSQL, pg, prenne déjà en charge la nouvelle API, les pilotes MySQL - mysql et mysql2 -ne la prennent pas encore en charge. Irvine-Broque et Silverlock mettent en garde :
Une nouvelle connexion est créée pour chaque requête. C'est l'un des plus grands défis actuels de la connexion aux bases de données à partir de fonctions sans serveur, sur toutes les plateformes (...) nous travaillons déjà sur des approches plus simples de mise en commun des connexions pour les bases de données les plus populaires.
Cloudflare prévoit de déployer d'autres fonctionnalités à l'avenir, comme la prise en charge des connexions TCP et UDP entrantes, qui ont été demandées par les développeurs, ainsi que des protocoles d'application basés sur QUIC.
L'introduction de l'API connect() s'accompagne de plusieurs autres annonces passionnantes lors de la Developer Week 2023. Il s'agit notamment du lancement du Secrets Store pour la gestion sécurisée des secrets d'application, des améliorations apportées à D1 (la base de données sans serveur de Cloudflare), et de la concurrence des consommateurs pour le service de messagerie Queues. En outre, Cloudflare a dévoilé des intégrations de bases de données pour Neon, PlanetScale et Supabase on Workers.
Chaque socket TCP ouvert contribue au nombre maximum de connexions ouvertes que les Workers peuvent maintenir simultanément. Notez que la création de connexions TCP sur le port 25 pour envoyer des courriels à des serveurs de messagerie SMTP n'est toujours pas possible.
Au fur et à mesure que les plates-formes sans code et à faible code comme AppMaster continuent d'évoluer, l'introduction de fonctionnalités telles que l'API connect() améliorera encore le paysage du développement en rationalisant les connexions et en créant de nouvelles opportunités pour les développeurs.