Redimensionado automático en el Cloud

Negocios

Una de las opciones más atractivas de una plataforma Cloud es poder redimensionar los servidores de manera automatizada para atender picos de tráfico o necesidades imprevistas. Os explicamos cómo funciona.

Los servidores físicos e incluso los virtuales estándar tienen una limitación importante: si necesitas más recursos (RAM, CPU, disco, etc.) tendremos que solicitarlo al proveedor para que, en caso de que sea posible, los incremente según nuestras necesidades. Esto, en la práctica además de lento suele ser complejo, especialmente en el caso de los servidores físicos, hasta el punto de que lo habitual es que sea más sencillo cambiar de máquina que ampliar la existente.

En el caso de las plataformas Cloud  destacan por la flexibilidad que tenemos a la hora de crear, ajustar y configurar máquinas virtuales según nuestros requerimientos. Sin embargo, aunque lo hemos comentado de pasada, no nos hemos centrado en los sistemas de alertas que permiten incrementar los recursos asignados en caso de que sea necesario y de manera automática.

En el caso de Cloudbuilder de Arsys, la plataforma de CPDs virtuales que estamos utilizando de ejemplo en esta serie de artículos, esta funcionalidad se denomina Action Engine, y es uno de las más atractivas y diferenciales que podemos encontrarnos frente a cualquier otro entorno de hosting/housing clásico. Vamos a ver cómo funciona.

¿Por qué la ampliación automática de recursos?

Cuando trabajamos sobre una plataforma Cloud, pagamos por los recursos que mantenemos activados y operativos en cada momento. Esto supone que, por ejemplo, no tiene sentido configurar un servidor de altas prestaciones con mucha CPU, RAM o espacio en disco si estamos alojando una Web de poco tráfico, o un servicio en la nube con una baja demanda de prestaciones.

Ahora bien, ¿y si tenemos puntas de tráfico inesperadas o previstas sólo en determinados momentos? Una alternativa (la clásica), es tener un servidor de altas prestaciones pero infrautilizado más del 90% del tiempo, fundamentalmente para estar cubiertos “por si acaso”. La otra opción (la inteligente) es tener un servidor en el Cloud con unos recursos acordes a las necesidades del 90% del tiempo y pagar en consonancia, pero generar alertas que permitan incrementar los recursos disponibles en cuestión de minutos en caso de que sea preciso. Y esto, obviamente, de manera automática para que no tengamos que monitorizarlos permanentemente.

Sólo tendremos que tener presente los límites del servidor virtual que tenemos creado en el Cloud (en el caso de Arsys tendremos que haber activador servidores Premium para que las reglas funcionen en caliente y sin necesidad de apagar/encender la máquina), así como del propio sistema operativo. Así, por ejemplo, según la versión de Windows 2008 podremos añadir más RAM o CPUs en caliente y sin necesidad de reiniciar.  Además, en el caso de la plataforma Cloudbuilder, para que funcionen correctamente las reglas que vigilan el consumo de CPU/RAM será preciso haber activado previamente el servicio de monitorización avanzada que ya explicamos en un artículo anterior. Explicada la base, veamos cómo se crean y activan las reglas en nuestro Cloud.

Cloud 1 Channel
La ampliación de recursos en un servidor físico es compleja, razón por la cual suele optarse por máquinas sobredimensionadas que pasan la mayor parte del tiempo infrautilizadas.

Crear reglas Action Engine

Una vez dentro del Panel de nuestro Cloudbuilder, tendremos que ir al bloque de Herramientas que se encuentra en el menú de la izquierda. Dentro de dicho bloque, bajo Gestión del servicio, tenemos el apartado Action Engine. Una vez que pinchemos sobre él encontraremos un listado vacío, donde sólo tendremos que pinchar sobre el botón Crear para que comience el asistente de configuración de nuestra primera regla.

