Introducción al Cloud Bursting

El Cloud Bursting es una estrategia de gestión de la capacidad que consiste en solicitar recursos adicionales a la nube cuando la demanda (de cómputo, espacio, memoria) supera la capacidad de la plataforma en producción.  Las aplicaciones se ejecutan en una plataforma estable (en una nube privada o en un servicio de Hosting tradicional) y en momentos puntuales (picos de demanda) envía parte de la carga de trabajo a una nube pública. Es lo que llamamos una nube híbrida. De esta forma mejoramos la capacidad de respuesta de nuestras aplicaciones, pagando sólo por los recursos informáticos adicionales cuando se necesitan.

Así pues una aplicación puede implementarse a nivel local o en nuestro proveedor de cloud para mandar a la nube pública los picos de demanda que puedan surgir. Igualmente podemos mover aplicaciones menos críticas a una nube pública para liberar recursos de nuestra nube privada y poder destinar estos a aplicaciones críticas de negocio.
En todos los casos será necesario revisar que el proveedor de la cloud pública proporciona niveles de seguridad y privacidad acordes con la legislación vigente. Los expertos recomiendan utilizar el Cloud Bursting con aplicaciones no críticas que manejan información no sensible.

Utilidades del Cloud Bursting

Mediante el uso de cloud bursting podemos mantener un nivel de rendimiento idóneo sin sobredimensionar nuestra plataforma.  Tradicionalmente, la infraestructura que soporta una aplicación se diseñaba para soportar el peor escenario posible (los picos de demanda). De este modo se incurría en un sobredimensionamiento de las infraestructuras, que permanecían infrautilizadas la mayor parte del tiempo.

Algunos casos de uso típicos de Cloud Bursting son:

  • Incremento temporal de la capacidad para servir página Web (elasticidad): Por ejemplo puede ser utilizado como una opción viable para comerciantes que experimentan fuertes picos de demanda en momentos puntuales (Navidades, rebajas, campañas de promoción,…).
  • Procesos muy intensivos en cálculo: procesamiento de la imagen, cálculos científicos, cierres de mes, etc.
  • El cloud bursting se puede extender también como un plan de recuperación de desastres para reducir los costos asociados con la construcción y el mantenimiento de un centro de datos secundario inactivo.

cloud híbrido

¿Cómo funciona?

Para implementar Cloud Bursting tenemos que cumplir una serie de requisitos en el diseño de nuestra plataforma de alojamiento (ya sea un cloud privado un servicio de Hosting tradicional).

En primer lugar, hay que determinar qué capa de nuestra arquitectura vamos a hacer “elástica” (podrá crecer o menguar tomando recursos de la nube). Por ejemplo, en aplicaciones Web lo más habitual es que esta capa sea la de los servidores web o los servidores de aplicaciones. Estos componentes tienen una serie de características que los hacen aptos para este tipo de planteamientos (características que otros componentes como las bases de datos no cumplen la mayoría de las veces).

El primer requisito es que esta capa pueda escalar horizontalmente, es decir, que podamos añadir más servidores del mismo tipo a la plataforma de un modo muy rápido y que el trabajo se reparta automáticamente entre todos los servidores de la capa. En nuestro ejemplo, deberíamos poder añadir un servidor web fácilmente y la carga de trabajo (visitas a la web) debería repartirse automáticamente entre los 4 servidores (los 3 antiguos y el nuevo). Este tipo de comportamiento se consigue con herramientas y técnicas varias (balanceo de carga, almacenamiento compartido, stateless computing) que habrán tenido que tenerse en cuenta en el diseño de la arquitectura.

Una vez cumplidos estos requisitos, debemos automatizar el proceso de creación y puesta en marcha de nuevos servidores en la nube, de tal forma que podamos pedirle a la nube pública nuevos servidores idénticos a los que tenemos en producción.

A partir de este momento, lo único que nos queda es saber en qué momento crear nuevos servidores en la nube y en qué momento destruirlos. Para ello se introduce un “orquestador”, que es un software capaz de monitorizar la demanda y la carga de los servidores (por ejemplo, monitorizando los tiempos de respuesta de la web o el estado de las CPU’s)  y de reaccionar de forma inteligente, solicitando más recursos a la nube (creando servidores) o liberándolos (eliminándolos).

El resultado es una capa de servidores “elástica”, donde el orquestador comprueba constantemente el estado de los servidores de la plataforma base y reacciona ante picos de demanda, ampliando o reduciendo la capacidad automáticamente.

La gran ventaja de este modelo es que gracias al modelo de pago por uso del Cloud, sólo se paga la infraestructura adicional por un periodo muy corto de tiempo (el pico de demanda), con un considerable ahorro (el ahorro es mayor cuanto más grande es el pico de demanda en comparación a la demanda normal).

Conclusiones

El cloud Bursting es una técnica para gestionar mejor la capacidad de los recursos, adaptándose en tiempo real a la demanda sin incurrir en costes de sobredimensionamiento. En lugar de tener un coste fijo y una calidad de servicio variable, se establece una calidad de servicio fija y se hacen variables los costes

Esta estrategia también puede ser un método eficiente de ayudar a la escalada de sitios de rápido crecimiento en los que la tasa de aumento del tráfico supera la capacidad de la organización de TI de obtener, preparar e implementar una infraestructura.

Es importante subrayar la importancia de que nuestras infraestructuras estén organizadas y configuradas de acuerdo a una buena arquitectura, que siga las mejores prácticas y principios de diseño reconocidos en el sector. En nuestro ejemplo, hemos visto cómo la capacidad de utilizar estas técnicas avanzadas depende enteramente de que nuestra arquitectura esté preparada para un crecimiento horizontal automatizable.

 

Nexica, como proveedor de cloud computing, diseña arquitecturas escalables e implementa plataformas de Cloud Privadas gestionadas bajo demanda (Managed Cloud - on demand) con capacidad de aumentar temporalmente la capacidad según el modelo Cloud Bursting.