¿Cómo usar “Cloudbursting”?

Por Mundo Contact | 1 marzo 2010 | Articulos, Tecnología

Revista Mundo-Contact

   

¿Cómo usar “Cloudbursting”?

Por: Patricio Dueñas, Country Manager F5 Networks México

El término "cloudbursting" fue acuñado por Jeff Barr, evangelista de Amazon Web Services, para describir el uso del “cloud computing” para sortear solicitudes de desbordamiento, como los que ocurren en temporadas de máxima actividad en sitios detallistas en línea.

En vez de invertir en hardware, software y personal adicionales para escalar y manejar el sinnúmero de piezas de infraestructura necesarias para incrementar la capacidad para aplicaciones Web, el enfoque “cloudbursting” le permite aprovechar la nube para incrementar la capacidad sobre una base On-Demand.

El enfoque “cloudbursting” contempla dos problemas básicos

Primero, las compañías requieren periódicamente de capacidad adicional, pero el retorno de la inversión en infraestructura para el manejo de cargas máximas es excesivamente largo porque la capacidad extra sólo se utiliza en ocasiones.

Segundo, las compañías dudan trasladar toda la infraestructura a un proveedor de computación en nube por razones de seguridad y estabilidad. Aunque el enfoque “cloudbursting” no elimina dicha exposición, si hay un problema con la nube no se desencadena el desastre que ocurriría si la nube se encargara de todo.

El enfoque “cloudbursting” permite efectivamente a las organizaciones tratar la nube como un centro de datos secundario. Mantienen y controlan su infraestructura y sus aplicaciones al tiempo de aprovechar la capacidad de las nubes de expandirse y contraerse de forma dinámica, lo que hace financieramente viable utilizar recursos adicionales de manera periódica sin una inversión cuantiosa.

¿Cuál es la recompensa?

Los requisitos reales de la red y de la infraestructura de entrega de aplicaciones son bastante directos y están basados en métodos existentes bien entendidos para la implementación del balance de carga global. Esto hace que el enfoque “cloudbursting” parezca más bien simple, pero como suele ser el caso, problemas con las aplicaciones como la replicación y la duplicación de datos hacen que todo el proceso sea más difícil, sino es que imposible, para algunas aplicaciones.

Aunque las bases de datos se pueden replicar en tiempo real a través de Internet, esto sólo es viable si tiene un enlace de alta velocidad y baja latencia entre el centro de datos y el proveedor de la nube. Esto significa que la mayoría de las organizaciones no podrán aprovechar la replicación en tiempo real, o configuración espejo, para atender problemas de replicación y duplicación de datos. Un escenario más probable es que se necesitará mantener la versión de los datos en la nube lo más actualizados que sea posible y replicarlos con regularidad.

Cuando ya no se necesite la instancia de la aplicación en la nube, los datos se necesitarán combinar con la base de datos local a través de la importación o reproducción de registros de transacciones. Algunos desarrolladores han resuelto este problema implementando aplicaciones de replicación propias que desencadenan actividad en la base de datos y utilizan servicios Web para replicar los datos de vuelta al centro de datos local. Estas soluciones no son perfectas y presentan el riesgo de incurrir en intervención manual para borrar los datos cuando éstos se reintroducen.

La integración con otras aplicaciones está plagada también de dificultades. Una regla general es que cuanto más integrada es una aplicación, menos probable es que sea candidata para “cloudbursting”. Las aplicaciones más adecuadas para “cloudbursting” son aquellas con muy poca integración con otras aplicaciones y cuyos datos no provienen de transacciones.

¿Cómo funciona?

Siempre que tenga una aplicación que se adapte a los requisitos, el enfoque “cloudbursting” funciona como un sistema de balanceo de la carga global, distribuyendo solicitudes a través de múltiples instalaciones de centros de datos. El sistema de balance de la carga tiene la tarea de monitorear el centro de datos local y determinar cuándo se aproxima a su uso máximo; entonces debe turnar solicitudes a un centro de datos secundario que es, en este caso, un proveedor de computación en nube.

La instancia de la aplicación Web en la nube se pone entonces en línea y comienza a atender a los visitantes. La forma en que la nube realiza esta tarea depende ampliamente del modelo de implementación que utilice el proveedor; pero suponemos para los fines de esta exposición que la aplicación está implementada y disponible en el sitio del proveedor de la nube.

El sistema de balanceo de carga continúa monitoreando el centro de datos local y redirige solicitudes en tanto que el volumen sea lo suficientemente elevado para llevar a la aplicación local por arriba de su capacidad. Cuando el tráfico disminuye, el sistema de balanceo de carga deja de remitir visitantes a la nube, la aplicación en ésta entra en inactividad y eventualmente se pone fuera de línea.

¿Cómo lo hacen?

Aunque esto suena muy simple, existen varias piezas de la infraestructura que necesitan estar en su sitio para poder implementar con éxito una estrategia de “cloudbursting”.

Debe tener la aplicación implementada y disponible dentro de la nube. Quizá sea posible implementar aplicaciones On-Demand con el proveedor de computación en nube, pero es probable que la mayoría de los proveedores requieran que la aplicación haya sido implementada antes de que se necesite. Debe tener un sistema de balanceo de tráfico global (Global Traffic Manager en inglés) capaz de decidir cuándo dirigir solicitudes a uno o mas sitios alternos. Debe tener una forma de determinar cuándo se acerca a su máxima capacidad su infraestructura de aplicaciones. Un controlador de entrega de aplicaciones (Application Delivery Controller en inglés) es el mecanismo más eficiente para llegar a esta determinación.

"En la máxima capacidad o cerca de ésta" para su organización podría ser una métrica como el tiempo de respuesta de la aplicación, conexiones concurrentes o carga agregada en el servidor, o bien pudiera ser una combinación de factores. Básicamente, usted determina el umbral en el cual desea que sus visitantes y clientes accedan a la nube y no la instancia local de su aplicación.

Esta información es necesaria para configurar correctamente su controlador de entrega de aplicaciones de modo que se pueda comunicar con el sistema de balanceo de tráfico global de manera oportuna y comenzar a redirigir el tráfico antes de que la transaccionalidad se torne crítica.

“Cloudbursting” es un nuevo giro en una arquitectura bastante conocida. La diferencia entre “cloudbursting” y el balanceo global de tráfico tradicional a través de múltiples centros de datos está en el uso de la nube y en los ahorros que logran las organizaciones que aprovechan el enfoque de “cloudbursting” en vez de construir su propia infraestructura.

“Cloudbursting” puede ser también 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. Y el enfoque “cloudbursting” 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.

Patricio Dueñas

Patricio Dueñas

En vez de invertir en hardware, software y personal adicionales para escalar y manejar el sinnúmero de piezas de infraestructura necesarias para incrementar la capacidad para aplicaciones Web, el enfoque “cloudbursting” le permite aprovechar la nube para incrementar la capacidad sobre una base On-Demand.

El enfoque “cloudbursting” permite efectivamente a las organizaciones tratar la nube como un centro de datos secundario.

El enfoque “cloudbursting” funciona como un sistema de balanceo de la carga global, distribuyendo solicitudes a través de múltiples instalaciones de centros de datos.

Usted determina el umbral en el cual desea que sus visitantes y clientes accedan a la nube.