Enquête

Cloud et serverless : les choix tech de HETIC Newsroom

Gabriel Saillard
Gabriel Saillard

Mettre à disposition ses contenus rapidement et à faible coût : le site Web de la Newsroom a été bâti sur les dernières avancées technologiques. Plongée de l'autre côté de l'écran, à travers des kilomètres de fibre optique.

Publié le 15/06/2020 — Temps de lecture 8 min

Principal support du collectif HETIC Newsroom, le site heticiens.news propose des articles à la lecture à un (modeste) millier de visiteurs chaque mois. Les contributeurs, tous étudiants à HETIC, s'en servent aussi en back office comme plateforme d'édition et de publication.

Outil marketing plus qu'appellation technique, le cloud désigne de façon générale les infrastructures hébergées sur Internet et louées aux entreprises. (Photo ©️ Dimitri Vetsikas / Pixabay)

Le coût mensuel ? Moins de cinq euros, notamment grâce à l'utilisation d'une architecture cloud serverless et d'un content delivery network (CDN, ou réseau de diffusion de contenu) performant. Qu'est-ce qui se cache derrière ces noms compliqués ? Pour comprendre ces concepts, il faut connaître l'histoire et les enjeux de ce que l'on appelle le cloud.

Nuages en vue

Retour en 2006, à l'aube de la démocratisation du cloud. L'écrasante majorité des grandes entreprises gèrent alors en interne leurs propres parcs de serveurs, chargés de répondre aux visiteurs de leurs sites Web et de fournir les prestations en ligne. Les petites et moyennes entreprises, qui n'ont pas l'espace ou le personnel nécessaires, louent quant à elles des serveurs chez des hébergeurs externes. Ces prestataires possèdent de larges centres de données (datacenters), où des milliers de serveurs gérables à distance sont entreposés.

Mais les hébergeurs ont du mal à faire face à la demande. De longues allées climatisées, emplies de serveurs, commencent à occuper de gigantesques entrepôts. La question posée est celle de la rationalisation : pour chaque client, consacrer le minimum possible d'espace sur un serveur.

Amazon connaît bien le problème, puisque la croissance fulgurante de son site de commerce en ligne pose des problématiques croissantes aux équipes d'ingénieurs. Cette expérience donnera naissance à une filiale spécialisée dans l'hébergement, Amazon Web Services (AWS), opérationnelle depuis 2004.

Un serveur est un ordinateur conçu pour fonctionner en continu afin de fournir des services via un réseau. La plupart prennent la forme de tiroirs, afin que l'on puisse les empiler dans des armoires spécialisées appelées racks. (Photo ©️ DR)

Dans un premier temps, AWS ne propose que du stockage de données. Elle ne loue pas de serveurs pour des sites Web ou des applications en ligne. Une de ses équipes basée à Cape Town (Afrique du Sud) travaille d'arrache-pied à résoudre le problème de rationalisation sur les serveurs, en explorant une idée qui avait émergé dans les années 1960 : la virtualisation.

Le principe de la virtualisation est de simuler des serveurs via du logiciel. En fait, un serveur physique va pouvoir partager ses ressources matérielles (notamment son processeur et sa mémoire) entre plusieurs virtual private servers (VPS, ou serveurs dédiés virtuels). En ajustant les ressources allouées à chaque VPS, on peut diviser autant de fois que nécessaire les capacités des serveurs physiques. Dans l'univers des hébergeurs, c'est une petite révolution.

Un succès phénoménal

Le 14 mars 2006, AWS se relance. En plus de ses offres de stockage, la filiale propose désormais des serveurs virtuels. Ce service — baptisé Elastic Compute Cloud (EC2) — connaît un succès phénoménal. Il fait d'Amazon le leader mondial de l'infrastructure à distance, une position que la société de Jeff Bezos conserve encore aujourd'hui.

En 2019, AWS a enregistré un chiffre d'affaires de 35 milliards de dollars. Méconnue mais principale contributrice aux bénéfices d'Amazon (9,2 sur 11,6 milliards de dollars), la société est concurrencée sur le marché du cloud computing notamment par Microsoft Azure et Google Cloud. (Photo ©️ DR)

L'offre AWS séduit même les grandes entreprises et le gouvernement fédéral américain, qui commencent à migrer leurs infrastructures "maison" vers le cloud. Des plateformes en ligne telles que Netflix reposent entièrement sur les services proposés par Amazon.

Débit et refroidissement

Mais la transition des entreprises vers le cloud va vite soulever un autre problème, celui de la latence. Il s'agit du délai de transmission des paquets de données, de leur source à leur destinataire. Lorsque les infrastructures étaient en sous-sol des bureaux des entreprises, la question ne se posait pas, mais les hébergeurs cloud n'ont pas ce luxe.

Pour assurer la qualité et la continuité de leurs services à un grand nombre de clients, les centres de données des hébergeurs se doivent de posséder des connexions ultra-haut débit, des solutions de refroidissement pour les milliers de machines, ainsi que des générateurs de secours... Impossible à implanter en centre-ville, les datacenters sont construits dans des zones industrielles, au milieu des champs, au bord des rivières.

