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

Bienvenue dans le Supercloud (et la Developer Week 2022)

14/11/2022

Lecture: 7 min.

Dans le document S-1 de Cloudflare figure une section qui commence par : « L'Internet n'a pas été conçu pour être ce qu'il est devenu ». Cette phrase exprime l'idée que l'Internet, qui n'était au départ qu'une expérience, a évolué pour devenir quelque chose dont nous avons tous besoin dans le cadre de notre quotidien et notre travail. Et qu'il nous faut plus que l'Internet tel qu'il a été conçu ; il faut à l'Internet de la sécurité, des performances et de la confidentialité.

On pourrait dire la même chose du Cloud : il n'a pas été conçu pour ce qu'il doit maintenant devenir.

L'introduction de services tels que Amazon EC2 a sans aucun doute représenté une amélioration considérable par rapport à « l'ancienne méthode » consistant à acheter et installer une multitude de racks de serveurs et de systèmes de stockage, puis à assurer leur maintenance.

Toutefois, par sa nature même, le cloud était une virtualisation de l'ancienne infrastructure réelle, et non une réinvention radicale de l'informatique, imaginée pour répondre aux exigences des entreprises aussi vastes qu'Internet. C'est comme si les locomotives à vapeur étaient remplacées par des moteurs électriques efficaces, mais nécessitaient encore une cheminée au sommet de la machine et devaient s'arrêter tous les 300 kilomètres pour faire le plein d'eau.

Le cloud a remplacé les rituels d'achat de serveurs et d'installation de systèmes d'exploitation par de nouveaux rituels, désormais devenus familiers, de choix de régions, de provisionnement de machines virtuelles et de maintien artificiel en activité du code.

Cependant, au fil des années, des lueurs d'espoir apparaissent dans le cloud, sous la forme de lambda, de périphéries, de fonctions ou de solutions serverless. Toutes tentent de donner un nom à un modèle de cloud computing qui promet d'améliorer considérablement la productivité des développeurs évoluant d'une machine unique vers une solution d'une ampleur semblable à celle d'Internet. Il s'agit d'un modèle qui, au lieu de virtualiser des machines ou des disques ou d'envelopper les choses dans des conteneurs, dit : « Écrivez du code, nous l'exécuterons ; ne vous préoccupez pas des détails tels que l'évolutivité ou l'emplacement ».

Nous l'appelons le Supercloud.

Les fondations du Supercloud sont des services de traitement et de données qui rendent l'exécution d'applications de toute taille efficace et infiniment évolutive, sans les inconvénients du cloud tel qu'il existe aujourd'hui.

Les fondations du Supercloud

Il y a quelques années de cela, un mouvement appelé NoSQL a développé de nouvelles méthodes de stockage et de traitement des données qui ne reposaient pas sur des bases de données. Les référentiels clés-valeurs et les référentiels de documents ont proliféré, car, au lieu d'envisager les données avec la granularité des bases de données, des tables ou même des lignes, ces développeurs établissaient une connexion directe entre le code et les données à un niveau simple.

On pourrait considérer NoSQL comme une volonté d'évoluer vers la granularité. Et ça a fonctionné ! Les référentiels, référentiels clés-valeurs, les référentiels d'objets (tels que R2) de NoSQL abondent. L'essor de MapReduce pour le traitement des données est également porté par la granularité ; scinder le traitement des données en fragments offrant une évolutivité aisée (les aspects « map » et « reduce ») permettait de gérer efficacement d'immenses volumes de données et de les redimensionner selon le besoin.

Le code du cloud connaît la même évolution. Les programmeurs ne souhaitaient pas passer leur temps à réfléchir en termes de blocs de la taille d'une base de données, et ils ne devraient pas non plus devoir réfléchir en termes de blocs de la taille d'une VM ou d'un conteneur. Cette approche est inefficace et n'a rien à voir avec la tâche consistant à écrire du code pour créer un service. C'est un travail inutile, qui détourne l'attention de la valeur réelle qu'offre la création d'une solution par le biais de la programmation.

La granularité existe depuis longtemps dans la théorie de la programmation. Le modèle CSP repose sur de minuscules processus qui exécutent des tâches et transmettent des données (il a contribué à inspirer le langage Go) . Le modèle d'acteur transmet des messages entre des multitudes d'acteurs, en modifiant l'état interne ; même le lambda-calcul repose sur l'action de fonctions discrètes sur des données.

La programmation orientée objet amène les développeurs à raisonner en termes d'objets (et non en termes de machines virtuelles ou de disques). Et CORBA et les systèmes similaires intègrent le concept d'un Object Request Broker permettant l'exécution et l'accès à distance aux objets dans un système distribué, sans connaissance des détails concernant l'emplacement ou les modalités d'exécution de l'objet.

La théorie informatique s'éloigne des machines dédiées (virtuelles ou réelles) pour privilégier le code et les données exécutés dans le Supercloud, qui gère automatiquement et efficacement les détails de l'exécution du code et de la localisation des données.

Alors, que vous écriviez votre code en le scindant en fonctions ou que vous publiiez de grands fragments de fonctionnalités, voire des programmes entiers, les fondations du Supercloud vous assurent que votre bénéficie de son efficacité. Et bien davantage.

L'avantage du Supercloud

