En
informatique
materielle et logicielle et en
telecommunications
, l’
extensibilite
[
1
]
,
[
2
]
ou
scalabilite
[
note 1
]
designe la capacite d'un produit a s'adapter a un changement d'ordre de grandeur de la demande (
montee en charge
), en particulier sa capacite a maintenir ses fonctionnalites et ses performances en cas de forte demande
[
3
]
.
Selon Rene J. Chevance, le mot anglais
scalability
, forme sur l'adjectif
scalable
derive du verbe
to scale
(≪ changer d'echelle ≫), ≪ n'a pas d'equivalent communement admis en francais ≫
[
4
]
. Les traductions utilisees sont
extension graduelle
[
5
]
,
evolutivite
[
6
]
,
facteur d'echelle
[
7
]
,
extensibilite
[
8
]
,
passage a l'echelle
[
9
]
, ou
capacite a monter en charge
[
10
]
. En radio-television, on parle d’
echelonnabilite
[
11
]
. Le
calque
francais
scalabilite
est egalement utilise, ou bien le mot anglais
scalability
est conserve tel quel
[
12
]
.
La scalabilite peut faire reference a la capacite d’un systeme a accroitre sa capacite de calcul sous une charge accrue quand des ressources (generalement du materiel) sont ajoutees. L’expression porte un sens similaire quand elle est utilisee dans un contexte commercial, quand l’extensibilite d’une entreprise implique que le
modele economique
offre le potentiel d’une croissance economique pour l’entreprise.
Cet aspect doit etre etudie de pres dans tout service reseau, sujet en particulier a des afflux tres brusques de trafic (
ex. :
publicite televisee
, reaction a une actualite sensible, debut d'un evenement sportif,
effet Slashdot
,
etc.
), lesquels peuvent provoquer une augmentation importante du
temps de reponse
entrainant le decouragement des usagers, une baisse de rentabilite, et parfois jusqu'a l'impossibilite technique de servir tous les clients
[
13
]
.
La ≪ scalabilite ≫ est la capacite d'un dispositif informatique a s'adapter au rythme de la demande. La capacite du materiel etant fixe, en particulier le
debit binaire
des reseaux et des
disques durs
, il existe une limite dans le nombre de demandes qui peuvent etre traitees dans un temps donne. Au-dessus de cette limite les demandes sont multiplexees et la concurrence entre les demandes traitees simultanement provoque des delais d'attente supplementaires qui font effet de
goulot d'etranglement
[
note 2
]
,
[
14
]
.
L'evolutivite est une caracteristique cruciale de tous les services reseau, sans laquelle le service peut se retrouver victime de son succes. La popularite elevee d'un service peut apporter des difficultes techniques qui entrainent un cout eleve de
maintenance
. Sous l'effet de l'arrivee de nouveaux clients, le fournisseur peut se retrouver en difficulte economique voire dans l'impossibilite technique de servir a la fois les nouveaux et les anciens clients
[
13
]
.
La scalabilite est une capacite recherchee des applications de
base de donnees
, des moniteurs de
transactions
et des
systemes d'exploitation
. Le systeme d'exploitation etant l'intermediaire oblige entre les applications et le materiel, la ≪ scalabilite ≫ de ce dernier est d'une importance critique ? mais largement ignoree ? pour la scalabilite de l'ensemble du systeme informatique
[
15
]
.
Le materiel informatique doit non seulement etre suffisant pour faire face au debit actuel de la demande, mais, dans une perspective d'evolutivite, egalement etre en mesure d'accepter des ajouts de pieces pour faire face a une demande accrue
[
16
]
.
Les
processeurs
sont des composants onereux d'un
serveur informatique
, et leur nombre sera souvent limite soit par leur
architecture materielle
? nombre de processeurs ? soit par la baisse des performances unitaires due a la repartition de charge sur plusieurs machines physiques plus ou moins eloignees. Il en va de meme pour d'autres pieces de materiel informatique.
L'evolutivite horizontale consiste a ajouter des ordinateurs pour faire face a une demande accrue d'un service. La methode la plus courante est la
repartition de charge
[
note 3
]
par utilisation d'une
grappe de serveurs
[
note 4
]
. C'est une technique couramment utilisee par les
serveurs web
[
17
]
.
L'evolutivite verticale consiste a utiliser un ordinateur qui offre de nombreuses possibilites d'ajout de pieces, sur lequel il est possible de mettre une grande quantite de
memoire
, de nombreux processeurs, plusieurs
cartes meres
et de nombreux disques durs. Par exemple un ordinateur
Sun
Enterprise
peut contenir jusqu'a
64 processeurs
,
16 cartes
meres,
64 Go
de memoire et des
baies de stockage
[
note 5
]
. L'ensemble tout equipe peut couter jusqu'a un million de dollars
[
16
]
.
L'evolutivite
architecturale
consiste a prevoir d'emblee une application pour qu'elle puisse etre repartie sur plusieurs machines sans reecriture. Le fonctionnement en mode
client-serveur
ajoute une excellente flexibilite dans ce domaine : serveurs web, serveurs applicatifs, serveurs de bases de donnees dupliques la ou les journaux systeme indiquent un sous-dimensionnement a mesure que la frequentation augmente au cours du temps, et uniquement la.
Quelles que soient la taille et la complexite d'un logiciel, ses fonctionnalites, ses performances, son extensibilite et son cout doivent correspondre aux attentes de l'utilisateur final. Dans le domaine des
bases de donnees
, les applications de
traitement transactionnel en ligne
[
note 6
]
sont particulierement concernees
[
17
]
.
Les mesures d'extensibilite font ressortir la variation de la performance du logiciel en fonction de l'augmentation de la demande. Le consommateur s'attend generalement a ce que la performance (le temps de reponse) ne varie pas tant que la charge (le nombre d'operations par seconde) n'atteint pas la valeur nominale que le produit est cense supporter.
Les mesures d'extensibilite s'interessent au seuil a partir duquel la performance commence a se degrader ainsi que la vitesse de la degradation par rapport a l'augmentation de la demande
[
18
]
.
Il y a defaut d'extensibilite de type 1 lorsque la performance se deteriore rapidement avec l'augmentation de la demande avant d'avoir atteint le niveau nominal et que le defaut peut etre corrige par des operations de
parametrage
et d'
optimisation
.
Il y a defaut d'extensibilite de niveau 2 lorsque la performance se deteriore jusqu'a devenir inacceptable, et qu'aucune amelioration ne peut etre apportee, pas meme le remplacement du materiel informatique. Le seul moyen de corriger un tel defaut necessite de couteuses remises en question de l'
architecture
du produit. Un produit presentant ce type de defaut est considere comme non extensible
[
19
]
.
De nombreuses applications
client-serveur
sont construites en mode de communication synchrone : la partie client envoie une demande a la partie serveur, puis attend jusqu'a ce qu'elle recoive le resultat. Ce mode est plus simple a mettre en œuvre, mais provoque des temps de latence qui sont percus par l'utilisateur comme un manque d'evolutivite. Le mode asynchrone permet d'effectuer des operations durant les temps de latence et de multiplexer le traitement des demandes ; ce mode est utilise dans les applications
a fils d'execution multiple
, les
services web
et la
programmation evenementielle
[
14
]
.
Une technique en vue d'augmenter la resistance a une forte demande d'un logiciel consiste a pre-reserver un groupe de ressources qui sont continuellement disponibles pour multiplexer les demandes en cas de besoin et ainsi economiser le temps qui aurait ete necessaire pour des reservations au besoin. Cette technique de
pooling
est utilisee notamment pour la connexion aux
bases de donnees
[
14
]
.
L'utilisation de
files d'attente
, l'
architecture orientee services
[
note 7
]
, l'utilisation de
services web
et de
systemes de gestion de base de donnees
[
note 8
]
influencent l'extensibilite d'un logiciel
[
17
]
.
L'
industrie des telecommunications
est particulierement concernee par l'evolutivite et la fiabilite des reseaux qui sont amenes a servir un tres grand nombre de clients. Une
dorsale
[
note 9
]
doit pouvoir supporter le trafic provenant de plusieurs services et fournir de tres nombreux clients sans qu'il soit necessaire d'ajouter des equipements
[
20
]
.
Les lignes de telecommunication desservent generalement a la fois la
telephonie
, le reseau
Internet
et les
reseaux informatiques
prives. Les fournisseurs de telecommunication cherchent a diminuer les couts de
maintenance
du reseau tout en fournissant tous les services demandes par les consommateurs
[
20
]
. L'evolutivite d'un reseau concerne autant la resistance au changement d'ordre de grandeur du
debit binaire
du reseau que du nombre d'abonnes
[
21
]
.
Dans les reseaux publics ayant de tres nombreux abonnes (telephonie, Internet), on s'attend a ce que le remplacement du
terminal
soit une mesure suffisante pour adapter le reseau a la demande. Vu que tous les clients ne remplacent pas leur terminal en meme temps, le reseau doit pouvoir exploiter simultanement differentes generations de terminaux
[
21
]
.
- ↑
calque de l’anglais
scalability
.
- ↑
en anglais
bottleneck
.
- ↑
en anglais
load balancing
.
- ↑
en anglais
cluster
- ↑
en anglais
disk array
- ↑
en anglais
on-line transactional processing
ou
OLTP
- ↑
en anglais
service-oriented architecture
ou
SOA
.
- ↑
en anglais
data base management systems
ou
DBMS
.
- ↑
en anglais
backbone
.
- ↑
≪
extensibilite
≫,
Grand Dictionnaire terminologique
,
Office quebecois de la langue francaise
(consulte le
)
.
- ↑
Commission d’enrichissement de la langue francaise
, ≪
extensibilite
≫, sur
FranceTerme
,
ministere de la Culture
(consulte le
)
.
- ↑
≪
scalability
≫,
Grand Dictionnaire terminologique
,
Office quebecois de la langue francaise
- ↑
Rene J. Chevance,
Serveurs multiprocesseurs et SGBD parallelises
, Ed. Techniques Ingenieur, page 4.
- ↑
Edouard Rivier,
Communication audiovisuelle
, Springer, 2003,
(
ISBN
9782287597688
)
, page 180.
- ↑
Luigi Zaffalon,
Programmation concurrente et temps reel avec Java
, PPUR presses polytechniques, 2007,
(
ISBN
9782880746988
)
, page 47.
- ↑
Dr. Omar Elloumi, Dr. Mohsen Souissi,
Integration IP et ATM
, Ed. Techniques Ingenieur, 2003, page 5.
- ↑
Jean-Noel Gouyet,
Serveurs video et media
, Ed. Techniques Ingenieur, 2008, page 18.
- ↑
Patrick Rompen,
Introduction au passage a l'echelle d'un site internet: Introductions aux concepts de repartition de charge, mise en cache, virtualisation et base de donnees distribuees (French Edition)
, 2011.
- ↑
NoSQL
- ↑
Termium
, Bureau de la traduction du gouvernement du Canada : ≪ Le principe d'echelonnabilite permet a partir d'un seul encodage la diffusion a des debits differents ≫
- ↑
Djillali Seba,
CISCO : interconnexion des reseaux a l'aide des routeurs et commutateurs
, Editions ENI, 2003,
(
ISBN
9782746021440
)
, page 274.
- ↑
a
et
b
Minei et Lucek 2011
.
- ↑
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
)
.
- ↑
(en)
Seif Haridi - 1995 EURO-PAR 1 - Stockholm,
Parallel processing - Volume 966 de Lecture notes in computer science
, Springer - 1995,
(
ISBN
9783540602477
)
.
- ↑
a
et
b
(en)
Jeff Horwitz,
Unix system management: primer plus
, Sams Publishing - 2002,
(
ISBN
9780672323720
)
.
- ↑
a
b
et
c
Henderson 2006
.
- ↑
(en)
Jack Y. B. Lee,
Scalable Continuous Media Streaming Systems: Architecture, Design, Analysis and Implementation
, John Wiley and Sons, 2005,
(
ISBN
9780470857540
)
- ↑
(en)
Henry H. Liu,
Software Performance and Scalability: A Quantitative Approach
, John Wiley and Sons, 2009,
(
ISBN
9780470462539
)
- ↑
a
et
b
(en)
Monique Morrow et Kateel Vijayananda,
Developing IP-based services: solutions for service providers and vendors
, Morgan Kaufmann - 2003,
(
ISBN
9781558607798
)
- ↑
a
et
b
(en)
Biswanath Mukherjee,
Optical WDM networks
, Birkhauser - 2006,
(
ISBN
9780387290553
)
- [Henderson 2006]
(en)
Cal
Henderson
,
Building scalable web sites
, O'Reilly Media Inc.,
(
ISBN
9780596102357
)
.
- [Minei et Lucek 2011]
(en)
Ina
Minei
et Julian
Lucek
,
MPLS-Enabled Applications : Emerging Developments and New Technologies
, John Wiley and Sons,
(
ISBN
9780470665459
)
.