La plupart des applications web peuvent être exploitées sur un seul serveur
- En suivant l’actualité du développement web, on a le sentiment que beaucoup de sites et d’applications n’ont pas besoin d’une infrastructure complexe, et que la plupart reçoivent moins de 10 requêtes par seconde, avec des pointes à 50 lors des journées chargées.
- Avoir des endpoints répartis dans le monde réduit la latence, mais puisqu’il faut accéder aux données, cela ne sert pas à grand-chose si, même avec un client à 20 ms, la base de données se trouve à 200 ms de cet endpoint.
- Le caching est utile, mais on peut l’obtenir via un CDN ou un simple caching HTTP. En poussant les nouveaux fichiers vers le CDN après une mise à jour, dans la plupart des cas l’ensemble du site peut être servi depuis le CDN.
- Quelques endpoints d’API peuvent être nécessaires pour des fonctionnalités dynamiques, mais cela peut par exemple être géré en JavaScript.
- La plupart des projets peuvent tourner dans des conteneurs sur un VPS à 5 $, et cela peut même être plus rapide.
L’avis de GN⁺
- Cet article propose un regard critique sur l’usage excessif d’infrastructures dans le développement d’applications web. Il souligne que beaucoup d’applications web peuvent en réalité fonctionner correctement sur une infrastructure simple, ce qui rappelle aux ingénieurs logiciels débutants l’importance d’éviter de surinvestir en ressources lors de la mise en place de l’infrastructure et d’utiliser seulement ce qui est nécessaire.
- L’article met aussi en avant l’importance du caching et des CDN, qui sont des éléments clés pour améliorer les performances d’une application web. Cela suggère que les développeurs web devraient réfléchir à leur stratégie de caching pour optimiser les performances.
- Lorsqu’une application web est de petite taille ou reçoit peu de trafic, envisager un serveur unique ou un service cloud simple peut être plus rentable qu’un système distribué complexe. Cela concerne tout particulièrement les startups et les petits projets.
- L’article recommande aux développeurs web de faire preuve de prudence dans leurs choix techniques et de sélectionner une infrastructure adaptée aux besoins réels du projet. Cela aide à poursuivre un développement qui répond à des besoins concrets sans se laisser emporter par les effets de mode technologiques.
- D’un point de vue critique, cet article peut ne pas s’appliquer aux grandes applications web ou aux services devant gérer un trafic massif. Il faut donc garder à l’esprit que le choix de l’infrastructure doit dépendre de l’échelle et des exigences du projet.
1 commentaires
Avis Hacker News
Un utilisateur a confirmé que lorsque son projet est arrivé en première page de Hacker News (HN), il a très bien encaissé le trafic sur un droplet Digital Ocean à 5 dollars. Il affirme que, pour la plupart des projets, il suffit d’utiliser des réponses asynchrones et des planificateurs/files d’attente afin de répartir horizontalement la charge dans le temps. Il critique aussi la nouvelle culture DevOps, qu’il juge responsable de la complexification du déploiement des applications cloud, et souligne qu’il n’est pas nécessaire de surdimensionner des logiciels simples.
Standard Ebooks sert un volume important de pages vues et de livres électroniques chaque mois et, malgré 3 à 4 passages en première page de HN, gère tout avec un seul VPS de 4 Go. L’équipe précise être passée de 2 Go à 4 Go uniquement parce qu’il fallait davantage de RAM pour produire l’ebook de Decline and Fall of the Roman Empire ; sinon, un serveur de 2 Go aurait suffi. Un lien vers un billet de blog est fourni à ce sujet.
Un utilisateur, qui dit n’avoir choisi k8s que pour apprendre k8s, mentionne qu’il n’y avait pas d’autre raison de l’utiliser et se plaint qu’à cause de k8s, il ne peut même pas consulter les logs du serveur. Il affirme qu’un forfait Cloudflare à 5 dollars aurait largement suffi.
Un commentaire rappelle que sqlite.org traite plus de 500 000 requêtes HTTP par jour et sert environ 200 Go de contenu avec une offre Linode à 40 dollars par mois. Si votre application ne traite pas plus de requêtes que sqlite.org, il n’y a donc pas lieu de payer davantage, selon lui.
Un utilisateur partage qu’il exploite plusieurs applications web traitant environ 10 000 requêtes par jour en faisant tourner le backend gratuitement sur Oracle Free Tier, tout en intégrant gratuitement le frontend via Cloudflare Tunnel et Pages.
Un autre indique faire tourner plusieurs applications sur un seul serveur à 5 euros, dont un site personnel, deux serveurs de jeu multijoueur et
frppour le tunneling, et prévoit d’en ajouter encore jusqu’à ce que le serveur rende l’âme. Il ajoute que d’autres applications fonctionnent elles aussi très bien sur une VM à 5 euros.Un utilisateur raconte avoir passé quatre fois plus de temps à écrire des fichiers Terraform qu’à développer les fonctionnalités réelles. L’entreprise en question recevait moins de 1 000 visites par jour.
Un autre souligne qu’un VPS à 4 dollars par mois peut traiter des milliers de requêtes par seconde et fournit un lien connexe.
Un commentaire note que la plupart des applications web peuvent fonctionner sur une seule machine, mais que la plupart des clients attendent une disponibilité proche de 100 %, ce qu’une machine unique ne peut pas garantir.
En réponse à l’idée qu’une application web basique n’a pas besoin d’un système complexe, un utilisateur affirme que même des entreprises comme les FAANG exécutent certains services internes et tableaux de bord dans un seul binaire, mais que lorsque le moindre temps d’arrêt se traduit directement par des pertes, la nécessité de systèmes plus complexes devient évidente.