Escalabilitat

De la Viquipèdia, l'enciclopèdia lliure

L'escalabilitat, en telecomunicacions i en enginyeria informàtica, és la propietat desitjable d'un sistema, una xarxa informàtica o un procés, que indica la seva habilitat per a estendre el marge d'operacions sense perdre qualitat, o bé perquè pot controlar el creixement continu de treball de manera fluida, o bé perquè està preparat per fer-se més gran sense perdre qualitat en els serveis oferts. En general, també es podria definir com la capacitat del sistema informàtic de canviar la seva grandària o configuració per adaptar-se a les circumstàncies canviants.[1] Per exemple, una universitat que estableix una xarxa d'usuaris per Internet per a un edifici de docents i no solament vol que el seu sistema informàtic tingui capacitat per acollir els actuals clients, que són tots professors, sinó també els clients que pugui tenir en el futur atès que hi ha professors visitants que necessitaran accedir a la xarxa. Per a això és necessari implementar solucions que permetin el creixement de la xarxa sense que la qualitat o velocitat disminueixi. Un sistema el rendiment del qual ha millorat després d'haver-li afegit més capacitat de maquinari, proporcionalment a la capacitat afegida, es diu sistema escalable.[2]

Dimensions[modifica]

L'escalabilitat es pot mesurar en diferents dimensions.

  • Escalabilitat en càrrega, un sistema distribuït ens fa fàcil l'ampliar i reduir els seus recursos per acomodar (a conveniència), càrregues més pesades o més lleugeres segons es requereixi.
  • Escalabilitat geogràfica, un sistema geogràficament escalable, és aquell que manté la seva utilitat i usabilitat, sense importar que tan lluny estiguin els seus usuaris o recursos.
  • Escalabilitat administrativa, no importa que moltes diferents organitzacions necessitin compartir un sol sistema distribuït, ha de ser fàcil d'usar i manejar.[3]

Exemples[modifica]

Per exemple, un sistema de processament i transacció en línia o un sistema administrador de base de dades escalable poden ser actualitzats per poder processar més transaccions afegint per mitjà de nous processadors, dispositius i emmagatzematge que es poden implementar fàcil i transparentement sense apagar-los.

Un protocol enrutador és considerat escalable pel que fa a la grandària de la xarxa, si la grandària de la necessària taula enrutadora en cada node creix com una cota superior asimptòtica (log N), on N és el nombre de nodes a la xarxa.

D'altra banda, una aplicació de programari és escalable si en incrementar els processadors on s'executa, el rendiment creix proporcionalment. Per contra, una aplicació no és escalable si el seu rendiment no "escala" o creix amb l'increment dels processadors.

Un altre exemple és: en el CoE = 4

Tipus d'escalabilitat[modifica]

És la capacitat del sistema informàtic de canviar la seva grandària o configuració per adaptar-se a les circumstàncies canviants.[4]

Escalabilitat vertical[modifica]

Un sistema escala verticalment o cap a dalt, quan a l'afegir més recursos a un node particular del sistema, aquest millora en conjunt. Per exemple, afegir memòria o un disc dur més ràpid a una computadora pot millor el rendiment del sistema global. Un altre exemple molt bàsic dins l'economia digital seria augmentar el nombre de CPUs que té el servidor del nostre lloc web.[5]

Aquest és el sistema més simple, doncs com hem dit, significa créixer el hardware d'un dels nodes, és a dir, augmentar el hardware per un més potent com un disc dur, memòria, processador.. però també pot ser la migració completa del hardware per un més potent. L'esforç d'aquest creixement és mínim, doncs no té repercussions en el software, ja que només serà recolzar i migrar es sistemes al nou hardware.

Tot i que hem vist que es tracta d'un procés senzill, la realitat és que aquest tipus d'escalament conté alguns aspectes negatius. Això es deu al fet que el creixement està directament lligat al hardware, i aquest tard o d'hora tindrà un límit. Arribarà un moment en què tindrem el millor disc dur, el millor processador, la millor memòria però que ja no podrem créixer més. Podríem comprar el següent model de servidors, però el cost d'aquesta operació seria enorme i el rendiment només milloraria una mica, és a dir, que no ens valdria la pena. A més. Seguiríem tenint el mateix problema el pròxim any i, per tant, no seria una solució efectiva. Però tot i així a nivell estructura no ens suposa cap modificació destacada, cosa que la convertiria en una bona opció si els costos anteriors són assumibles.

