De nos jours, il est assez facile de développer une application Web. Les outils modernes font qu’on est capable, sans trop de compétences et en empilant des briques logicielles, d’offrir des application Web complètes. Oui mais voilà, si celle-ci commence à avoir un certains succès, elle devra faire face à une montée en charge des utilisateurs. Cela peut poser problème car les ressources matérielles ne sont jamais illimitées. On est toujours limité (à un moment où un autres) par les capacités (mémoire, CPU, bande passante) des serveurs qui hébergent nos applications.
Dans le cas où on atteint cette limite, empiler des briques logicielles ne suffisent plus. Il faut savoir coder intelligemment et proprement. C’est là que les compétences de l’équipe de développement se montrent véritablement. Dans un article sur InfoQ, Randy Shou, nous présente quelques bonnes pratiques (appliquées chez eBay) permettant à une application Web de supporter une charge conséquente.
Grosso modo, ça se résume très vite: découpez vos applications le plus possible (que ce soit horizontalement ou verticalement), privilégiez l’asynchrone sur le synchrone (la meilleure façon de gérer des pics d’utilisation), virtualisez à tout les niveaux et faites du cache utile (ça ne sert à rien de mettre en place un système de cache si il coûte plus cher qu’il ne fait économiser).
Bref, la lecture de l’article est assez intéressante !
Lire « Scalability Best Practices: Lessons from eBay » par Randy Shou
Via Developpez
