Aprovechar la escalabilidad horizontal

Last reviewed 2024-12-30 UTC

Este principio del pilar de fiabilidad del Google Cloud framework de arquitectura óptima proporciona recomendaciones para ayudarte a usar la escalabilidad horizontal. Si usas la escalabilidad horizontal, puedes asegurarte de que tus cargas de trabajo enGoogle Cloud se escalen de forma eficiente y mantengan el rendimiento.

Este principio se aplica al ámbito de la fiabilidad.

Descripción general de los principios

Rediseña tu sistema para que tenga una arquitectura horizontal. Para adaptarse al aumento del tráfico o de los datos, puede añadir más recursos. También puedes quitar recursos cuando no los estés usando.

Para entender el valor del escalado horizontal, ten en cuenta las limitaciones del escalado vertical.

Un caso habitual de escalado vertical es usar una base de datos MySQL como base de datos principal con datos críticos. A medida que aumenta el uso de la base de datos, se necesita más RAM y CPU. Con el tiempo, la base de datos alcanza el límite de memoria en el host y debe actualizarse. Es posible que tengas que repetir este proceso varias veces. El problema es que hay límites estrictos en la cantidad que puede crecer una base de datos. Los tamaños de las máquinas virtuales no son ilimitados. La base de datos puede llegar a un punto en el que ya no sea posible añadir más recursos.

Aunque los recursos fueran ilimitados, una VM grande puede convertirse en un único punto de fallo. Cualquier problema con la VM de la base de datos principal puede provocar respuestas de error o una interrupción en todo el sistema que afecte a todos los usuarios. Evita los puntos únicos de fallo, tal como se describe en el artículo Crea sistemas de alta disponibilidad mediante la redundancia de recursos.

Además de estos límites de escalado, el escalado vertical suele ser más caro. El coste puede aumentar de forma exponencial a medida que se adquieren máquinas con mayor potencia de cálculo y memoria.

Por el contrario, el escalado horizontal puede costar menos. El potencial de escalado horizontal es prácticamente ilimitado en un sistema diseñado para escalarse.

Recomendaciones

Para pasar de una arquitectura de una sola máquina virtual a una arquitectura horizontal de varias máquinas, debes planificarlo con cuidado y usar las herramientas adecuadas. Para ayudarte a conseguir un escalado horizontal, ten en cuenta las recomendaciones de las siguientes subsecciones.

Usar servicios gestionados

Los servicios gestionados eliminan la necesidad de gestionar manualmente el escalado horizontal. Por ejemplo, con los grupos de instancias administradas (MIGs) de Compute Engine, puedes añadir o quitar VMs para escalar tu aplicación horizontalmente. En el caso de las aplicaciones en contenedores, Cloud Run es una plataforma sin servidor que puede escalar automáticamente tus contenedores sin reconocimiento del estado en función del tráfico entrante.

Promocionar el diseño modular

Los componentes modulares y las interfaces claras te ayudan a adaptar los componentes individuales según sea necesario, en lugar de adaptar toda la aplicación. Para obtener más información, consulta la sección Promover el diseño modular del pilar de optimización del rendimiento.

Implementar un diseño sin reconocimiento del estado

Diseña las aplicaciones para que no tengan estado, es decir, que no almacenen datos de forma local. De esta forma, puedes añadir o quitar instancias sin preocuparte por la coherencia de los datos.