Comparte:
Cloud
7 de julio de 2014

“Always on and more”: autoescalado frente a picos de demanda

“Always on and more”: autoescalado frente a picos de demanda

“Always on and more”: autoescalado frente a picos de demanda

Escrito por , 7/07/2014

Nunca pensé que en una tranquila tarde de domingo, en la que vas al cine a ver el último estreno de la temporada, en los trailers iniciales, fuese a escuchar esta frase: “Nadie entiende la nube, es un maldito misterio” y, acto seguido, fuese a aparecer Cameron Diaz, armada con un bate de beisbol, golpeando un rack de comunicaciones para destruir la misteriosa nube… Me arrancó una sonrisa y me recordó a un buen amigo que hace ya algún tiempo me preguntó cómo era posible que los ceros y los unos se sostuvieran en las nubes…

Como ya comenté en un post anterior, la nube ha evolucionado y el ecosistema cloud, cada vez más amplio, ha habilitado nuevos modelos de prestación de servicios que, lejos de ser un misterio, dan respuesta a los cada vez más exigentes modelos de negocio. ¿Qué es lo que realmente nos interesa de la nube: conocer su arquitectura para poder batearla como en la película o, más bien, conocer sus capacidades para sacarle el máximo partido? Me inclino por la segunda opción y hoy quería hablaros de las facilidades de autoescalado, que dan respuesta a los modelos de negocio altamente cambiantes, en los que no se conoce a priori la demanda de recursos de computación que requiere la aplicación, ya que ésta se usa de forma variable según la hora, el día o la semana o, lo que es peor, se desconoce previamente el uso que tendrá la misma. Además, cuando se necesitan nuevos recursos de computación, éstos hacen falta inmediatamente, se convierte en un tema urgente. Y ya no es sólo el always on, que siempre mencionamos, sino que es: always on and more!

El autoescalado permite disponer de recursos cuando son reamente necesarios y empezar a pagar por los mismos en el momento exacto en el que la demanda explota y no antes.

Un ejemplo muy ilustrativo de lo que digo lo vemos en los medios de comunicación. ¿Cuándo una noticia deja de ser noticia? La respuesta es: cuando otros la cuentan”. Si la noticia fuese tan importante como para desbordar las capacidades de los sistemas de información que soportan su difusión, éstos acabarían sobrecargados, no podrían transmitirla y sería necesario disponer de mecanismos que detectasen que se está llegando al límite de la capacidad disponible para poder aumentarla. Este momento es clave, y la dificultad reside en identificar correctamente que, en efecto, es justo entonces cuando es necesario disponer de más recursos para poder seguir retrasmitiendo la noticia.

Llegados a ese punto, empieza el reto de verdad. Me explico: identificar que se está al límite de la capacidad de procesamiento o memoria (CPU y RAM) en un entorno TI es relativamente sencillo, pero… ¿quién dice que no existe, por ejemplo, un proceso mal programado que ha entrado en bucle y está demandado mayor capacidad de proceso, cuando en verdad no la necesita? Si el entorno dispone de técnicas de autoescalado dispondría de mayor capacidad de cómputo, pero pagaría por un pico de demanda que en realidad no necesita, lo que daría al traste con el objetivo de optimización de costes versus la demanda real. ¿Cómo es posible entonces aprovecharse del autoescalado con la garantía de no pagar de más innecesariamente? ¿Cómo tener la seguridad de que si aumenta la curva de la demanda de las aplicaciones es una necesidad real? Para ello es necesario tener en cuenta algunas pautas:

  • Diseñar los mecanismos de autoescalado orientados a procesos de negocio, basados en políticas que definan cómo se escala y en base a qué.
  • Estudiar previamente el comportamiento de la aplicación para identificar el conjunto de métricas que definen el comportamiento de dicha aplicación.
  • Clasificar usos de aplicación: no olvidemos que si una aplicación es muy dinámica y su uso es muy variable en el tiempo se pueden dar situaciones en que se entre en un bucle de provisión y desprovisión de nuevos recursos que provoquen un cargo asociado de forma cíclica.
  • Relacionado con el punto anterior, es necesario identificar el lapso de tiempo que tiene que durar un evento disparador, para establecerlo como condición necesaria para que se desencadene el autoescalado.
  • Delimitar el número de recursos máximos que se deben proveer en una situación de autoescalado, para alinearlo con el presupuesto TI existente.

Como resumen, el conocimiento del comportamiento de la aplicación se hace indispensable para parametrizar de forma óptima la funcionalidad de autoescalado y poder sacarle el máximo partido eficazmente.

Imagen: sergioalgar

Sobre el autor

Susana Martínez Ferreiro

Susana Martínez Ferreiro

Ingeniera en Informática y Postgrado en Gestión de la tecnología. Creo en las personas, me apasiona la tecnología y valoro el trabajo hecho en equipo (1+1+1=5).
Ver todos sus artículos »