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

Inaugurer une expérience de développement unifiée dans Cloudflare Workers et Pages

2023-05-17

Lecture: 6 min.
Cet article est également disponible en English, en Deutsch, en 日本語, en Español et en 简体中文.

Aujourd'hui, nous sommes ravis d'annoncer que Pages et Workers vont unir leurs forces sous la forme d'une expérience de produit unique !

Bringing a unified developer experience to Cloudflare Workers and Pages

Nous connaissons tous cette situation. Dans un élan de créativité, vous visualisez, avec une incroyable clarté, l'application que vous souhaitez créer ; toutes les composantes s'imbriquent parfaitement – peut-être un front-end rendu côté serveur et une base de données SQLite pour votre back-end. Vous vous dirigez vers votre ordinateur avec des idées plein la tête. Vous savez que vous pouvez créer votre application ; vous avez simplement besoin des bons outils. Vous vous connectez à votre tableau de bord Cloudflare, mais vous êtes alors confronté à une décision incroyablement difficile :

Cloudflare Workers or Pages ?

À première vue, ces deux solutions sont très semblables, mais elles diffèrent également dans les détails. Laquelle des deux vous permettra de concrétiser votre idée ? Et si vous optez pour la mauvaise solution ? Quels compromis devrez-vous accepter si vous choisissez l'une ou l'autre ? Ce sont des questions que nos utilisateurs ne devraient jamais avoir à se poser ; en réalité, toutefois, c'est souvent le cas. C'est ce que nous confirme notre vaste communauté d'utilisateurs et de clients lorsque nous échangeons avec eux. La paralysie décisionnelle frappe fort lorsqu'il s'agit de choisir entre Pages et Workers, deux produits dédiés au développement d'applications serverless.

En résumé, ce n'est pas une situation que nous souhaitons faire vivre à nos utilisateurs, surtout lorsqu'ils sont sur le point d'avoir une idée phénoménale – ou même une grande idée. C'est pourquoi nous sommes ravis de vous présenter la première étape de la fusion des meilleures fonctionnalités de deux produits très appréciés, Workers et Pages, sous la forme d'une plateforme de développement unique et puissante. Cette annonce marque le début du voyage vers une destinée commune à ces deux produits ; nous voulions donc profiter de l'occasion pour vous expliquer pourquoi nous entreprenons ce voyage, les fonctionnalités que vous pouvez utiliser aujourd'hui et les évolutions à venir.

Plus d'informations sur le « pourquoi »

Pages et Workers ont toujours été intimement liés. Jusqu'à aujourd'hui, nous avons toujours considéré ces deux produits comme frère et sœur : chacun possède des caractéristiques particulières distinctes, mais tous deux permettant à leurs utilisateurs respectifs de créer des applications riches et puissantes. Chaque produit était dédié à un ensemble particulier de scénarios d'utilisation.

Workers a d'abord incarné un moyen d'étendre notre réseau CDN ; ensuite, la solution s'est développée pour devenir une plateforme de traitement à usage général hautement configurable. Pages était à l'origine une solution d'hébergement web statique, qui s'est étendue au territoire de Jamstack. Au fil du temps, Pages a commencé à acquérir les puissantes fonctionnalités de traitement de Workers, tandis que Workers a commencé à adopter les riches fonctionnalités de développement introduites par Pages. La frontière entre ces deux produits s'est estompée, et la compréhension des différences entre ces produits est devenue difficile pour nos utilisateurs, à l'instar du choix du produit adapté aux besoins de leur application.

Nous savons que nous pouvons faire mieux pour atténuer cette paralysie décisionnelle et vous aider à progresser rapidement dans votre expérience de développement.

C'est super, mais qu'est-ce que ça veut dire ?

Au lieu de vous imposer d'accepter des compromis entre ces deux produits, nous voulons vous proposer le meilleur de chacun de ces mondes : une plateforme de développement unique, proposant à la fois une puissante capacité de traitement et un service ultra-rapide d'hébergement de ressources statiques, qui s'intègre de manière transparente à notre portefeuille de produits de stockage tels que R2, Queues, D1 et d'autres, et fournit des outils riches tels que CI/CD, des flux de travail git-ops, des aperçus en direct et des configurations d'environnement flexibles.

Tous les détails dans un seul endroit

Aujourd'hui, un grand nombre de nos développeurs utilisent à la fois Pages et Workers pour créer différents composants de leurs applications. Cependant, ces produits résident toujours dans des parties distinctes du tableau de bord de Cloudflare, et ne disposent pas de fonctionnalités de traduction des données entre l'un et l'autre, ce qui complique leur utilisation conjointe et le suivi de la pile de votre application. Bien que nous réfléchissions encore à l'apparence et l'ergonomie de la future plateforme, nous envisageons un monde dans lequel les utilisateurs auront la possibilité de gérer toutes leurs applications depuis un emplacement unique.

