¿Qué es la elasticidad de la nube?

La elasticidad de la nube es la capacidad de un sistema en la nube para cambiar automáticamente sus recursos de procesamiento para que coincidan con una carga de trabajo cambiante. También conocido como computación elástica, este concepto es como una banda elástica: puede estirarse para manejar más trabajo y, luego, volver a su forma original cuando el trabajo está terminado, lo que significa que no tienes que adivinar cuánta capacidad necesitarás de antemano. En cambio, tu servicio en la nube te proporciona automáticamente más potencia de procesamiento, memoria o almacenamiento cuando tienes un aumento repentino en el tráfico y, luego, reduce la escala cuando las cosas se ralentizan. Esto puede ayudar a las empresas a ahorrar dinero, ya que solo pagan por los recursos que usan.

Información sobre la computación elástica

La elasticidad de la nube es un beneficio clave de la computación en la nube que permite que la infraestructura de nube de una empresa aumente o disminuya sus recursos automáticamente en función de la demanda. El significado principal de la elasticidad de la nube es la adaptación a cambios impredecibles en las cargas de trabajo sin ayuda humana.

Por ejemplo, un sitio web de comercio electrónico puede experimentar un gran aumento en el tráfico durante una festividad como el Black Friday. Con la computación elástica, el sitio web obtiene automáticamente más servidores para manejar el aumento repentino del tráfico, lo que garantiza que los clientes tengan una experiencia de compra fluida. Una vez que finaliza la festividad, el sistema reduce los recursos a niveles normales.

Tipos de elasticidad de la nube

Un sistema puede usar la elasticidad de dos maneras principales: horizontal y vertical.

Esto también se denomina "escalamiento horizontal" o "reducción de la escala". Implica agregar o quitar más máquinas o instancias en tu sistema. Cuando necesitas más capacidad, agregas más servidores. Cuando ya no los necesitas, los eliminas. Esto se suele usar para aplicaciones que se pueden dividir y ejecutar en varios servidores a la vez.

Esto también se denomina "escalar verticalmente" o "reducir la escala verticalmente". Esto implica aumentar o disminuir los recursos de una sola máquina. Por ejemplo, si necesitas más potencia para un servidor específico, le darías más CPU, memoria o almacenamiento. Cuando termines, puedes reducir esos recursos.

Elasticidad en la nube versus escalabilidad

Si bien los términos elasticidad y escalabilidad a menudo se usan juntos, describen cosas diferentes.

  • La escalabilidad de la nube es la capacidad de un sistema para manejar una carga de trabajo más grande con el tiempo agregando más recursos. Es una estrategia planificada a largo plazo para el crecimiento. Por ejemplo, una empresa podría saber que tendrá más usuarios cada año, por lo que planea agregar más servidores a su centro de datos.
  • La elasticidad de la nube se refiere a la capacidad de un sistema para adaptarse a cambios repentinos e impredecibles en la demanda en tiempo real. Es un proceso automático y reactivo que se enfoca en la eficiencia y el ahorro de costos.

Piensa así: la escalabilidad es como prepararse para una gran maratón entrenando durante meses. La elasticidad es como un corredor que puede acelerar o reducir su ritmo al instante durante la carrera para igualar a los otros corredores.

Beneficios de usar la elasticidad de la nube

La computación elástica ofrece muchas ventajas potenciales para las empresas y los desarrolladores.

Rentabilidad

La computación elástica puede ayudarte a ahorrar dinero, ya que solo pagas por los recursos que usas. Cuando la demanda es baja, no tienes que mantener servidores adicionales en ejecución, lo que reduce los gastos innecesarios. También puedes evitar comprar hardware costoso para manejar el tráfico máximo que solo necesitarás algunas veces al año.

Alta disponibilidad y confiabilidad

Con el ajuste automático de recursos, la computación elástica puede ayudar a garantizar que tu aplicación siga estando disponible y responsiva incluso durante aumentos inesperados del tráfico. Esto puede evitar ralentizaciones o fallas que podrían frustrar a los usuarios o dañar la reputación de tu empresa.

Rendimiento mejorado

El sistema agrega recursos automáticamente cuando es necesario, lo que puede ayudar a mantener tiempos de respuesta rápidos y una experiencia del usuario fluida. Esto es especialmente importante para las aplicaciones con cargas de trabajo impredecibles, como los videojuegos en línea, los servicios de transmisión o el comercio electrónico.

Administración simplificada

Como el proceso de escalamiento es automático, los desarrolladores y los equipos de TI no tienen que supervisar ni ajustar los recursos de forma manual. Esto puede liberar tiempo y esfuerzo que se pueden enfocar en otras tareas importantes, como desarrollar nuevas funciones o mejorar la experiencia del usuario.

