Todos hemos escuchado el concepto de “ El cloud híbrido es el futuro”. La combinación de arquitecturas en nube pública junto con entornos acotados en Cloud privado y control es la fórmula del éxito para muchas empresas que tienen unas necesidades específicas de su negocio como control de datos, acercar su aplicación al usuario o satisfacer picos de demanda.El cloud bursting es un término que define la arquitectura de computación en la nube que permite a una nube privada expandirse dinámicamente hacia una nube pública para poder abastecer picos de demanda de recursos de computación durante periodos determinados de tiempo. Esta técnica se activa automáticamente cuando la capacidad de la nube privada se ve superada, permitiendo así una escalabilidad eficiente y flexible.
La tecnología detrças del cloud bursting incluye la infraestructura como servicio (IaaS), que permite a los desarrolladores configurar dinámicamente los recursos en la nube según las necesidades. Las herramientas de DevOps, como la gestión de configuración y la infraestructura como código (IaC), se utilizan para especificar los umbrales de capacidad o los eventos desencadenantes que activarán el cloud bursting.
En mi opinión y después de haber trabajado con varias herramientas de este tipo os recomendaría dos herramientas que pueden ayudaros a esto:
-
- Ansible: Aunque esta primera es conocida para automatizaciones y despliegues de inventario de manera desatendida, tiene también la posibilidad de realizar configuraciones de IaC integrable con la mayoría de soluciones Cloud del mercado como Openstack. En una solución podemos tener tanto todas las configuraciones/automatizaciones de despliegue y operativa de nuestra aplicación.
-
- Terraform: Podríamos decir que es la más conocida cuando hablamos de puramente IaC. La gran cantidad de personas consumiendo esta herramienta nos permite tener mucha información a nuestra disposición al igual que ejemplos y plantillas para todos sus Cloud providers autorizados. También permita la operabilidad cross-platform
Las ventajas del cloud bursting
Escalado Flexible
El cloud bursting proporciona la rapidez necesaria para ajustarse y adaptarse rápidamente a las cambiantes demandas de la nube. En caso de un aumento inesperado del tráfico hacia una nube privada o el crecimiento inesperado, los equipos pueden expandirse sin problemas a la nube pública. Esto permite a las organizaciones acceder a recursos casi ilimitados, ofrecidos por tu proveedor Cloud de confianza o los gran hiperescalares como Amazon Web Services (AWS) y Microsoft Azure.
Continuidad Empresarial
El cloud bursting ayuda a evitar interrupciones en aplicaciones y servicios críticos. Por ejemplo el despliegue de contenedores o de tu aplicación distribuida entre las dos clouds. Dado que esta expansión ocurre de manera transparente, es probable que los usuarios no perciban ninguna interrupción, salvo una latencia mínima.
Control y reducción de Costes Operativos
Las organizaciones solo pagan por los recursos adicionales cuando es necesario, lo que permite reducir los costes de infraestructura de la nube privada. Esto se logra manteniendo un conjunto mínimo de recursos necesarios para aplicaciones críticas y confidenciales, y utilizando recursos adicionales de la nube pública solo cuando es necesario.
¿Cuándo necesitan las organizaciones el cloud bursting?
El cloud bursting se activa ante incrementos en la demanda de recursos computacionales. Estas expansiones pueden deberse a un aumento en el tráfico de usuarios o a tareas computacionales intensivas y específicas.El ejemplo claro es en periódos específicos de campañas como BlackFriday o ante las necesidades de un proyecto en concreto donde necesitamos gran capacidad de computación para simulaciones temporales, ejecución de modelos o algún código específico.
Casos comunes de cloud bursting:
Desarrollo de Software
El desarrollo de software y la analítica son casos de uso frecuentes del cloud bursting. Es frecuente ver a los equipos DevOps que tienen la necesidad durante periodos puntuales el aumento de recursos para la ejecución de ciertas aplicaciones o validaciones en sus sistemas. También para simulaciones de carga, estudios o comportamientos de nuevos modelos de desarrollo etc.
Campañas de Marketing
Las campañas de marketing para lanzamientos de nuevos productos pueden generar un gran aumento de tráfico, requiriendo recursos adicionales en la nube. Por ejemplo, una campaña de marketing para el lanzamiento anticipado de un videojuego o campañas de tipo BlackFriday, PrimeDay o nuevos lanzamientos de servicios.
Lanzamiento de nuevos servicios
Es común empresas que utilizan su Cloud privada para desplegar sus aplicaciones desde videojuegos, CRM a páginas de ecommerce. Es común para este primer sector que hayamos visto el típico “Esta usted en al cola el número X”. Esto no es más que una falta de previsión y stock en capa de computación para poder alojar y abastecer a todos los usuarios en tu videojuego. Con Cloud Bursting podrás crecer durante estos picos típicos en lanzamientos con gran alta demanda de usuarios que además sabemos que no va a ser constante en el tiempo.
Conclusión
Creo que el Cloud Bursting es una arquitectura muy interesante que debemos de tener en cuenta en el momento de diseño de nuestra aplicación o modelo de negocio. Es posible que tengamos un entorno totalmente Privado o Público pero tener una aplicación preparada para poder escalar en un cloud público ante picos de demanda temporales nos va a permitir para mi dar un servicio eficiente y escalable a nuestros clientes pero sobre todo tener un control de costes controlado y no tener que invertir en más Hardware que no vamos a utilizar durante un periodo estándard de nuestro negocio.