Escalamiento automático de soluciones en Windows Azure

En días pasados durante una sesión de preguntas y respuestas del Diplomado de Desarrollo de Soluciones en la Nube con Windows Azure me preguntaron sobre la existencia de un escalamiento automático de aplicaciones en Windows Azure. El interés era el de saber si existe una forma para configurar una aplicación para que dependiendo de ciertos factores como por ejemplo, el número de transacciones simultaneas o el porcentaje de uso del CPU, Windows Azure pueda automáticamente crear más instancias del servicio y posteriormente cuando la demanda del servicio disminuya pueda eliminar instancias innecesarias.

Mi respuesta fue que Windows Azure actualmente no tiene una forma para que mediante un archivo de configuración se pueda establecer parámetros que permita a Windows Azure de manera automática crear o disminuir instancias de los servicios.

Actualmente cuando el administrador detecta que por la carga de trabajo que esta recibiendo el servicio es conveniente crear o disminuir instancias del servicio, puede editar en ese mismo momento el archivo de configuración del servicio directamente en el Portal de Windows Azure o bien mediante programación utilizando Service Management API para agregar o disminuir instancias .

El proceso de monitoreo que realiza el administrador puede automatizarse con la ayuda de las APIs Windows Azure Diagnostics y Service Management. Con estas APIs se puede implementar una lógica personalizada para hacer que las aplicaciones Windows Azure sean auto-escalables.

La lógica personalizada puede ser tan sencilla o tan compleja como se requiera. Por ejemplo podemos crear un Worker Role que mediante Windows Azure Diagnostics examine los contadores de rendimiento del Role a monitorear. Cuando detecte un contador de rendimiento alto o bajo, puede mediante Service Management crear o disminuir instancias del Role de manera automática. De esta forma el administrador no tendría que estar realizando la tarea de monitoreo y de actualización de instancias de forma manual.

Para las personas interesadas en conocer más acerca de como implementar un esquema de escalamiento automático de aplicaciones Windows Azure les recomiendo que examinen la documentación y el código de ejemplo disponible en el sitio de Microsoft.

Windows Azure Dynamic Scaling Sample

Saludos!!!

Esta entrada fue publicada en Varios. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s