Scalability

Scalability

En informatique et en télécommunications, le mot anglais scalability désigne la capacité d'un produit à s'adapter à un changement d'ordre de grandeur de la demande (montée en charge). En particulier sa capacité à maintenir ses fonctionnalités et ses performances en cas de forte demande[1].

Le mot anglais scalability, dérivé du verbe to scale, n'a pas d'équivalent communément admis en français[2], les traductions utilisées sont extension graduelle[3], évolutivité[4], facteur d'échelle[5] ou extensibilité[6]. Le calque français scalabilité est également utilisé ou alors le mot anglais scalability est conservé tel quel[7].

La scalabilité peut faire référence à la capacité d’un système à accroître sa capacité de calcul sous une charge accrue quand des ressources (typiquement du matériel) sont ajoutées. L’expression porte un sens similaire quand elle est utilisée dans un contexte commercial, quand l’extensibilité d’une entreprise implique que le modèle économique offre le potentiel d’une croissance économique pour l’entreprise.

C'est une caractéristique cruciale de tous les services réseau, sans laquelle le service peut se retrouver victime de son succès. La popularité élevée d'un service peut apporter des difficultés techniques qui peuvent aller d'une baisse de la rentabilité jusqu'à l'impossibilité technique de servir tous les clients[8].

Sommaire

Introduction

La scalabilité est la capacité d'un dispositif informatique à s'adapter au rythme de la demande. La capacité du matériel étant fixe, en particulier le débit binaire des réseaux et des disques durs, il existe une limite dans le nombre de demandes qui peuvent être traitées dans un temps donné. Au dessus de cette limite les demandes sont multiplexées et la concurrence entre les demandes traitées simultanément provoque des délais d'attente supplémentaires qui font effet de goulot d'étranglement (anglais bottleneck)[9].

L'évolutivité est une caractéristique cruciale de tout les services réseau, sans laquelle le service peut se retrouver victime de son succès. La popularité élevée d'un service peut apporter des difficultés techniques qui entraînent un coût élevé de maintenance. Sous l'effet de l'arrivée de nouveaux clients, le fournisseur peut se retrouver en difficulté économique voire dans l'impossibilité technique de servir à la fois les nouveaux et les anciens clients[8]

La scalabilité est une capacité recherchée des applications de base de données, des moniteurs de transactions et des systèmes d'exploitation. Le système d'exploitation étant l'intermédiaire obligé entre les applications et le matériel, la scalabilité de ce dernier est d'une importance critique - mais largement ignorée - pour la scalabilité de l'ensemble du système informatique[10].

Matériel

Dans un but d'évolutivité, le matériel informatique doit non seulement être suffisant pour faire face au débit actuel de la demande, mais il doit également être possible d'y ajouter des pièces en vue de faire face à une demande accrue[11].

Le processeur est une des pièces les plus chères d'un serveur informatique, et un ordinateur peut souvent en contenir qu'un nombre limité - typiquement moins de quatre processeurs. Il en va de même pour d'autres pièces de matériel informatique.

L'évolutivité horizontale consiste à ajouter des ordinateurs pour faire face à une demande accrue d'un service. La méthode la plus courante d'extensibilité horizontale est la répartition de charge (load balancing) par utilisation d'une grappes de serveurs (cluster) . C'est une technique couramment utilisée pour les serveurs web[12].

L'évolutivité verticale consiste à utiliser un ordinateur qui offre de nombreuses possibilité d'ajout de pièces, sur lequel il est possible de mettre une grande quantité de mémoire, de nombreux processeurs, plusieurs cartes mère, et de nombreux disque durs. Par exemple un ordinateur Sun Enterprise peut contenir jusqu'à 64 processeurs, 16 cartes mères, 64 Go de mémoire et des baies de stockage (disk array). L'ensemble tout équipé peut coûter jusqu'à 1 million de dollars[11].

Logiciels

