Abonnez-vous pour recevoir des notifications sur les nouveaux articles :

Disponibilité générale de l'API Browser Rendering, déploiement de Cloudflare Snippets et mise à disposition de Workers for Platforms pour l'ensemble des utilisateurs

2024-04-05

Lecture: 5 min.
Cet article est également disponible en English, en 繁體中文, en Deutsch, en 日本語, en 한국어, en Español et en 简体中文.

L'API Browser Rendering est désormais accessible à tous les clients d'une offre Workers payante avec gestion améliorée des sessions

Browser Rendering API GA, rolling out Cloudflare Snippets, SWR, and bringing Workers for Platforms to our PAYGO plans

En mai 2023, nous avons annoncé le programme de version bêta ouverte de l'API Workers Browser Rendering, qui permet aux développeurs de contrôler une instance de navigateur headless de manière programmatique, d'interagir avec celle-ci et de créer des flux d'automatisation pour leurs applications et leurs produits.

À la même période, nous avons lancé une version de la bibliothèque Puppeteer compatible avec Browser Rendering. Grâce à celle-ci, les développeurs peuvent utiliser une API familière en complément de Cloudflare Workers afin de créer toutes sortes de flux de travail, tels que des captures d'écran de pages ou des tests automatiques de logiciels.

Aujourd'hui, nous allons encore plus loin en faisant sortir Browser Rendering de la version bêta et en proposant le service à tous les utilisateurs souscripteurs d'une offre Workers payante. En outre, nous améliorons encore notre API et inaugurons une nouvelle fonctionnalité dont nous discutons depuis longtemps au sein de la communauté de la version bêta ouverte : la gestion des sessions.

Gestion des sessions

La gestion des sessions permet aux développeurs de réutiliser les navigateurs précédemment ouverts dans les scripts de Workers. La réutilisation des sessions de navigateur présente un avantage : il n'est pas nécessaire d'instancier un nouveau navigateur pour chaque requête et chaque tâche, ce qui permet d'augmenter considérablement les performances, tout en réduisant les coûts.

Auparavant, pour maintenir l'activité d'une instance de navigateur et la réutiliser, vous deviez mettre en œuvre du code complexe avec Durable Objects. Aujourd'hui, nous avons simplifié les choses en maintenant l'activité de vos navigateurs en arrière-plan et en ajoutant à l'API Puppeteer de nouvelles méthodes de gestion des sessions qui vous permettent d'accéder à toutes vos sessions en cours, à l'historique de vos activités et à vos limites actives.

Voici comment vous pouvez établir la liste de vos sessions actives :

Nous avons ajouté à la documentation pour développeurs un exemple de script Workers consacré à la gestion de sessions.

const sessions = await puppeteer.sessions(env.RENDERING);
console.log(sessions);
[
   {
      "connectionId": "2a2246fa-e234-4dc1-8433-87e6cee80145",
      "connectionStartTime": 1711621704607,
      "sessionId": "478f4d7d-e943-40f6-a414-837d3736a1dc",
      "startTime": 1711621703708
   },
   {
      "sessionId": "565e05fb-4d2a-402b-869b-5b65b1381db7",
      "startTime": 1711621703808
   }
]

Analyses de données et fichiers journaux

L'observabilité est une composante essentielle de tout produit Cloudflare. Vous trouverez des analyses de données et des journaux détaillés de votre utilisation de Browser Rendering dans le tableau de bord, sous la section Workers & Pages de votre compte.

Browser Rendering est maintenant disponible pour tous les clients souscripteurs d'une offre Workers payante. Pendant cette période, chaque compte est limité à l'exécution de deux nouveaux navigateurs par minute et de deux navigateurs simultanés, sans frais. Consultez notre page pour développeurs pour faire vos premiers pas.

Nous déployons l'accès à Cloudflare Snippets

Puissants, programmables et gratuits, les fragments Snippets sont le meilleur moyen d'effectuer des modifications complexes de requêtes et de réponses HTTP dans Cloudflare. Les configurations qui étaient autrefois trop avancées pour être mises en œuvre avec les produits Rules sont désormais possibles avec Snippets. Depuis l'annonce initiale effectuée à l'occasion de la Developer Week 2022, la promesse d'étendre les fonctionnalités prêtes à l'emploi de Rules avec l'écriture de code JavaScript simple suscite l'enthousiasme de la communauté Cloudflare.

Rien qu'au cours des trois premiers mois de 2024, le volume de trafic transitant par Snippets a été multiplié par plus de 7, passant de 2 200 requêtes par seconde en moyenne au début du mois de janvier à plus de 17 000 en mars.

Cependant, au lieu d'ouvrir les vannes et de laisser des millions d'utilisateurs de Cloudflare tester Snippets (et potentiellement en provoquer une défaillance) de la manière la plus inattendue, nous allons prendre notre temps et opter pour un déploiement progressif, à l'instar des déploiements graduels récemment publiés pour Workers.