Le Supercloud facilite l'évolutivité, car personne n'a besoin de réfléchir au nombre de VM à provisionner, et personne n'a besoin de maintenir en activité des VM de secours afin de faire face à un éventuel afflux de visiteurs. À l'instar du modèle MapReduce (dont l'origine est le lambda-calcul), capable d'évoluer en fonction des besoins, l'informatique générale doit évoluer.

Et il ne s'agit pas seulement d'évolutivité. Dans le Supercloud, le code et les données sont mobiles et se déplacent sur le réseau. Si vous associez des données au code (comme avec Durable Objects ; c'est ici que le modèle d'acteur entre en scène), vous disposez d'une fondation pour des applications capables d'évoluer à la taille requise et de se rapprocher des utilisateurs selon les besoins, afin d'offrir les meilleures performances.

Par ailleurs, si vos données ne peuvent pas être déplacées, nous rapprochons votre code de vos données, quel que soit le nombre de fois où vous devez y accéder.

En outre, travailler avec une telle flexibilité signifie que le code gérant l'application d'une législation relative à la confidentialité ou la résidence des données au regard de l'endroit où elles peuvent être traitées ou stockées peut agir au niveau d'utilisateurs ou d'objets individuels. Le même code peut se comporter différemment et même être exécuté dans un pays complètement différent, en fonction de l'endroit où sont stockées les données associées.

Un Supercloud a deux effets intéressants sur le coût d'exécution d'un programme. Tout d'abord, il rend l'exécution plus économique, car vous exécutez uniquement le code dont vous avez besoin. Il n'est jamais nécessaire de gérer des VM dans l'attente d'une tâche, ni de financer des machines inactives, « au cas où ». Le code s'exécute ou ne s'exécute pas. Il s'adapte à l'évolution des besoins. Vous financez uniquement et précisément ce dont vous avez besoin.

Deuxièmement, il permet de créer une plateforme de calcul plus efficace, ce qui profite à tous. Il impose à la plateforme de traitement (c'est-à-dire nous) d'être aussi efficace que possible. Nous devons être en mesure de démarrer rapidement l'exécution du code pour des raisons de performance et d'évolutivité. Nous devons utiliser efficacement les processeurs, car aucun client ne nous paie pour gérer des processeurs inutilisés. Et cette approche est meilleure pour l'environnement, car les machines formant le cloud fonctionnent à des niveaux d'utilisation très élevés. C'est ce niveau d'efficacité qui permet à notre plateforme d'atteindre les 10 millions de requêtes traitées par Cloudflare Workers dans le temps qu'il vous a fallu pour lire le dernier mot de cette phrase.

Et la capacité de cette plateforme de traitement peut s'étendre bien au-delà d'une machine, d'un datacenter ou d'un pays. Et, équipée du bon logiciel (que nous avons créé), elle peut s'étendre jusqu'à atteindre la taille de l'Internet. Le logiciel gère automatiquement l'allocation de ressources dans le monde entier, déplaçant les connexions, les données et le traitement afin d'accroître l'efficacité et d'offrir à l'utilisateur final une expérience optimale.

Un traitement et un stockage efficaces, un réseau mondial présent partout où des personnes ont besoin d'y accéder, connecté par des logiciels qui transforment le monde en un cloud unique. Le Supercloud.

Bienvenue dans le Supercloud

Le Supercloud est performant, évolutif, disponible, privé et économique. Le choix d'une région pour votre application, le provisionnement de machines virtuelles, l'élaboration d'un modèle d'évolutivité automatique des conteneurs ou la gestion des démarrages à froid sont autant de contraintes qui paraissent ridicules, complexes, anachroniques, inutilement chronophages, rigides et coûteuses.

Heureusement, Cloudflare intègre depuis maintenant des années l'alternative à ce cloud traditionnel à son réseau et sa plateforme pour développeurs. Le Supercloud. Le terme est peut-être nouveau, mais cela ne signifie pas pour autant qu'il n'existe pas. Aujourd'hui, plus d'un million de développeurs créent dans le Supercloud.

Tous ces développeurs veulent exécuter leur code sur une machine, puis le perfectionner. C'est une approche tellement plus simple. Il se trouve que nous disposons d'une machine capable d'évoluer jusqu'à atteindre une capacité comparable à celle d'Internet : un superordinateur mondial et distribué. C'est le Supercloud ; nous l'utilisons pour développer nos produits, et vous pouvez rejoindre ce million de développeurs et créer dans le Supercloud, vous aussi.

Nous construisons le Supercloud depuis maintenant 12 ans et, il y a cinq ans de cela, nous l'avons mis à la disposition des développeurs, par le biais de Cloudflare Workers. Cloudflare Workers a été fondamentalement conçue dans l'optique d'allier évolutivité et performances, en s'exécutant sur notre réseau mondial.

Et sur ces paroles, bienvenue dans le Supercloud et bienvenue dans l'événement Cloudflare Developer Week 2022.

Comme c'est le cas pour tous nos événements Innovation Week, nous sommes heureux de donner le coup d'envoi d'une nouvelle semaine d'annonces, qui encourageront la construction d'un nombre croissant de scénarios d'utilisation dans le Supercloud. D'ailleurs, c'est le développement sur la plateforme pour développeurs Workers qui nous confère le super-pouvoir de continuer à proposer de nouveaux éléments constitutifs à nos utilisateurs. Cette semaine, nous n'allons pas seulement vous parler de tous les nouveaux outils que vous allez pouvoir découvrir, mais également de la manière dont nous en avons construit la plupart, de la façon dont vous pouvez les utiliser et des solutions que créent nos clients en production aujourd'hui.

Regarder sur Cloudflare TV

Vous pouvez regarder la séquence intégrale de notre émission hebdomadaire This Week in Net ici, ou l'écouter au format audio/podcast.

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.
Supercloud (FR)Developer Week (FR)Français

Suivre sur X

Cloudflare|@cloudflare

Publications associées