Computación elástica para desarrolladores empresariales

Para los desarrolladores en un entorno empresarial, la computación elástica no es solo una función, sino una estrategia importante que puede ayudar a crear aplicaciones resilientes, rentables y de alto rendimiento. Se trata de diseñar sistemas que puedan adaptarse de forma inteligente a cargas de trabajo impredecibles, evitando tanto el aprovisionamiento excesivo como el insuficiente. Esto es especialmente importante para las aplicaciones fundamentales que deben permanecer disponibles las 24 horas, todos los días, como las plataformas de comercio electrónico, los servicios financieros o las canalizaciones de procesamiento de datos.

Creación de sistemas elásticos con Compute Engine

La elasticidad de la nube es el principio fundamental detrás del funcionamiento de los grupos de instancias administrados (MIG) de Compute Engine. En lugar de aprovisionar VMs de forma manual para manejar el tráfico, puedes diseñar un sistema que se adapte automáticamente a los cambios en la demanda. Un MIG es un grupo de VMs idénticas que puedes administrar como una sola entidad y es la herramienta principal para crear un sistema elástico en Compute Engine. El MIG usa un escalador automático para agregar o quitar VMs del grupo de forma automática en función de métricas predefinidas, que es la forma en que logra la elasticidad.

A continuación, se explica cómo un desarrollador empresarial puede aplicar estos conceptos de manera práctica para crear un sistema que se escale:

Crea un esquema de VM a partir de una plantilla de instancias.

Antes de crear un sistema elástico, necesitas una plantilla de instancias. Esta plantilla sirve como una única fuente de información para la configuración de las VMs de tu aplicación, incluido el tipo de máquina, el disco de arranque y cualquier secuencia de comandos de inicio necesaria. Esto garantiza que cada VM nueva sea una réplica exacta de la última, lo que promueve la coherencia y simplifica los lanzamientos.

Configura el grupo de instancias administrado

Ve a la página "Grupos de instancias" en la consola de Google Cloud y crea un nuevo grupo de instancias administrado. Selecciona la plantilla de instancias que creaste, establece una cantidad mínima y máxima de instancias, y elige las zonas para tu grupo para garantizar la redundancia y la alta disponibilidad.

Implementa reglas de escalado automático

Este es el corazón de la elasticidad de la nube. En lugar de un simple escalamiento basado en la CPU, los desarrolladores empresariales pueden implementar reglas avanzadas de escalado automático basadas en métricas de Cloud Monitoring (como la longitud de una cola para un servicio de trabajadores de backend) o usar el escalado automático predictivo, que usa datos históricos para iniciar nuevas VMs antes de que se produzca un aumento esperado del tráfico.

Agrega un balanceador de cargas

Para cualquier aplicación orientada al público, un balanceador de cargas es esencial para distribuir el tráfico de usuarios entrante en todas las VMs de tu grupo de instancias administrado, lo que garantiza que ninguna VM esté sobrecargada y que tu aplicación siga estando altamente disponible.

Crea un esquema de VM a partir de una plantilla de instancias.

Antes de crear un sistema elástico, necesitas una plantilla de instancias. Esta plantilla sirve como una única fuente de información para la configuración de las VMs de tu aplicación, incluido el tipo de máquina, el disco de arranque y cualquier secuencia de comandos de inicio necesaria. Esto garantiza que cada VM nueva sea una réplica exacta de la última, lo que promueve la coherencia y simplifica los lanzamientos.

Configura el grupo de instancias administrado

Ve a la página "Grupos de instancias" en la consola de Google Cloud y crea un nuevo grupo de instancias administrado. Selecciona la plantilla de instancias que creaste, establece una cantidad mínima y máxima de instancias, y elige las zonas para tu grupo para garantizar la redundancia y la alta disponibilidad.

Implementa reglas de escalado automático

Este es el corazón de la elasticidad de la nube. En lugar de un simple escalamiento basado en la CPU, los desarrolladores empresariales pueden implementar reglas avanzadas de escalado automático basadas en métricas de Cloud Monitoring (como la longitud de una cola para un servicio de trabajadores de backend) o usar el escalado automático predictivo, que usa datos históricos para iniciar nuevas VMs antes de que se produzca un aumento esperado del tráfico.

Agrega un balanceador de cargas

Para cualquier aplicación orientada al público, un balanceador de cargas es esencial para distribuir el tráfico de usuarios entrante en todas las VMs de tu grupo de instancias administrado, lo que garantiza que ninguna VM esté sobrecargada y que tu aplicación siga estando altamente disponible.

Resuelve tus desafíos más difíciles con Google Cloud

Los clientes nuevos obtienen $300 en créditos gratuitos que pueden usar en Google Cloud.

Recursos adicionales

Da el siguiente paso

Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.

Google Cloud