El primer paso del asistente nos preguntará, además, del nombre que queramos darle, las condiciones que se deberán dar para que la regla se active. En este punto es importante comentar que, además de poder utilizar Action Engine para generar acciones automatizadas ante determinados cambios en el consumo de recursos, también podemos generar acciones basadas en fecha, de manera que, por ejemplo, podamos reiniciar un servidor todos los fines de semana.

Pero volviendo al caso que nos interesa, seleccionaremos Servidor en el apartado Elemento y, en el apartado Tipo, indicaremos si monitorizaremos la transferencia, la CPU o la RAM. En cualquiera de los casos podremos crear condiciones que se dispararán al superarse un determinado % de uso durante un periodo determinado. Así, por ejemplo, podemos indicar que cuando la RAM esté ocupada más del 80% durante 5 minutos, dispararemos la regla.

En parte inferior tenemos el apartado Acciones. Ahí, tras pinchar sobre Añadir nueva, podremos añadir hasta 5 acciones diferentes que se realizarán en el orden establecido al cumplirse la condición de la parte superior. Así, siguiendo con el ejemplo, podemos indicar que aumente la RAM en una determinada cantidad de Gbytes hasta un máximo determinado, y crear una segunda regla que nos mande un mail de aviso.

Cloud 2 Channel
En una regla de Action Engine tendremos que indicar las condiciones sobre el consumo de CPU/RAM, y las acciones que se tomarán en consecuencia.

Recomendaciones adicionales

Cuando generemos estas reglas es importante tener presente que los cambios de recursos incrementarán el coste de los servidores. Dado que pagamos por los recursos que consumimos, a más recursos, más coste. Por eso es importante establecer umbrales y tiempos durante los que se superen, que realmente sean lógicos y nos indiquen que estamos teniendo una punta de tráfico o de necesidad de proceso extra. Igualmente, es importante que marquemos los límites de crecimiento (p.ej. en gigabytes máximos de RAM que admitirá el servidor).

Igualmente, una vez aplicada esta regla, el servidor se redimensiona según lo establecido y se queda así aunque disminuya la carga del mismo. Por tanto, igual que creamos reglas para hacerlo crecer, deberíamos generar reglas para hacer que vuelva a su situación original. Para ello simplemente tendremos que asignar condiciones donde se controle que la carga de la CPU o RAM se mantengan por debajo de unos determinados valores durante un tiempo determinado. En este caso las acciones consistirán en reducir recursos, no en ampliarlos.

Otra cuestión importante es que hacer si tenemos un servidor o sistema operativo que no admite ser redimensionado en caliente. En este caso, como tenemos 5 acciones, será preciso apagar la máquina, ampliar recursos y después volver a encenderla. Se puede hacer, aunque los resultados serán mucho menos eficaces pues habrá un tiempo de no disponibilidad que no siempre podremos permitirnos.

Asociar servidores

Creadas las reglas de Action Engine, sólo nos quedará asociarlas a los diferentes servidores. Lo bueno es que, si tenemos una plataforma con máquinas bastante homogéneas, las mismas reglas puede que nos sirvan igual para todas ellas, mientras que en escenarios más fragmentados a nivel de configuración o sistemas operativos, lo más seguro será crear reglas específicas para cada caso.

Sea como fuere, en el listado de reglas que antes aparecía vacío, tendremos que ir pinchando en cada una de ellas para acto seguido hacer clic sobre la opción llamada Asociar servidores. Al hacerlo aparecerá una ventana donde se nos mostrarán todos los servidores donde tenemos activada la monitorización avanzada y que, por tanto, podrán controlarse gracias a las reglas de Action Engine. Sólo tendremos que seleccionar los que nos interesen, y asignarles con ello la regla seleccionada. Tras esto, tan pronto como se cumplan las condiciones indicadas en la regla, se aplicarán sobre el servidor las acciones descritas.

Cloud 3 Channel
El último paso consistirá en asignar a cada servidor las reglas correspondientes.

 

Lea también :