Comment rendre une application web rapide, fiable et évolutive
Sujet assez fréquent sur ce site mais toujours utile. Cette fois les conseils proviennent de Nick Belhomme. Qui a transcrit une excellente allocution d’Eli White à propos des application web : scalable. Eli travaillait chez Digg et lors de cette intervention il a livré ses conseils avisés sur l’architecture d’une application web évolutive:
Voici donc les quelques points importants à mettre en oeuvre pour construire une architecture capable de monter en charge et en nombre d’utilisateur sans être obligé de consommer vos ressources de manière exponentielle.

De manière générale, éviter de faire des tables contenant trop de champs, ce n’est pas bon pour votre moteur de BDD, pas efficace pour le cache, et complexe à maintenir.
Si vous êtes en tain de réfléchir au futur de votre application, à son évolution, ou encore à l’architecture de votre prochain service vous pouvez aussi consulter ce billet, il est assez similaire mais il vous permettra d’inscrire ces étapes dans le temps et ainsi de planifier les évolutions. Mon billet sur la croissance ‘rentable’ vous sera également utile.
Enfin, n’hésitez pas à consulter l’article complet (en anglais) à cette adresse :
Et croyez moi, ces points ne sont pas très compliqués à mettre en place au début de votre mise en oeuvre. C’est évidemment un peu plus coûteux, mais prendre en compte ces points dès le début vous assurera des années de tranquillité.
N’hésitez donc pas à investir un peu plus en début de projet pour pouvoir démultiplier sans effort par la suite.
Sources :
- http://blog.nickbelhomme.com/php/scalable-web-applications_158
- http://highscalability.com/habits-highly-scalable-web-applications
Abonnement RSS
Comment rendre une application web rapide, fiable et évolutive…
Sujet assez fréquent sur ce site mais toujours utile. Cette fois les conseils proviennent de Nick Belhomme. Qui a transcrit une excellente allocution d’Eli White à propos des application web…
Bonjour, le Point 4 est intéressant mais auriez vous des liens/ressources qui pourraient aider à comprendre comment implémenter cette clef pour partager les utilisateurs sur plusieurs bases?
Bonjour,
Ce type de partitionnement fonctionne souvent via un hash de l’utilisateur. Si vous recherchez du code vous pouvez regarder du coté de PL/Proxy c’est le code GPL qui est utilisé pour partitionner les bases chez Skype.
https://developer.skype.com/SkypeGarage/DbProjects/PlProxy