Quelle que soit la taille et la complexité d'un logiciel, ses fonctionnalités, ses performances son l'extensibilité et son coût doivent correspondre aux attentes de l'utilisateur final. Dans le domaine des bases de données, les applications de traitement transactionnel en ligne (abr. OLTP) sont particulièrement concernées[12].

Les mesures d'extensibilité font ressortir la variation de la performance du logiciel en fonction de l'augmentation de la demande. Il est généralement attendu par le consommateur que la performance (temps de réponses) ne varie pas tant que la charge (nombre d'opérations par secondes) n'atteint pas la valeur nominale que le produit est sensé supporter.

Les mesures d'extensibilité s'intéressent au seuil à partir duquel la performance commence à se dégrader ainsi que la vitesse de la dégradation par rapport à l'augmentation de la demande[13].

Il y a un défaut d'extensibilité de type 1 lorsque la performance se détériore rapidement avec l'augmentation de la demande avant d'avoir atteint le niveau nominal et que le défaut peut être corrigé par des opérations de tuning et d'optimisation.

Il y a défaut d'extensibilité de niveau 2 lorsque la performance se détériore jusqu'à devenir inacceptable, et qu'aucune amélioration ne peut être apportée, pas même le remplacement du matériel informatique. Le seul moyen de corriger un tel défaut sont alors de coûteuses remises en question de l'architecture du produit. Un produit présentant ce type de défaut est considéré comme non extensible[14].

De nombreuses applications client-serveur sont construites en mode de communication synchrone: la partie client envoie une demande à la partie serveur, puis attends jusqu'à recevoir le résultat. Ce mode est plus simple à mettre en œuvre, mais provoque des temps de latence qui sont perçus par l'utilisateur comme un manque de scalabilité. Le mode asynchrone permet d'effectuer des opérations durant les temps de latence et de multiplexer le traitement des demandes; ce mode est utilisé dans les applications multithread, les services Web et la programmation événementielle[9].

Une technique en vue d'augmenter la résistance à une forte demande d'un logiciel consiste à pré-réserver un groupe de ressources qui sont continuellement disponibles pour multiplexer les demandes en cas de besoin et ainsi économiser le temps qui aurait été nécessaire pour des réservations au besoin, cette technique de pooling est utilisée notamment pour la connexion aux bases de données[9].

L'utilisation de files d'attente, l'architecture orientée services (SOA), l'utilisation de services Web et de systèmes de gestion de base de données (DBMS) influencent l'extensibilité d'un logiciel[12].

Télécommunications

L'industrie des télécommunications est particulièrement concernée par l'évolutivité et la fiabilité des réseaux qui sont amenés à servir un très grand nombre de clients. Une dorsale (anglais backbone) doit pouvoir supporter le trafic provenant de plusieurs services et destiné à de très nombreux clients sans qu'il soit nécessaire d'ajouter des équipements[15].

Les lignes de télécommunication servent typiquement à la fois la téléphonie, le réseau Internet et les réseaux informatiques privés. Les fournisseurs de télécommunication recherchent à diminuer les coûts de maintenance du réseau tout en offrant tous les services demandés par les consommateurs[15]. L'évolutivité d'un réseau concerne autant la résistance au changement d'ordre de grandeur du débit binaire du réseau que du nombre d'abonnés[16].

Dans les réseaux publics, avec de très nombreux abonnés (téléphonie, Internet), il est attendu que le remplacement du terminal soit une mesure suffisante pour adapter le réseau à la demande. Vu que tout les clients ne remplacent pas leur terminal en même temps, le réseau doit pouvoir exploiter simultanément différentes générations de terminaux[16].

Voir aussi

Articles connexes

Notes et références


  1. Entrée « Scalability » sur Grand dictionnaire terminologique, OQLF
  2. Serveurs Multiprocesseurs Et Sgbd Parallelises,Ed. Techniques Ingénieur, page 4
  3. Édouard Rivier,Communication audiovisuelle,Springer - 2003,(ISBN 9782287597688),page 180
  4. Luigi Zaffalon,Programmation concurrente et temps réel avec Java,PPUR presses polytechniques - 2007,(ISBN 9782880746988), page 47
  5. Integration IP et ATM, Ed. Techniques Ingénieur, page 5
  6. Serveurs Video et Media,Ed. Techniques Ingénieur, page 18
  7. Djillali Seba,CISCO: interconnexion des réseaux à l'aide des routeurs et commutateurs,Editions ENI - 2003,(ISBN 9782746021440),page 274
  8. a et b (en)Ina Minei et Julian Lucek,MPLS-Enabled Applications: Emerging Developments and New Technologies,John Wiley and Sons - 2011,(ISBN 9780470665459)
  9. a, b et c (en)Shoshana Loeb - Benjamin Falchuk - Euthimios Panagos - Thimios Panagos,The fabric of mobile services: software paradigms and business demands,Wiley-Interscience - 2009,(ISBN 9780470277997)
  10. (en)Seif Haridi - 1995 EURO-PAR 1 - Stockholm,Parallel processing - Volume 966 de Lecture notes in computer science,Springer - 1995,(ISBN 9783540602477)
  11. a et b (en)Jeff Horwitz,Unix system management: primer plus,Sams Publishing - 2002,(ISBN 9780672323720)
  12. a, b et c (en)Cal Henderson,Building scalable web sites,O'Reilly Media Inc. - 2006,(ISBN 9780596102357)
  13. (en)Jack Y. B. Lee,Scalable continuous media streaming systems: architecture, design, analysis and implementation,John Wiley and Sons - 2005,(ISBN 9780470857540)
  14. (en)Henry H. Liu,Software performance and scalability: a quantitative approach,John Wiley and Sons - 2009,(ISBN 9780470462539)
  15. a et b (en)Monique Morrow et Kateel Vijayananda,Developing IP-based services: solutions for service providers and vendors,Morgan Kaufmann - 2003,(ISBN 9781558607798)
  16. a et b (en)Biswanath Mukherjee,Optical WDM networks,Birkhäuser - 2006,(ISBN 9780387290553)

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Scalability de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • scalability — The ability of computer or telecoms hardware to be replaced by more or less powerful versions, which are wholly compatible with the relevant software. Practical Law Dictionary. Glossary of UK, US and international legal terms.… …   Law dictionary

  • Scalability — In electronics (including hardware, communication and software) scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth.[1] For… …   Wikipedia

  • scalability — scalable scal‧a‧ble [ˈskeɪləbl] adjective COMPUTING 1. a scalable machine, system etc can be increased in size: • We needed a computer system that was scalable and that could keep up with our growing number of users. 2. scalable computer… …   Financial and business terms

  • Scalability — A characteristic of a system, model or function that describes its capability to cope and perform under an increased or expanding workload. A system that scales well will be able to maintain or even increase its level of performance or efficiency …   Investment dictionary

  • scalability — scalable ► ADJECTIVE 1) able to be scaled or climbed. 2) able to be changed in size or scale. 3) technical able to be graded according to a scale. DERIVATIVES scalability noun …   English terms dictionary

  • Scalability testing — Scalability Testing, part of the battery of non functional tests, is the testing of a software application for measuring its capability to scale up or scale out [ [http://msdn2.microsoft.com/en us/library/aa292172(VS.71).aspx Scalability ] ] in… …   Wikipedia

  • scalability — noun see scalable …   New Collegiate Dictionary

  • scalability — noun The property of being scalable …   Wiktionary

  • scalability — ● ►en n. f. ►ARCHI Version anglaise de l extensibilité …   Dictionnaire d'informatique francophone

  • scalability — scal|a|bil|i|ty [ˌskeıləˈbılıti] n [U] technical the degree to which a computer system is able to grow and become more powerful as the number of people using it increases …   Dictionary of contemporary English

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”