Puedes ampliar la capacidad de los sistemas informáticos a través de la escalabilidad horizontal y vertical.

Son conceptos habituales entre los/as profesionales formados con un Curso de Big Data y debes saber qué criterio seguir para elegir cada camino. ¡Descúbrelo en este artículo!

Principios básicos de la escalabilidad en tecnología

De la noche a la mañana, una aplicación puede pasar de usarla un puñado de usuarios a ser un fenómeno que tenga que soportar los suficientes servidores para funcionar en millones de dispositivos.

¿Cómo conseguir este cambio? A través de la escalabilidad, pero es una infraestructura tecnológica que cubre este y otros tantos escenarios. Descubre su definición y un acercamiento al horizontal y vertical.

Definición de escalabilidad

El concepto de escalabilidad forma parte de la arquitectura tecnológica y, sobre esta área, el Marco de Desarrollo de la Junta de Andalucía facilita la siguiente definición:

“Se entiende por escalabilidad a la capacidad de adaptación y respuesta de un sistema con respecto al rendimiento del mismo a medida que aumentan de forma significativa el número de usuarios del mismo.”

Primer acercamiento a la escalabilidad horizontal y vertical

Aumentar la capacidad de recursos tecnológicos para abrir los sistemas a más usuarios puede realizarse con distintas estrategias: con una escalabilidad horizontal o vertical. La Junta de Andalucía las describe:

  • El escalar verticalmente o escalar hacia arriba, significa el añadir más recursos a un solo nodo en particular dentro de un sistema, tal como el añadir memoria o un disco duro más rápido a una computadora.
  • La escalabilidad horizontal, significa agregar más nodos a un sistema, tal como añadir una computadora nueva a un programa de aplicación para espejo.

¿Qué es la escalabilidad horizontal? Ventajas y desventajas

La escalabilidad horizontal es el siguiente nivel al que recurren los/as desarrolladores/as en el momento en el que no pueden obtener suficientes recursos para las cargas de trabajo, incluso cuando funcionan con el máximo nivel de rendimiento.

El escalado horizontal consiste en agregar más bases de datos distribuidas en servidores para aumentar la cantidad de recursos en un sistema.

Llegados a ese punto, explicado por Microsoft Azure, se realiza un escalado horizontal aplicando particiones y agregando más bases de datos, distribuidas en distintos servidores. Estos, posteriormente, se podrán escalar verticalmente si es necesario.

Entendiendo la escalabilidad vertical: cuando escalar hacia arriba

La escalabilidad vertical es el punto de inflexión para el que es necesario aumentar la capacidad de una máquina o nodo para aguantar la carga de trabajo y alcanza su límite de rendimiento.

El escalado vertical permite aumentar la capacidad de un nodo y puede reinstaurarse cuando no sea necesario el extra de recursos.

Como se trabaja sobre un único nodo al que se aumenta la capacidad el tiempo que sea necesario. Posteriormente, puede restaurarse el nodo para que vuelva a su capacidad habitual y, así, reducir los costes de gestión. Especialmente si es un servicio de pago en la nube.

Cómo elegir entre escalabilidad horizontal y vertical

Es normal tener dudas acerca de cómo elegir entre la escalabilidad horizontal y vertical, especialmente si estás empezando. Te damos una guía para que puedas orientarte con un buen criterio.

Fortalezas del escalado horizontal

Elige el escalado horizontal para construir sistemas:

  • Con una mayor resistencia a los fallos, porque al distribuir la carga de trabajo en múltiples servidores, reduce el impacto de una incidencia en un único punto.
  • Con los que crear redundancia para aumentar la disponibilidad de la aplicación con un sistema robusto.
  • Con vistas a aumentar el crecimiento en el futuro, con espacio para sumar nuevos servidores antes de llegar al límite de recursos en las cargas de trabajo.
  • Que sean la base de aplicaciones distribuidas que sigan un manejo eficiente de la carga distribuida.

Fortalezas del escalado vertical

Por otro lado, los sistemas de escalado vertical es un acierto cuando:

  • La aplicación requiera de aumentar los recursos en memorias por instancias o CPU, para concentrar los esfuerzos en una sola máquina o nodo en vez de en todo un sistema.
  • Buscas la eficiencia: centrar los esfuerzos en un único nodo requiere de menos esfuerzos por norma habitual que implementando cambios en todo un sistema.
  • Necesitas reducir los costes, porque mantener el escalado vertical suele requerir una menor inversión que gestionar múltiples servidores.
  • Construyes aplicaciones monolíticas, es decir sin modularidad, porque no tienen una construcción de los servidores horizontal y se benefician del escalado vertical.

Casos de uso real y decisiones estratégicas

En la gestión de cargas de trabajo, es clave tomar las decisiones adecuadas para favorecer un servicio de calidad en la nube, un reparto entre los servidores y evitar sobrecargas que puedan ser perjudiciales en los sistemas y los usuarios.

Microsoft Azure expone una serie de escenarios donde recomienda la escalabilidad horizontal y vertical: los recogemos en los siguientes apartados.

Recomendaciones de uso escalabilidad horizontal

Este sistema tiene sus ventajas y también inconvenientes, por eso Microsoft Azure establece tres ejemplos donde es un acierto aplicar una medida de escalado vertical.

  • Si tienes aplicaciones distribuidas geográficamente y cada aplicación debe acceder a parte de los datos de la región, así garantizas que el sistema se dirija a esa partición y no afecte a otras particiones.
  • En sistemas alojados en distintas áreas geográficas y debes garantizar a los clientes de una zona en concreto que puedan insertar datos en sus propias particiones.
  • Para aumentar la capacidad del sistema cuando hayas maximizado los requisitos de rendimiento en toda la partición de datos existente y necesitas nuevas bases de datos.

Recomendaciones de uso de escalabilidad vertical

¿Cuándo es recomendable optar por escalar hacia arriba? La aplicación para soluciones en la nube de Microsoft sugiere recurrir a la escalabilidad vertical para resolver tres posibles escenarios.

  • Cuando las cargas de trabajo están alcanzando su límite de rendimiento, como la unidad central de procesamiento.
  • En situaciones donde es necesario ir más allá de una optimización para rectificar problemas de rendimiento aumentando la capacidad del nodo.
  • En el momento en el que debes modificar los niveles de servicio para poder adaptarlo a requisitos de latencia cambiantes.

¡Usa el Big Data y la escalabilidad a lo grande!

Un 74% de las compañías ha aumentado la inversión en análisis de datos a lo largo de 2022, según el primer estudio en España sobre Data&Analytics. Es un periodo perfecto para especializarte con un Curso de Big Data y convertirte en el/la especialista que las empresas necesitan.

Con Tokio School, podrás formarte en Big Data mano a mano con profesionales del sector y con un programa 100% online, que también incluye prácticas en empresas para conseguir tus primeras experiencias profesionales.

Da el primer paso para cambiar tu futuro: rellena el formulario e infórmate al completo del curso. ¡El momento es ahora!

Bibliografía: