Quelques chanceux aux Etats-Unis ont eu l'occasion de participer à un séminaire nomade sur les architectures web (http://www.arcready.com). L’un des points abordé était le dilemme qui est parfois rencontré pour modéliser des architectures scalables et performantes. Même s’il n'existe aucune méthode miracle permettant de s'assurer à priori qu'une application web (ou autre) va se comporter idéalement quelles que soient les conditions de charge ou de stress, il est possible d'éviter les impasses en modélisant des briques qui peuvent être facilement modifiées ou remplacées en cas de problèmes. Il faut parfois être pragmatique en se disant que le meilleur moment pour résoudre un problème de scalabilité ou de performance et d'attendre qu'il survienne, ce qui permet d'identifier les éléments en surcharge, les ressources sous-dimensionnées en localisant les goulots d'étranglement.
Scalabilité et Performance
Idéalement une application doit être scalable et performante, mais dans certain cas vouloir augmenter l’un peut avoir des effets négatifs sur l’autre (par exemple rajouter une couche se chargent de faire une répartition de charge peut diminuer la performance en maintenant des traitements inutiles lorsqu’il n’y a pas beaucoup d’utilisateurs).
Charge et Stress
Sachant cela, quels sont les modèles de conception qui peuvent être utilisés pour concevoir des systèmes scalables qui restent performant ?Pour en savoir plus, je conseille fortement de regarder les diapositives du séminaire qui sont claire, concise et très pédagogiques. Elles ont étés publiées sur ww.slideshare.net par Clint Edmonson à cette adresse: http://www.slideshare.net/clintedmonson/scalable-and-usable-web-applications.
En créant gratuitement un compte, il est possible de télécharger le fichier PowerPoint pour une consultation hors-ligne.