Au cours des semaines à venir, 5 % des utilisateurs de Cloudflare commenceront à voir l'indication « Snippets » affichée sous l'onglet Rules du menu de niveau Zone de leur tableau de bord. Si vous faites partie des premiers 5 % d'utilisateurs, passez à l'action et testez la rapidité et la puissance de Snippets, même avec des scénarios d'utilisation avancés tels que les changements de date dynamiques dans les en-têtes ou les tests A/B avec la fonction `math.random`. Quelle que soit l'utilisation que vous ferez de Snippets, gardez une chose à l'esprit : il s'agit encore d'une version alpha ; aussi, n'utilisez pas Snippets pour le trafic de production, pour l'instant.

D'ici là, gardez un œil sur le nouvel onglet Snippets sur le tableau de bord de Cloudflare et, entre-temps, apprenez-en davantage sur la puissance et la flexibilité de Snippets dans la documentation pour développeurs.

Disponible prochainement : la revalidation asynchrone avec la directive stale-while-revalidate

L'une des fonctionnalités les plus demandées par nos clients est la revalidation asynchrone avec la directive de cache stale-while-revalidate (SWR), que nous vous proposerons au cours de la seconde moitié de 2024. Cette fonctionnalité sera intrinsèquement disponible dans le cadre de notre nouvelle architecture de réseau CDN, qui a été développée avec Rust, en priorisant les performances et la sécurité de la mémoire.

Actuellement, lorsqu'un client demande une ressource (par exemple, une page web ou une image), Cloudflare vérifie si la ressource est présente dans le cache et fournit une copie en cache, le cas échéant. Si le fichier ne se trouve pas dans le cache ou si elle est périmée, Cloudflare se connecte au serveur d'origine afin de vérifier s'il existe une nouvelle version du fichier, puis transmet cette dernière à l'utilisateur final. Ce délai d'attente ajoute de la latence à ces requêtes et a un impact sur les performances.

Stale-while-revalidate est une directive de cache qui permet à la version expirée ou périmée d'une ressource d'être servie à l'utilisateur final, tout en permettant à Cloudflare de consulter le serveur d'origine afin de déterminer s'il existe une version plus récente de la ressource. S'il existe une version mise à jour, le serveur d'origine la transmet à Cloudflare, tout en mettant le cache à jour. Ce mécanisme permet au client de recevoir rapidement une réponse du cache, tout en assurant qu'il a toujours accès au contenu le plus récent. La directive stale-while-revalidate permet d'atteindre un équilibre entre la diffusion efficace du contenu et la garantie de sa récence, améliorant ainsi les performances et la fluidité de l'expérience utilisateur.

Les clients qui souhaitent faire partie de nos bêta-testeurs et participer à l'aventure peuvent s'inscrire ici ; nous vous informerons lorsque la fonctionnalité sera prête à être testée !

À venir le 16 avril 2024 : Workers for Platforms pour notre offre avec paiement en fonction de l'utilisation

Aujourd'hui, nous sommes ravis de vous annoncer que le 16 avril, Workers for Platforms sera disponible pour tous les développeurs, grâce à notre nouvelle offre à 25 $ avec paiement en fonction de l'utilisation !