En qualsevol cas, això no significa que el sistema d'escalabilitat vertical sigui dolent, donat que podem combinar-lo amb l'escalament horitzontal i així obtenir millors resultats.

Escalabilitat horitzontal[modifica]

Un sistema escala horitzontalment si al afegir més nodes, el rendiment d'aquest millora. Es basa en mantenir el cost del desenvolupament i aplicació adaptant-se en tot moment al seu continu creixement, però és un sistema més complex d'implementar i d'administrar. Per això sol estar conformat per una agrupació d'equips que donen suport a la funcionalitat completa. Normalment, en una escalabilitat horitzontal s'afegeixen equips per a donar més potència a la xarxa de treball.

Amb un entorn d'aquest tipus, és lògic pensar que la potència de processament és directament proporcional al nombre d'equips de la xarxa. El total de la potència de processament és la suma de la velocitat física de cada equip transferida per la participació d'aplicacions i dades estesa a través dels nodes.

Si s'aplica un model d'escalabilitat basat en l'horitzontalitat, aparentment no existeixen limitacions. Però com a principal i important punt negatiu, és que aquest model de creixement suposa una gran modificació en el disseny i reimplantació. Si la lògica s'ha concebut per a un únic servidor, és probable que s'hagi d'estructurar el model arquitectònica per a suportar aquest model d'escalabilitat.

Ha d'haver-hi un encarregat que s'encarregui de com realitzar el model de partició de dades dels diferents equips, ja que existeixen dependències en l'accés a l'aplicació. Es convenient realitzar una anàlisi d'activitat dels usuaris per anar ajustant el funcionament del sistema. Amb aquest model d'escalabilitat, es disposa d'un sistema al que es poden agregar recursos de manera gairebé infinita i adaptable al creixement de càrregues de treball i de nous usuaris.[6]

L'escalabilitat compte com a factor crític el creixement dels usuaris. És molt més senzill dissenyar un sistema amb un nombre constant d'usuaris (per molt alt que sigui) que dissenyar un sistema amb un nombre creixent i variable d'usuaris. El creixement relatiu dels nombres és molt més important que els nombres absoluts.

Per exemple, al afegir una computadora nova a un sistema que balanci la càrrega entre l'antiga i la nova pot millorar el rendiment tot el sistema. Un altre exemple seria el d'una botiga online. En aquest cas es tractaria d'implementar un software flexible que pugui anar-se ajustant als requeriments en pics alts de demanda i que aporti una excel·lent gestió en termes de rendiment i optimització.[5]

Referències[modifica]

  1. Bondi, André B. «Characteristics of scalability and their impact on performance». A: Proceedings of the second international workshop on Software and performance - WOSP '00, 2000, p. 195. DOI 10.1145/350391.350432. ISBN 158113195X. 
  2. Hill, Mark D. «What is scalability?». ACM SIGARCH Computer Architecture News, 18, 4, 1990, pàg. 18. DOI: 10.1145/121973.121975. i Duboc, Leticia; Rosenblum, David S.; Wicks, Tony. «A framework for modelling and analysis of software systems scalability». A: Proceeding of the 28th international conference on Software engineering - ICSE '06, 2006, p. 949. DOI 10.1145/1134285.1134460. ISBN 1595933751. 
  3. Hesham El-Rewini and Mostafa Abd-El-Barr. Advanced Computer Architecture and Parallel Processing. John Wiley & Son, Apr 2005, p. 66. ISBN 978-0-471-47839-3 [Consulta: Oct 2013]. 
  4. (26 març 2007) "Scale-up x Scale-out: A Case Study using Nutch/Lucene" a 2007 IEEE International Parallel and Distributed Processing Symposium. . DOI:10.1109/IPDPS.2007.370631 
  5. 5,0 5,1 «Una visión diferente sobre escalabilidad y modelos de negocio» (en castellà), 12-04-2018. [Consulta: 20 desembre 2019].
  6. «Conceptos sobre la escalabilidad | Marco de Desarrollo de la Junta de Andalucía». [Consulta: 20 desembre 2019].

Vegeu també[modifica]

Enllaços externs[modifica]