Archready: quelques pistes pour modéliser des architectures web scalables et performantes

Quelques chanceux aux Etats-Unis ont eu l'occasion de participer à un séminaire nomade sur les architectures web  (https://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

  • La scalabilité est la manière dont une application se comporte quand le nombre d’utilisateurs  connectés simultanément vari.
  • La performance d’une application est la manière dont elle se comporte lorsqu’un nombre très faible d’utilisateurs sont en activité.

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

  • Une application en situation de charge et une application dont le nombre d’utilisateurs connectés simultanément devient  élevé.
  • Une application en situation de stress et une application dont la quantité des ressources dont elle a besoin pour fonctionner devient limité.

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: https://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.