Cloudflare est au milieu d’une transformation importante, car il continue de développer les outils dont les développeurs ont besoin pour exécuter leurs applications sur un réseau mondial d’emplacements périphériques. Les récentes décisions ont placé la société de sécurité et de performance Internet de 18 ans sur une trajectoire de collision avec les fournisseurs de cloud à grande échelle dominants Amazon Web Services, Microsoft Azure et Google Cloud Platform.
Fondé en 2004 par Matthew Prince et Lee Holloway, Cloudflare a commencé sa vie sous le nom de Project Honeypot, un projet logiciel qui donnait aux propriétaires de sites Web la possibilité de suivre, mais pas de combattre, les spammeurs de courrier électronique.
Les cofondateurs de Cloudflare Michelle Zatlyn et Matthew Prince.
En 2009, Michelle Zatlyn, une camarade de classe de la Prince’s Harvard Business School, qui est maintenant présidente et chef de l’exploitation, a sauté à bord et a commencé à pousser Project Honeypot à devenir un service qui ne se contentait pas de suivre les activités malveillantes, mais aidait activement à les arrêter. Peu de temps après, les trois cofondateurs ont levé un tour de financement de série A auprès de Ray Rothrock chez Venrock et Carl Ledbetter chez Pelion Venture Partners, et Cloudflare est né.
Depuis lors, Cloudflare a élargi son portefeuille de produits de sécurité et de performance Internet pour les administrateurs Web, et a investi dans la construction d’un impressionnant réseau de diffusion de contenu (CDN) dans 270 villes pour l’aider à fournir ces services à des millions de clients dans le monde.
Cloudflare Workers change la donne
Même au début du CDN, les clients ont immédiatement commencé à demander des personnalisations de la plate-forme, un ajustement ici ou là pour répondre à leurs besoins uniques. Cependant, offrir ce niveau de personnalisation à chaque client n’était tout simplement pas faisable.
“Pour les plus gros clients, nous écrivions du code et le déployions en coopération avec eux”, a déclaré John Graham-Cumming, CTO de Cloudflare, à InfoWorld. “Bien sûr, c’était complètement non évolutif, vous ne pouvez pas faire ça pour vos clients et c’était littéralement dans notre code principal, c’était vraiment un gâchis. Cependant, il y avait un désir de résoudre ce problème d’une manière plus évolutive.
En 2017, Cloudflare a commencé à envisager sérieusement l’idée de permettre aux développeurs de logiciels de personnaliser ce qu’ils construisaient et exécutaient sur le réseau de Cloudflare.
Dans un article de blog de 2018, Cloud Computing without Containers, l’ancien responsable de l’ingénierie, Zack Bloom, a présenté le modèle architectural de Cloudflare, visant à permettre aux clients d’exécuter leur propre code non fiable à la fois en toute sécurité et à faible latence sur le réseau de Cloudflare.
« Cloudflare a une plate-forme de cloud computing appelée Workers. Contrairement à pratiquement toutes les autres plates-formes de cloud computing que je connais, elle n’utilise pas de conteneurs ou de machines virtuelles », a-t-il écrit.
Là où l’exécution de conteneurs orchestrés avec Kubernetes sur ce réseau aurait été d’un coût prohibitif pour Cloudflare, les isolats V8, c’est-à-dire des instances isolées du moteur JavaScript V8 créé par Google, permettraient aux clients d’exécuter leur propre code en périphérie de manière sécurisée et en bac à sable. .
“Nous avons commencé avec des isolats parce qu’ils sont légers, résolvent le problème de démarrage à froid, nous permettent d’évoluer et d’être vraiment payants”, a déclaré Aly Cabral, vice-président des produits chez Cloudflare, à InfoWorld. “Ce sont des qualités que nous ne sommes pas prêts à sacrifier.”
Ces décisions architecturales s’accompagnaient également d’un ensemble de compromis.
“Aucune technologie n’est magique, chaque transition comporte des inconvénients”, écrivait Bloom à l’époque. « Dans un univers isolé, vous devez soit écrire votre code en JavaScript (nous utilisons beaucoup de TypeScript), soit dans un langage qui cible WebAssembly comme Go ou Rust. Si vous ne pouvez pas recompiler vos processus, vous ne pouvez pas les exécuter dans un isolat. Cela pourrait signifier que le serveur sans serveur basé sur l’isolat est réservé aux applications plus récentes et plus modernes dans un avenir immédiat. »
Pour l’analyste de Gartner Raj Bala, cela signifie toujours que “Workers n’est pas une plate-forme à usage général”, car “les applications doivent s’adapter à un ensemble de critères très limités pour fonctionner, comme les fonctions basées sur JavaScript, avec une certaine taille de package et durée d’exécution.
Bien que le ciblage des charges de travail JavaScript ait donné à Cloudflare une tête de pont importante pour le lancement des travailleurs, cela impliquait également de miser gros sur le potentiel de WebAssembly pour « être un environnement d’exécution ou une plate-forme avec laquelle d’autres langages fonctionneraient et seraient entraînés avec lui », a déclaré Graham-Cumming.
Viser une nouvelle croissance nette
Alors que de nombreux clients se sont d’abord tournés vers Cloudflare Workers pour personnaliser les choses à la périphérie, “beaucoup d’entre eux ont également commencé à déplacer des parties de leurs applications dans notre réseau”, a déclaré Graham-Cumming.
Cet élan a mis Cloudflare en concurrence immédiate avec d’autres fournisseurs de CDN comme Akamai et Fastly. Plus important encore, il a également croisé le fer avec les fournisseurs de cloud hyperscale : AWS, Microsoft Azure et Google Cloud Platform.
Alors que les travailleurs de Cloudflare et les plates-formes similaires sont désormais fermement sur la table pour les développeurs lorsqu’ils évaluent où exécuter leurs applications, il reste à voir si une migration massive vers ces plates-formes est à l’horizon.
“Les chances que je déplace mon application sont assez faibles, vous visez une nouvelle croissance nette”, a déclaré RedMonk Steve O’Grady à propos de l’attrait de Cloudflare pour les développeurs d’entreprise.
Prenez la fintech britannique Moneybox. Il n’utilise pas les outils de programmation en périphérie de Cloudflare pour le moment, mais il est un client de longue date des produits DNS, de pare-feu et de contrôle d’accès de Cloudfare.
“Cela ne vaudrait pas la peine de réécrire une partie de nos applications pour utiliser Cloudflare”, a déclaré Jon Leigh, directeur de l’ingénierie chez Moneybox, à InfoWorld. “C’est peut-être bon marché, mais les frais du développeur n’égaliseraient pas les choses.”
Développement des nœuds de calcul Cloudflare
Cloudflare Workers a ouvert la porte à la fourniture aux développeurs de logiciels des outils nécessaires pour créer et exécuter des applications sur un vaste réseau mondial sans serveur, en externalisant essentiellement un ensemble de tâches opérationnelles liées au serveur que Cloudflare doit gérer. Il vise également à offrir des performances de vitesse et de prix pour rivaliser avec les options sans serveur concurrentes, telles qu’AWS Lambda.
“Ils ont peut-être conduit l’industrie à passer d’une solution où la périphérie ne fournit que des actifs statiques à une solution où il est important de pouvoir exécuter du code à la périphérie”, a déclaré Andrew Cornwall, analyste principal chez Forrester, à InfoWorld. . “Cloudflare a été en tête lorsqu’il s’agit d’entreprises qui envisagent d’activer le développement en périphérie et les fonctions sans serveur.”
Cloudflare Workers a rapidement été suivi par le service de stockage d’objets R2 de Cloudflare en 2021, qui est en concurrence directe avec le service phare S3 d’Amazon, avec en prime l’absence de frais de sortie de données, qui sont un problème brûlant pour toute personne chargée de réduire ses factures cloud. Le PDG de Cloudflare, Matthew Prince, a publiquement qualifié les frais de bande passante d’AWS de “grossiers” et “dingues.”
Puis vint la base de données D1 compatible SQLite en mai de cette année.
“Franchement, avec SQL, on a fait ce petit détour technologique, là où il y a eu ce mouvement NoSQL. C’était un peu comme le moment “Okay, Boomer” pour le stockage de données, où une base de données SQL était en quelque sorte démodée. Il s’avère que les bases de données SQL sont démodées, mais ce sont aussi des choses très, très puissantes, et les gens les utilisent », a déclaré Graham-Cumming.
“Je pense qu’avec D1, vous pouvez créer une application complète basée sur une base de données sur Cloudflare aujourd’hui”, a-t-il ajouté.
Privilégier l’opinion et la simplicité
Tous ces outils donnent la priorité à l’opinion et à la simplicité plutôt qu’à l’optionnalité, car Cloudflare cherche à fournir une alternative convaincante pour les développeurs à l’étendue des options offertes par les principaux fournisseurs de cloud.
“Les développeurs ont senti qu’ils devaient faire un choix entre quelque chose qui évolue et quelque chose qui est facile à construire, comme l’a fait Heroku. Notre ambition est de supprimer ce choix avec des abstractions faciles à utiliser qui s’adaptent à tous les besoins », a déclaré Cabral.
Cabral admire des plates-formes comme Vercel et Netlify pour être vraiment développeur d’abord. Pour que Cloudflare corresponde à la facilité d’utilisation et à l’utilité qu’offrent ces plates-formes, Cloudflare doit “passer à n’importe quel environnement d’exécution souhaité par les développeurs et les libérer de l’enfermement”.
C’est là que les paris sur l’écosystème WebAssembly pourraient s’avérer vitaux. “Nous avons l’ambition de permettre à tout développeur de s’appuyer sur cette plate-forme et WebAssembly devrait nous aider à nous y développer”, a déclaré Cabral. “Rencontrer les développeurs là où ils sont un élément clé de notre stratégie.”
Ce terrain d’entente pourrait être la clé pour Cloudflare alors que ce marché se réchauffe. “En offrant des primitives comme le stockage, la base de données et le calcul, ils ont une opinion sur comment et où ils déploient et font cela de manière organique à travers des choses qu’ils ont construites”, a déclaré O’Grady de RedMonk. “La demande d’abstractions de plus haut niveau va augmenter et cela semble être le pari que fait Fastly, mais pas celui d’Akamai.”
Concurrence à la limite
Comme O’Grady l’a laissé entendre, Cloudflare n’est pas seul dans ces ambitions. Le fournisseur concurrent de CDN, Akamai, a développé ses capacités de développement de pointe, aboutissant à l’acquisition de 900 millions de dollars de la société d’hébergement cloud Linode en mars. Fastly a récemment annoncé l’acquisition de la communauté de développement Web Glitch pour des raisons similaires.
Là où Cloudflare se démarque de ses fournisseurs de CDN rivaux, c’est dans sa capacité à déployer rapidement des outils de développement locaux et à répondre aux besoins des clients.
“Je pense que Cloudflare est le leader du marché en termes d’expérience de développement et c’est l’une des rares entreprises à s’assurer que les développeurs se sentent à l’aise dans leur environnement”, a déclaré Forrester’s Cornwall.
Ghassan Abdo, vice-président de la recherche pour la pratique mondiale des télécommunications, de la virtualisation et du CDN d’IDC, est moins optimiste.
“La programmabilité de la périphérie existe depuis un certain temps avec le CDN, Akamai EdgeWorkers, Amazon CloudFront avec Lambda@Edge, ou Fastly Varnish, et la récente acquisition de Glitch”, a déclaré Abdo. “Cette partie n’est pas exclusive à Cloudflare. Ce qui est, c’est leur capacité à examiner les capacités du marché adjacent comme D1, R2, et nous pouvons les voir saisir d’autres opportunités.
Après avoir largement été le pionnier du réseau de diffusion de contenu, Akamai s’appelle désormais le « fournisseur de services cloud le plus distribué au monde », grâce à de récentes acquisitions et à une expansion visant à fournir aux clients des capacités de calcul, de sécurité et de diffusion en périphérie.
« Avec l’acquisition de Linode, nous aurons des capacités de cloud computing de base. C’est le dernier élément important, en un sens, car nos clients peuvent désormais créer leurs applications sur Akamai, ils peuvent les exécuter sur Akamai, ils peuvent les sécuriser avec nous et ils peuvent les livrer, bien sûr, via Akamai », a déclaré le PDG d’Akamai, Tom Leighton a déclaré à la publication de l’industrie Protocol en juin.
Leighton dit qu’Akamai compte déjà des milliers de clients utilisant ses capacités d’informatique de pointe aujourd’hui, et a émis l’hypothèse que l’informatique de pointe pourrait devenir sa plus grande source de revenus au cours des cinq prochaines années, remplaçant rapidement la sécurité et la livraison.
Pour Graham-Cumming, cela n’est pas une surprise. “Nous pensons vraiment que c’est la bonne architecture du point de vue du développeur, donc cela ne me surprend pas que d’autres personnes fassent la même chose”, a-t-il déclaré.
Quelle est la prochaine étape pour Cloudflare ?
Les ambitions de Cloudflare ne s’arrêtent pas là. Il souhaite désormais permettre à davantage de développeurs d’utiliser ses outils, et également élargir les types d’applications pouvant s’exécuter sur son réseau.
“Je pense que s’il y a un plafond, et si nous voyons le plafond se rapprocher à un moment donné, nous examinerons évidemment comment nous satisfaisons les développeurs qui souhaitent construire sur notre plate-forme”, a déclaré Graham-Cumming.
Cela inclut les applications avec des modèles de données et des types de données uniques ou extrêmement volumineux, ainsi que la possibilité de planifier et de mettre en file d’attente des tâches asynchrones, et d’offrir des moyens plus intelligents d’attribuer la puissance de calcul.
“Je suis optimiste quant à ce qu’ils font”, a déclaré Forrester’s Cornwall. “Pouvoir dire” nous pouvons le faire moins cher et plus rapidement, en étant plus proche des utilisateurs “, c’est un argument difficile à repousser.”
Bien sûr, si Cloudflare veut vraiment changer la donne, l’entreprise devra convaincre les développeurs d’applications de changer certaines habitudes bien ancrées. Là encore, si quelqu’un a l’habitude d’abandonner les anciennes méthodes au profit de meilleures méthodes, ce sont les développeurs d’applications.
Copyright © 2022 IDG Communications, Inc.