viernes, 19 de noviembre de 2010

Ensayando y valorando definiciones de cloud computing

Unos artículos más atrás, anotábamos una definición de cloud computing que figuraba en el libro 'Cloud computing. A practical approach'.

Decía así:

[cloud computing is] ""a style of computing where massively scalable IT-related capabilities are provided 'as a service' using Internet technologies to multiple external customers."

Me encuentro ahora leyendo 'Executive's guide to Cloud Computing' y en este libro propone y comenta algunas otras definiciones.

Primero ensaya con una bastante sencilla:

"Cloud computing is on-demand access to virtualized IT resources that are housed outside of your own datacenter, shared by others, simple to use, paid for via subscription, and accessed over the Web."

Aunque bastante cercana a la realidad práctica, esta definición parece muy restrictiva y que da muchas cosas por supuesto.

Así, aunque sea lo corriente, no considero necesario que el acceso deba ser vía web. Un acceso por otra red, protocolo y aplicación cliente podría seguir siendo un modelo, poco habitual eso sí, de cloud computing.

Por otro lado, aunque la virtualización es una de las tecnologías más importantes que habilitan el modelo de cloud computing, no creo que se justifique que entre en la definición. Sería igualmente cloud computing, aunque probablemente muy ineficiente, un modelo que usase servidores físicos a la manera tradicional, por poner un ejemplo.

Igualmente, aunque el modelo más representativo implica CPDs externos, si admitimos dentro del cloud computing las denominadas 'cloud privadas', parece que el requisito de que los recursos se encuentren fuera del propio datacenter no debe formar parte de la definición.

Por todo ello, aunque simple e ilustrativa, no parece una definición del todo afortunada o, al menos, exacta.

Hay otra, aportada por el National Institute for Standards and Technology (NIST), que, aunque quizá formalmente no del todo limpia, creo que es la más acertada de las que he leído hasta ahora:

"Cloud computing is a model for enabling convenient, on-demand, network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."

Aunque ligeramente extensa, con una cierta orientación técnica y con algún fallo (por ejemplo, el que la provisión sea rápida y con escaso esfuerzo es un objetivo razonable e importante, pero creo que seguiría siendo cloud computing sin esa rapidez), creo que es una definición muy ilustrativa, acertada y completa de lo que es el cloud computing.

Sin embargo, el libro que menciono, quizá por estar supuestamente orientado a directivos, ofrece otras dos alternativas y, al final, parece decidirse por la siguiente:

"Cloud computing is a style of computing where computing resources are easy to obtain and access, simple to use, cheap, and just work."

Me cuesta comprender una apuesta por esta última definición, una definición absolutamente vaga, que ninguna luz aporta sobre los elementos diferenciales del cloud computing y a la que se podrían acoger muchos modelos de computación. Quizá, eso sí, ilustra, aunque de forma poco rigurosa y detallada, lo que podrían ser los objetivos de negocio que persigue el cloud computing.

Tras todos los ensayos y valoraciones, y abierto a encontrar una propuesta mejor, me quedo provisionalmente con la del National Institute for Standards and technology (NIST):

"Cloud computing is a model for enabling convenient, on-demand, network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."