Workers for Platforms change la façon dont nous développons les logiciels, en vous donnant la possibilité d'intégrer la personnalisation et l'adaptation directement dans votre produit. Avec Workers for Platforms, vous pouvez déployer du code personnalisé au nom de vos utilisateurs ou laisser vos utilisateurs déployer directement leur code sur votre plateforme, sans que vous ou vos utilisateurs n'ayez à gérer une quelconque infrastructure. Vous pouvez utiliser Workers for Platforms avec toutes les annonces passionnantes qui ont été effectuées à l'occasion de cette Developer Week – la solution prend en charge toutes les liaisons fournies avec Workers (notamment Workers AI, D1 et Durable Objects, ainsi que Python Workers.

Voici ce que certains de nos clients, des grandes entreprises aux start-ups, développent avec Workers for Platforms :

  • Shopify Oxygen est une plateforme d'hébergement pour Hydrogen, la plateforme d'e-commerce basée sur Remix, et a été conçue avec Workers for Platforms ! La combinaison Hydrogen/Oxygen permet aux commerçants de Shopify de contrôler l'expérience des acheteurs en s'affranchissant des restrictions inhérentes aux modèles de vitrine génériques.

  • Grafbase est une plateforme de données permettant aux développeurs de créer une API GraphQL serverless qui unifie les sources de données d'une entreprise sur un point de terminaison unique. La solution utilise Workers for Platforms pour offrir aux développeurs le contrôle et la flexibilité indispensables au déploiement de code écrit en langage JavaScript/TypeScript ou WASM.

  • Triplit est une base de données open source qui synchronise en temps réel les données entre le serveur et le navigateur. Elle permet aux utilisateurs de développer des applications en temps réel, à faible latence, avec des fonctionnalités intégrées telles que l'interrogation relationnelle, la gestion de schémas et le stockage côté serveur. Le moteur d'interrogation et de synchronisation de la solution est développé avec Durable Objects, et elle utilise Workers for Platforms pour permettre aux clients d'intégrer du code JavaScript personnalisé à leur instance de base de données Triplit.

Outils pour l'observabilité et les contrôles au niveau de la plateforme

Workers for Platforms ne vous permet pas seulement de déployer Workers sur votre plateforme ; nous savons également à quel point il est important de pouvoir observer et contrôler les instances Workers de vos utilisateurs. Nous avons quelques solutions pour vous aider :

  • Limites personnalisées : définissez des plafonds de temps processeur ou de sous-requêtes pour les instances Workers de vos utilisateurs. La solution peut être utilisée pour définir des limites afin de contrôler vos coûts sur Cloudflare et/ou de façonner votre propre modèle de tarification et de création d'offres. Par exemple, si vous proposez votre plateforme avec un modèle freemium, vous pouvez réduire la limite de temps processeur pour les clients utilisateurs de votre offre gratuite.

  • Tail Workers : les événements Tail Workers contiennent des métadonnées relatives à l'instance Workers, ainsi que des messages console.log(), et permettent de capturer toutes les exceptions non gérées. Ils peuvent être utilisés pour fournir à vos développeurs une fonctionnalité de journalisation en direct, afin d'identifier les erreurs et de résoudre les problèmes en temps réel.

  • Outbound Workers: obtenez une visibilité de toutes les requêtes sortantes des instances Workers de vos utilisateurs. Outbound Workers réside entre l'instance Workers de l'utilisateur et les requêtes fetch() transmises par celle-ci, vous permettant d'avoir une visibilité totale sur la requête avant qu'elle ne soit transmise à Internet.

Tarification

Nous voulions nous assurer que Workers for Platforms serait proposée à un tarif abordable pour les passionnés, les développeurs solo et les développeurs indépendants. Workers for Platforms fait partie d'une nouvelle offre payante à 25 $ et propose les caractéristiques suivantes :

.tg {border-collapse:collapse;border-color:#ccc;border-spacing:0;} .tg td{background-color:#fff;border-color:#ccc;border-style:solid;border-width:1px;color:#333; font-family:Arial, sans-serif;font-size:14px;overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{background-color:#f0f0f0;border-color:#ccc;border-style:solid;border-width:1px;color:#333; font-family:Arial, sans-serif;font-size:14px;font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-buh4{background-color:#f9f9f9;text-align:left;vertical-align:top} .tg .tg-0lax{text-align:left;vertical-align:top}

Included Amounts
Requests 20 million requests/month
+$0.30 per additional million
CPU time 60 million CPU milliseconds/month
+$0.02 per additional million CPU milliseconds
Scripts 1000 scripts
+0.02 per additional script/month

Montants inclus

Requêtes

20 millions de requêtes/mois+0,30 USD par million supplémentaire

Temps processeur

60 millions de millisecondes processeur/mois+0,02 $ par million de millisecondes processeur supplémentaires

Scripts

1 000 scripts+0,02 $ par script supplémentaire/mois

Workers for Platforms sera disponible à l'achat le 16 avril 2024 !

Workers for Platforms sera disponible à l'achat depuis l'onglet Workers for Platforms du tableau de bord Cloudflare le 16 avril 2024.

En attendant, pour en savoir plus sur Workers for Platforms, consultez notre projet de démarrage et la documentation pour développeurs.

Nous protégeons des réseaux d'entreprise entiers, aidons nos clients à développer efficacement des applications à l'échelle d'Internet, accélérons tous les sites web ou applications Internet, repoussons les attaques DDoS, tenons les pirates informatiques à distance et pouvons vous accompagner dans votre parcours d'adoption de l'architecture Zero Trust.

Accédez à 1.1.1.1 depuis n'importe quel appareil pour commencer à utiliser notre application gratuite, qui rend votre navigation Internet plus rapide et plus sûre.

Pour en apprendre davantage sur notre mission, à savoir contribuer à bâtir un Internet meilleur, cliquez ici. Si vous cherchez de nouvelles perspectives professionnelles, consultez nos postes vacants.
Developer Week (FR)DéveloppeursDeveloper PlatformApplication ServicesNouveautés produitsGeneral Availability (FR)Cloudflare Workers

Suivre sur X

Tanushree Sharma|@_tanushreeeee
Celso Martinho|@celso
Matt Bullock|@mibullock
Cloudflare|@cloudflare

Publications associées

31 octobre 2024 à 13:00

Moving Baselime from AWS to Cloudflare: simpler architecture, improved performance, over 80% lower cloud costs

Post-acquisition, we migrated Baselime from AWS to the Cloudflare Developer Platform and in the process, we improved query times, simplified data ingestion, and now handle far more events, all while cutting costs. Here’s how we built a modern, high-performing observability platform on Cloudflare’s network. ...