Plus besoin de parcourir l'ensemble du tableau de bord à la recherche des composants de votre application : vous disposerez d'un accès immédiat à toutes les informations concernant votre projet.

Primitives

La convergence de Pages et Workers nous permettra également de redéfinir le concept de « projet » en introduisant une nouvelle feuille blanche de possibilités pouvant être interconnectées. Dans un projet, vous pourrez ajouter (1) des actifs statiques, (2) des fonctions serverless (Workers), (3) des ressources ou (4) toute combinaison de ces éléments.

Et pour vous permettre de déchaîner tout le potentiel de votre application, nous explorons des capacités de projet qui vous permettront d'assurer l'auto-provisionnement et l'intégration directe de ressources telles que KV, Durable Objects, R2 et D1. Et surtout, la possibilité d'utiliser toutes ces primitives dans un projet vous permettra d'effectuer des restaurations et des prévisualisations en toute sécurité ; en effet, nous assurerons la synchronisation des versions de vos actifs, fonctions et ressources à chaque déploiement. Ainsi, vous n'aurez pas à craindre qu'ils soient obsolètes lors du prochain déploiement de votre application.

Déploiements

L'une des qualités les plus remarquables de Pages est son approche des déploiements, centrée sur git-ops. Dans notre monde convergent, vous disposerez du choix de connecter, construire et déployer des référentiels git contenant n'importe quelle combinaison d'actifs statiques, de fonctions serverless et de liaisons à des ressources ; vous pourrez par ailleurs tirer profit du même système CI performant que propose aujourd'hui Pages.

Comme dans Pages, vous pourrez prévisualiser les déploiements de votre projet avec des URL uniques protégées par Cloudflare Access, disponibles dans vos PR ou via l'interface de commande Wrangler. Nous savons que toute grande idée doit faire l'objet d'un examen approfondi avant son grand lancement ; nous proposerons donc également un remarquable concept d'environnements permettant l'exécution de tests dans différentes configurations.

Développement local

L'un des aspects les plus importants à prendre en compte est sans doute notre histoire de développement local dans un monde post-convergent. L'expérience des développeurs ne devrait pas être différente de notre approche de la convergence des produits. Dans le futur, lorsque vous travaillerez avec notre interface de ligne de commande Wrangler, attendez-vous à bénéficier d'un ensemble unifié et prévisible de commandes utilisables avec votre projet – par exemple, de simples commandes « wrangler dev » et « wrangler deploy ». La présence d'un fichier de configuration applicable à l'ensemble de votre projet, ainsi qu'à tous ses composants, vous assurera que votre commande concerne l'ensemble du projet – et pas uniquement certaines parties de celui-ci !

Quels sont les avantages ?

La convergence de Workers et de Pages ne nous permet pas simplement de réunir, sur une plateforme de développement unique, toutes les fonctionnalités préférées des développeurs dans chaque produit. Elle nous permet également d'offrir tous les avantages de chaque produit en termes de performances, de coûts et de charge. Ces avantages incluent notamment :

  • Une latence extrêmement basse, avec des ressources statiques et une capacité de traitement distribuées dans le monde entier, grâce à notre réseau, présent à seulement 50 ms de 95 % de la population mondiale connectée à Internet.

  • L'absence de frais de trafic sortant et l'hébergement gratuit des ressources statiques.

  • Un environnement d'exécution JavaScript normalisé offrant une compatibilité transparente avec les packages et bibliothèques que vous connaissez déjà.

Des migrations fluides pour tous

Si vous utilisez déjà Pages ou Workers et vous commencez à vous préoccuper des conséquences de cette fusion sur vos projets existants, n'ayez crainte ! Tandis que nous élaborons cette architecture fusionnée, la fluidité de la migration demeure notre priorité absolue et l'étoile Polaire de chaque étape de la création de cette plateforme de développement unifiée. Les projets existants dans Pages et Workers resteront fonctionnels, sans nécessiter la moindre intervention des utilisateurs. En revanche, vous aurez accès à un nombre croissant de fonctionnalités conçues pour enrichir vos projets et flux de travail existants, quel que soit le produit dans lequel vous avez commencé à développer votre projet.

Quoi de neuf aujourd'hui ?

Au cours de l'année à venir, nous allons nous employer à développer la convergence de Pages et Workers dans une expérience unique, en réunissant non seulement les produits eux-mêmes, mais également, en coulisses, nos équipes produit, d'ingénierie et de conception.

Bien que nous soyons très impatients de vous accueillir dans le nouveau monde convergent, ce changement n'aura malheureusement pas lieu du jour au lendemain. Nous avons l'intention de franchir des étapes importantes, mais progressives, au cours des prochains trimestres, afin d'assurer une transition en douceur vers la convergence ; et à l'occasion de cette Developer Week, nous sommes ravis de faire le premier pas dans cette direction. Vous commencerez peut-être à remarquer des différences sur le tableau de bord.