Un datacenter de Google en Caroline du Sud. Avec une consommation d'eau avoisinant les 5 000 litres par minute, la disponibilité des ressources naturelles a dû être soigneusement étudiée. (Photo ©️ Wade Spees / The Post and Courier)

En 2010, la startup Cloudflare propose une solution innovante, qui réduit ce délai de latence en rapprochant les données des utilisateurs. Pour cela, elle loue des serveurs placés dans des Internet Exchange Points (IXP). Ce sont des infrastructures où les fournisseurs d'accès Internet échangent du trafic, au terme d'accords de peering (échanges d'égal à égal).

Les serveurs loués par Cloudflare se trouvent donc entre les utilisateurs et les entreprises. Ils gardent en mémoire les réponses envoyées par les datacenters aux requêtes. Comme dans la plupart des cas une même réponse correspond à une même requête — la page Web d'une entreprise ne change pas forcément tous les jours ! —, Cloudflare peut se charger de répondre à la place des datacenters, avec une latence réduite.

En se rapprochant physiquement des utilisateurs et en distribuant des réponses gardées en mémoire, les réseaux de diffusion de contenu comme Cloudflare diminuent la latence pour les utilisateurs et les coûts pour l'entreprise. (Illustration ©️ DR)

C'est la démocratisation de ce qu'on appelle les content delivery networks (CDN).

Sans les mains !

Et le serverless dans tout ça ? En 2014, Amazon lance le service AWS Lambda. Son concept est simple : ce que les entreprises cherchent à faire fonctionner, ce sont des applications, pas des serveurs. En récupérant directement le code de ces applications, l'hébergeur peut se charger de gérer lui-même les serveurs, et facturer uniquement ses clients quand leur code est exécuté !

Dans les architectures dites serverless (sans serveurs), il y a en réalité toujours des serveurs, mais ils ne sont plus à la charge des entreprises. De plus, puisque les applications consomment uniquement des ressources lorsqu'elles sont sollicitées par des clients, l'hébergeur peut fournir ses services à davantage d'entreprises en conservant moins de serveurs physiques.

Travail titanesque

Mais un problème d'importance se pose. Pour profiter des avantages du serverless, les applications doivent être découpées en “fonctions”, toutes relativement indépendantes et conçues pour apporter une réponse aux utilisateurs quand elles sont sollicitées et s'éteindre. Quand on développe un nouveau produit, la nouvelle façon de coder est souvent plus facile à mettre en oeuvre.

Typique du cloud computing, l'informatique sans serveur reste une technologie relativement d'avant-garde, réservée aux startups et difficile à appliquer à des produits existants. (Photo ©️ Annie Spratt / Unsplash)

En revanche, il en va tout autrement pour transformer une application déjà existante en serverless. C'est un travail titanesque, voire impossible selon la taille des applications en question. Pour cette raison, le paradigme du serverless reste un outil principalement adressé aux startups et qui pénètre difficilement le milieu des grandes entreprises.

La dernière frontière

Mais la véritable révolution est le mariage entre les technologies serverless et les CDN. Jusqu'à présent, ces réseaux de diffusion de contenu ne pouvaient rapprocher des utilisateurs que les contenus statiques, c'est-à-dire les réponses du serveur qui ne changent pas suivant les utilisateurs.

Maintenant que le code des applications est dissocié du concept de serveur, les hébergeurs peuvent effectuer un nouveau tour de magie. Ils font ainsi tourner les applications directement dans les points de présence (POP) utilisés par les CDN, presque au bout de la rue des clients !

Amazon Web Services (AWS) a lancé le service de serverless edge computing Lambda@Edge en 2016, lors de sa conférence re:Invent. (Photo ©️ DR)

Cette technologie est baptisée edge computing, littéralement le “calcul à la frontière”. Les datacenters restent en place et stockent le code de toutes les applications qu'ils hébergent. Mais les connexions passent par des serveurs CDN de nouvelle génération, qui sont “at the edge” — comprendre : pas loin des clients. Quand un serveur détecte qu'une application est très utilisée, il récupère son code depuis le datacenter et commence à l'exécuter lui-même.

En résumé, si les challenges techniques liés à la division d'une application en fonctions serverless sont parfois complexes, la possibilité de faire du edge computing est une garantie de faible latence, d'un coût réduit et d'une haute fiabilité. Une sorte de Graal des services de cloud computing ! 

Le monde d'après

De nombreuses innovations continuent à changer le fonctionnement des services sur Internet, en cherchant toujours à se rapprocher des utilisateurs et à décentraliser les applications.

Les dApps, pour distributed applications, qui reposent sur des concepts développés pour les cryptomonnaies, sont capables de s'exécuter sur un réseau formé par les machines de leurs clients. D'autres solutions décentralisées, comme le protocole pair à pair InterPlanetary File System (IPFS), éliminent la nécessité d'un serveur pour stocker des données.

Mais si ces solutions nouvelle génération promettent un retour à l'esprit de communauté sur lequel Internet a été bâti, elles sont boudées par les grands groupes et soulèvent des questions de souveraineté. Les créateurs du protocole IPFS sont toutefois persuadés que la décentralisation triomphera… notamment si l'homme colonise Mars et obtient ainsi la chance de reconstruire un réseau d'information à partir de zéro.