¿Serán los humanos irrelevantes monitorizando aplicaciones Cloud?

 

 

“…se aprobara el presupuesto del Skynet. El sistema se conectara el 4 de agosto de 1997, se eliminaran las decisiones humanas en la defensa estrategica, Skynet aprendera en progresion geometrica. Tendra conciencia de si mismo a las 2 y 14 de la madrugada, del 29 de agosto. Los humanos aterrados intentaran desconectarlo.”
-Pero Skynet se defendera…
Terminator 2.
Este post en Cloud Computing Journal me ha hecho recordar dos cosas: a Terminator y al difunto Profesor José Cuena. Tras el provocador título ‘¿Son los humanos realmente necesarios para mantener un SLA en La Nube?’, el artículo trata sobre lo complicado que es monitorizar los servicios en La Nube cuando están cambiando de manera constante. Se lanzan más servidores para gestionar más carga, se quitan servidores cuando ya no son necesarios. Pero… ¿cómo se detecta si hay más o menos carga? ¿Qué políticas hay que implementar? En esto estoy de acuerdo, son políticas complicadas y diferentes a las que existen en un Centro de Datos tradicional.
El Profesor Cuena era una personalidad a nivel mundial en el campo de los Sistemas Expertos. Aunque nunca llegué a interesarme por este campo, muchas de sus clases podían considerarse Clases Maestras. Se sentaba, y empezaba a hablar sobre lo que él pensaba de la materia. Consideraba que un Sistema Experto que tomaba decisiones por si mismo era un Sistema Experto Paleto. Tal cual. Los Sistemas Expertos deben ayudar a la decisión del humano, pero no deben tomar decisiones por si mismos. Claro, probablemente también había visto Terminator, como yo.
Hace unos días revisé un post en el Blog de SmugSmug recopilando información sobre Arquitecturas para el Cloud Computing. Y planteaban el mismo escenario: dado que es muy complicado controlar manualmente el escalado de una aplicación en La Nube, lo mejor es implementar un servicio que se encargue de ello de manera automática. Este proceso Controlador lo llamaron Skynet, que cachondos. En un amago de toma de conciencia de si mismo, levantó más de 250 máquinas virtuales tamaño XL de Amazon EC2 sin que fuera necesario. Una ‘paletada’. Por suerte la factura no fue muy alta. La gente de SmugSmug asume que la única manera de ser eficiente y flexible es delegando esta tarea completamente a este controlador ‘Skynet’ (aun a riesgo de que comience la primera guerra hombres contra máquinas ;-) )
Estoy llegando a la conclusión de que una Arquitectura Orientada al Cloud Computing debe incluir este controlador/skynet de serie. Es decir, aunque no me guste, debemos ceder el control del escalado de manera absoluta a este proceso controlador. Habrá que implementar restricciones para que la lógica de este servicio sea la correcta (siguiendo con el juego de las películas, como las directivas primarias de Robocop) pero desgraciadamente los humanos somos un recurso demasiado caro como para estar dedicados a monitorizar las necesidades de escalado de una aplicación en tiempo de ejecución. Para confirmar un poco más esta afirmación, la arquitectura que han implementado la gente de Scalr es muy similar a la de SmugSmug, o la que yo tengo en mente.

Relacionado:

  1. Cosas a tener en cuenta cuando desarrollas aplicaciones Cloud
  2. Abiquo pagará hasta 3000€ a quien desarrolle aplicaciones con su framework