Faire nos premiers ensemble

L'expérience de l'intégration de Pages et de Workers dans un flux unique entraînera, pour vous, des changements sur le tableau de bord lors de la création de projets. Nous rassemblons progressivement les deux produits en unifiant le flux de création, afin de vous permettre de créer un projet Pages ou Workers depuis une interface unique.

Travaillez plus rapidement grâce aux modèles

Nous comprenons l'envie classique des développeurs de mettre immédiatement les mains dans le cambouis et se lancer dans la concrétisation de leur grande vision. Nous facilitons plus que jamais la transformation d'une idée en une application déployée sur le réseau Cloudflare. En quelques clics seulement, vous pouvez déployer un modèle de départ, qu'il s'agisse d'une simple instance « Hello, World ! » dans Workers ou d'un plug-in ChatGPT. À l'avenir, nous élaborerons des modèles Pages, accessibles depuis le tableau de bord, qui vous permettront de créer automatiquement un nouveau référentiel et de déployer des applications full-stack en quelques clics.

Accédez immédiatement à vos frameworks full-stack préférés

Nous n'avons pas non plus l'intention de nous limiter aux modèles statiques ou à notre tableau de bord. L'intégration du framework de votre choix ne nécessite pas que vous renonciez aux outils que vous connaissez et appréciez déjà. Si vous êtes impatient de voir ce que nous voulons dire lorsque nous vous parlons de « déployer avec votre framework full-stack préféré » ou de « découvrir la puissance de Workers », exécutez simplement les commandes suivantes depuis votre terminal...

...Et profitez du spectacle ! Cette https://blog.cloudflare.com/making-cloudflare-for-webnouvelle expérience d'interface de ligne de commande s'intègre aux interfaces de ligne de commande de certains de nos frameworks full-stack les plus performants, bénéficiant d'une prise en charge étendue, tels que Angular, Next, Qwik et Remix, vous offrant ainsi un contrôle total de votre approche de la création de nouveaux projets. Depuis cet outil, vous pouvez également déployer différentes instances Workers à l'aide de nos puissants modèles de démarrage, qui proposent une expérience semblable à celle d'un assistant.

npm create cloudflare@latest

Un emplacement unique où trouver toutes vos applications

Nous faisons un pas de plus vers la mise en œuvre d'une expérience unifiée en fusionnant les tableaux de bord des listes de projets Pages et Workers. Lorsque vous aurez déployé votre application, vous remarquerez que tous vos projets Pages et Workers sont regroupés sur une même page, vous évitant ainsi de parcourir différentes parties de votre tableau de bord. Suivez vos données analytiques d'utilisation des fonctions Workers/Pages depuis un emplacement unique. À l'avenir, ces cartes ne seront plus identifiables comme spécifiques à Pages ou Workers, mais simplement comme « projets » réunissant des actifs, des fonctions et des ressources !

Et ensuite ?

Au fur et à mesure de la mise en œuvre, vous remarquerez que les deux produits deviendront de plus en plus semblables, tandis que nous débloquerons des fonctionnalités pour chaque plateforme, jusqu'à ce qu'elles soient prêtes à être unifiées ; cela concerne, par exemple, l'intégration de git pour vos instances Workers et la disponibilité d'un fichier de configuration pour vos projets Pages.

Suivez-nous sur Twitter pour découvrir les nouvelles fonctionnalités et en apprendre davantage sur les nouveautés que nous proposerons à chaque étape.

Vous avez une idée ?

Nous ne pourrions évidemment pas construire une plateforme incroyable sans d'abord écouter la voix de notre communauté. D'ailleurs, nous avons préparé une enquête afin d'obtenir plus d'informations sur nos utilisateurs et recueillir des commentaires sur les fonctionnalités que vous aimeriez voir mises en œuvre. Si vous avez quelques minutes, nous vous invitons à y répondre ou à nous contacter sur le Discord Cloudflare Developers ou sur Twitter @CloudflareDev.

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éveloppeurs

Suivre sur X

Nevi Shah|@nevikashah
Cloudflare|@cloudflare

Publications associées

24 octobre 2024 à 13:00

Durable Objects aren't just durable, they're fast: a 10x speedup for Cloudflare Queues

Learn how we built Cloudflare Queues using our own Developer Platform and how it evolved to a geographically-distributed, horizontally-scalable architecture built on Durable Objects. Our new architecture supports over 10x more throughput and over 3x lower latency compared to the previous version....

09 octobre 2024 à 13:00

Improving platform resilience at Cloudflare through automation

We realized that we need a way to automatically heal our platform from an operations perspective, and designed and built a workflow orchestration platform to provide these self-healing capabilities across our global network. We explore how this has helped us to reduce the impact on our customers due to operational issues, and the rich variety of similar problems it has empowered us to solve....