Dos conceptos que se utilizan a menudo al hablar de arquitecturas de servidores son los de escalabilidad (scalability) y alta disponibilidad (high availability). Sin embargo, no todo el mundo sabe qué significan y cómo usarlos correctamente. A continuación intentaré hacer una breve introducción a cada uno de estos conceptos.
Escalabilidad
La escalabilidad de un sistema informático indica su capacidad para crecer sin perder calidad en los servicios ofrecidos. Es decir, la suficiencia de dicho sistema informático de variar su tamaño, características y capacidad de servicios para adaptarse a una nueva situación.
Dicho de modo resumido, es la capacidad de un sistema informático de adaptarse a una nueva situación sin que el servicio que ofrece se vea afectado. Existen dos tipos de escalabilidad: vertical y horizontal.
Escalabilidad vertical
Dado un sistema informático con unos recursos determinados, se añaden más recursos a dicho sistema. Se consideran recursos los componentes del sistema: memoria, disco duro, procesador, …
Escalabilidad horizontal
Se añaden más servidores con la misma funcionalidad al sistema, redistribuyendo la carga entre todos ellos.
Consideraciones
El principal problema de escalar un sistema informático es estimar cuánta carga deberá soportar el sistema. Proporcionar una cifra exacta es complicado y se deben realizar estimaciones. Si la cifra se sobreestima, se desperdiciarán recursos y si se subestima, el sistema no estará preparado para soportar el aumento de carga.
Si se trata de un sistema cuya carga es muy elevada, el principal problema de la escalabilidad vertical es el coste. Existe un catálogo de hardware que ofrece una buena relación entre rendimiento y precio. Fuera de ese rango, los servidores que ofrecen un mejor rendimiento tienen un coste mucho más elevado. Por último, existe un límite físico en la escalabilidad vertical que viene definido por el propio hardware.
Alta disponibilidad
El concepto de alta disponibilidad de un sistema informático consiste en que el servicio ofrecido esté el mayor tiempo posible funcionando. Lo ideal es que un servicio esté disponible 24 horas al día, 7 días a la semana, los 365 días del año, ofreciendo un 100% de disponibilidad.
Este caso ideal, es prácticamente imposible de implantar, ya que se depende de un hardware y software que tienden a fallar tarde o temprano. Además, establecer una alta disponibilidad en un servicio conlleva unos costes elevados. Se deberá encontrar un equilibrio entre los costes asociados y la alta disponibilidad que se desea.


Consideraciones sobre escalabilidad y alta disponibilidad // abr 28, 2012 at 10:06 am
[...] RSS ← Escalabilidad y alta disponibilidad [...]