Escalamiento Vertical Vs Horizontal – Aquitectura de Sistemas

July 12, 2023

Cuando estamos diseñando la arquitectura de un sistema es común plantearse la pregunta de utilizar escalamiento vertical vs horizontal, pero ¿ a qué nos referimos cuando hablamos de esto?

Escalabilidad

Lo primero sería definir a qué nos referimos por escalabilidad, de la forma más simple, la escalabilidad se refiere a la capacidad que tiene un sistema para adaptarse al crecimiento. Por ejemplo, el desarrollo de un sistema puede comenzar con una base de 50 o 100 usuarios que tendrán requerimientos para cumplir con este carga de trabajo, pero con el tiempo el sistema puede crecer a 5,000 o 50,000 usuarios dejando muy atrás los requerimientos de recursos que se plantearon inicialmente.

La escalabilidad no solo se presenta por crecimiento en la base de usuarios, también puede crecer la complejidad del sistema, por ejemplo, si en un comienzo un sistema sólo contemplaba funciones de publicaciones texto, quizás en un futuro se agregue chat, búsquedas, reportes, integraciones con otras plataformas, etc etc etc. En este escenario el sistema debe poder escalar para adaptarse a los nuevos requerimientos.

Tipos de escalamiento

Cuando hablamos de escalabilidad, estos son los escenarios con los que nos vamos a encontrar y se refieren a conceptos muy sencillos de explicar.

Escalamiento Vertical

Foto de hombertho
https://www.flickr.com/photos/hombertho/

El escalamiento Vertical consiste en agregar recursos a un sólo nodo, aumentando su capacidad, esto puede ser aumentar la memoria RAM del servidor, agregar discos duros de mayor capacidad, cambiar de CPU o incluso cambiar todo el servidor por uno de más capacidad.

Quizás este tipo de escalabilidad es el que más conoces, “Mi PC está corriendo lento, necesita más memoria”.

Ventajas de escalamiento vertical

  • Es más sencillo de administrar un sólo nodo que múltiples nodos.
  • En muchas ocasiones es más práctico.

Desventajas de escalamiento vertical

  • Representa un punto único de falla (Single point of failure).  Poner todos los huevos en la misma canasta se dice coloquialmente.
  • El poder de cómputo de la redundancia no se aprovecha.

Escalamiento Horizontal

Foto de Jamison_Judd
https://www.flickr.com/photos/jamisonjudd/

El escalamiento Horizontal, a diferencia del anterior consiste en agregar nodos adicionales para adaptarse a la carga de trabajo. Si la aplicación o el sistema están llegando a su punto crítico, entonces se agregan nodos adicionales y se divide la carga entre los distintos nodos.

Este tipo de escalabilidad no es posible en muchos escenario y quizás por eso no implementando tan comúnmente, pero sin duda es una excelente alternativa para sistemas como Vicidial Call Center Suite.

Ventajas de escalamiento horizontal

  • En caso de una falla, no afecta toda la operación. *
  • Permite escalar gradualmente, agregando servidores conforme se necesitan.
  • Se pueden utilizar el poder computo de las redundancias activas.

* Esto no lo exenta de requerir opciones de redundancia.

Desventajas de escalamiento horizontal

  • Requiere más espacio en el cuarto de servidores o centro de colocación.
  • El nivel de complejidad lo hace más difícil de administrar.
  • Encontrar errores puede ser más desafiante.

Escalamiento Vertical Vs Horizontal

Para responder la pregunta de Escalamiento Vertical Vs Horizontal; debemos entender que cada uno ofrece ventajas y desventajas y no existe uno mejor que otro; pero si existen escenarios donde uno puede funcionar mejor que el otro. Lo ideal sería hacer un análisis para cada escenario y determinar el mejor.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments