Inicio

Pensamientos

Ver entrada

Avatar de jesus   jesus   10/03/2011 a las 08:20
Cloud computing, el futuro... de las empresas de IT
Foto: Cloud computing, el futuro... de las empresas de IT Está de moda, es lo último, es el futuro, y si yo tuviera experiencia en ello, ahora no estaría bajo un grueso edredón escuchando la lluvia ahí fuera, sino que por fin estaría trabajando en Taipei (que por otro lado vine aquí en parte con esa intención). Se anuncia en el mundo de la informática el cloud computing a bombo y platillo, como si fuera el gran descubrimiento.

Pero... ¿qué es el cloud computing? Si se echa un ojo a la entrada española de la Wikipedia, en seguida entran ganas de llorar. ¿Por qué la edición española de esta web da tanta pena? Como en tantos otros sitios que he encontrado, da la sensación de que la entrada fue escrita por un idiota prepotente que pretendiendo demostrar algo se lanzó a repetir los alienantes eslógans disfrazados de futuro con los que ciertas grandes empresas de tecnología hacen sus nuevos negocios. Todo hay que decirlo, la cosa mejora bastante cuando uno echa un ojo a la entrada de lo mismo pero en inglés. Mucho mejor, mucho más claro, menos pomposidad y sustantivo abstracto, y más claridad de mente. Pero aún así, no suficiente si uno quiere entender de verdad de qué va todo este rollo del cloud computing o computación en nube

Qué es el cloud computing o computación en nube

En general, se podría decir que es un cúmulo de cosas que más o menos ya existían, en cierto grado, y que ahora se venden todas juntas como "la evolución natural de la tecnología". En concreto, el márqueting más sintético y acertado lo vende como la tecnología como servicio en vez de producto, entendiendo por esta tecnología las aplicaciones y las infraestructuras tecnológicas.

Si "antes" uno compraba un paquete de aplicaciones, ahora contrata un servicio y paga por el volumen de uso. Si antes uno compraba un servidor, ahora alquila dicho servidor. Y lo importante de esto, son dos cosas: el cliente no posee en sus instalaciones ni las infraestructuras ni los datos, y él mismo puede cambiar el volumen de uso de estos servicios, según la carga de trabajo y otras necesidades que prevea. Esta tendencia, por supuesto, implica una fuerte descentralización de datos y proceso de datos para la empresa que contrate), como se verá más adelante.

El NIST (National Institute of Standards and Technology) nos ofrece una definición bastante buena del cloud computing:

"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."


Todo esto suena muy bien, pero sin ver los elementos, no nos tiene por qué decir mucho tampoco. Bueno, poco a poco, poco a poco.

A qué hace referencia el término nube

Originalmente haría analogía con la red de telefonía, en la que de paso se basó Internet y su representación como nube de nodos accesible y distribuida. Como usuario de servicios remotos, no alojados en nuestras instalaciones, accedemos a varios nodos con nuestros servicios contratados y lo hacemos a través de una extensa red que además se nos hace transparente en cuanto a implementación. Esto es otra de las características propias de la computación en nube, que accedemos a una serie de servicios disponibles y alojados en principio remotamente, sin importarnos cómo y dónde están implementado. Pero más adelante veremos que esto se ha ido transformando también, según los intereses comerciales. Es bastante curioso, de hecho.

Características y elementos principales

Como decía antes, todo esto sin ver los elementos pierde un poco bastante el sentido, así que vamos a incidir en los elementos concretos.

Hemos dicho que la computación en nube o cloud computing es un enfoque de la informática como servicio en vez de como producto, así que veamos qué elementos tienen relación con esto:

  • Aplicaciones como servicio, Software as a Service, o SaaS: el cliente ya no compra ni desarrolla ni aloja una aplicación informática, sino que contrata un servicio de procesamiento de información, que además, y esto es importante, se realiza de manera remota y sin importar ni cómo ni donde, y sin que el cliente almacene los datos de manera local. De hecho, la computación en nube está basada de manera extrema en aplicaciones y servicios web, y lo máximo que almacena un usuario en local son las cookies y los backup de datos que quiera realizar.
  • Infraestructura como Servicio, Infraestructures as a Service, IaaS: La demanda que las empresas hacían respecto a la informática tradicional son en general muy básicas. Programas que hagan algo, e infraestructuras que den el soporte físico y el entorno a éstos. Pues bien, si nosotros hemos desarrollado una aplicación web, y queremos hacerla accesible al público en Internet, o bien podemos alojarla en nuestros servidores, o bien podemos alojarlo en servidores de terceros. Aquí es donde nace lo que ahora se llama cloud computing: la empresa que ofrece servicios de alojamiento, y ya no va a montar un servidor que vamos a usar nosotros única y exclusivamente, sino que nos ofrecerá un servidor, que podremos configurar y parametrizar como nos venga en gana, pero que no es más que un servidor virtual con una cuota de uso de los recursos disponibles. La grandeza de la computación en nube o cloud computing, reside en que además el cliente podrá variar la calidad de servicio o QoS según prevea que va a ser necesario. Y esto, principalmente, es lo que yo veo como el origen de lo que ahora está tan de moda, y se vende como la panacea. Y que no está mal, pero hay que analizar con calma.
  • Almacenamiento como servicio o Storage Service. El que haya leído cuidadosamente hasta aquí, comprende perfectamente qué se puede decir del almacenamiento. Por supuesto, remoto. Por supuesto, flexible, y por supuesto y lo más interesante, también al servicio de la arquitectura de la propia nube. Esto es, la nube según la vamos perfilando, se compone de una serie de nodos que a su vez son servidores virtuales con alguna función dentro de la misma, y cuyas imágenes pueden ser almacenadas en alguno de los nodos que ofrece el servicio de almacenamiento. Y es que cuanto más se avanza en la comprensión de la nube, más se ve que quizás lo más bonito es la gestión de la misma, no sólo ofrecer servicios, sino la interactuación entere nodos


A grandes rasgos, éstos son los elementos más significativos que componen la computación en nube. Sin embargo, ésta también tiene una serie de características fundamentales, consecuencia de lo anterior:

  • Está fuertemente basada en los protocolos de Internet: Tanto los servicios que se ofrecen, como la interacción entre servidores, están basados en Internet y sus protocolos de comunicación, apoyándose así mismo en tecnologías como Web Services, y estableciéndose además APIs definidos, de manera que se facilita una compatibilidad y crecimiento totales.
  • La nube es
  • dinámica y elástica: La configuración y el tamaño de los servicios de infraestructura contratados por un cliente, varían bajo demanda. Si el cliente tiene previsto que en el mes de Abril va a necesitar el doble de recursos, puede modificar (siempre dentro de los parámetros permitidos) el espacio en disco, la capacidad de proceso, la memoria, etc... según le plazca, desde una interfaz de gestión accesible con el navegador de su ordenador. La escalabilidad es una gran baza del cloud computing
  • Virtualización: el gran elemento que permite hacer todo esto es la virtualización de los recursos, y más concretamente, de los servidores. Que quede claro que virtualización no es igual que cloud computing, pero ésta se apoya totalmente en la primera. La virtualización nos permite hacer dos cosas: clonar y poner en explotación servicios de manera inmediata, y controlar el uso de recursos que pueden hacer. De la gestión de todo esto, nace la computación en nube.
  • Independencia de sistemas y localización: Puesto que ya nada se realiza en local, no se requiere ni instalación en equipos locales, ni la configuración de los mismos es en absoluto un elemento crítico. Además, el dónde estén ubicados clientes o servidores, es indiferente. De ahí su otra gran baza, al igual que cualquier aplicación basada en web
  • Respecto a la seguridad, se pueden decir varias cosas. Se critica bastante el hecho de que los datos de una organización estén en manos de terceros, pero esto es algo que lleva ocurriendo, en gran medida, desde antes de que el término cloud computing se pusiera de moda. Por otro lado, esto ocurre con el uso de nubes públicas, pero también existen las nubes privadas que veremos más adelante

Tipos de nubes y sus implicaciones en el modelo de negocio

La distinción principal que se hace es si las infraestructuras de la o las nubes están dentro o fuera de la organización del usuario. Así de simple, o casi. Y es que cambia mucho de tenerla en un sitio u otro. Cuando la nube es interna, se denomina nube privada y se puede controlar su acceso desde fuera por medio de firewalls y demás elementos de red. Cuando la red es propietaria de una empresa que nos provee servicios de informática se llama nube pública, y nuestros datos y servicios estarán almacenados fuera de nuestro alcance y junto con los de otros clientes.

Por otro lado, también se dan otras implementaciones, en las que por ejemplo empresas u organizaciones con necesidades similares comparten una misma nube (comunity cloud), distribuyendo los costes entre menos gente que en el caso de las públicas, pero con un mayor nivel teórico de seguridad y privacidad de los datos. O también hay implementaciones mixtas, por ejemplo las nubes híbridas (Hybrid cloud), en las que se hacen uso dentro de una organización tanto de nubes públicas como privadas. Y las combianadas, en las que los proveedores de nubes son varios.

Como digo esto tiene varias implicaciones. Por un lado, el aspecto de la seguridad y la privacidad, sobre lo que tampoco hay que hacer mayor comentario aparte de que cada empresa tiene que mirar qué opción es la que encaja con sus requisitos. Por otro lado, cabe mencionar que desde el mundo del software libre, una de las principales críticas esgrimidas contra este nuevo modelo es que no es más que otra estrategia comercial de las empresas de software propietario para hacernos dependientes de una tecnología que no poseemos como tal, y que previsiblemente irá aumentando en precio con el paso del tiempo. Bueno, esta crítica no contaba quizás con que desde que existen las nubes privadas, y que desde el mismo software libre ya existen soluciones para montarte tus propias nubes en tu organización. Otra de las críticas, es la vulnerabilidad que puede suponer un sistema tan distribuído, convirtiéndose las líneas de comunicación en un elemento totalmente crítico. Bueno, estamos en el 2011, y habría que aceptar ya este tipo de cosas.

Sin embargo, los factores económico y operativo son puntos de vista que merece la pena analizar detenidamente. Dos de las grandes supuestas ventajas de la computación en nube son precisamente éstas: reducción de costes en despliegue y mantenimiento de un sistema informático, y ahorro en tiempo de gestión de la infraestructura para poder dedicarlo a lo que es el negocio en sí. Eso parece el eslógan de la informática desde el principio de los días. Sin embargo, ¿qué queda de todo esto cuando una empresa hace uso de nubes privadas en vez de públicas? Quizás es que haya que pararse a evaluar si merece la pena montar tus nubes de puertas a dentro, ya que no toda empresa va a sacar la misma ventaja a la computación en nube, dependiendo de prioridades, volumen de trabajo y tareas en las que se vea habitualmente involucrada.

Y aquí llegamos al meollo de la cuestión: realmente, el gran beneficiado de este modelo de explotación denominado cloud computing es la empresa de servicios de IT, beneficios tan obvios para este caso, que llevaron de hecho a que empresas como Amazon crearan el concepto de cloud computing tal cual hoy se entiende.

Y es que algunas empresas se llegaron (o llegan) a plantear la siguiente cuestión: ¿qué hacer con esos recursos que nos sobran? Tengo que proveer infraestructuras (e incluso aplicaciones) a ciertos clientes, y si tengo en cuenta lo que me ofrece la virtualización, o bien me sobran servidores... o bien reduzco la infraestructura. O si las cosas se ponen a tiro, ambas cosas. Y lo mismo que hago con la infraestructura, hago con las aplicaciones y los servicios que tengo ya montados. Se descubre, así, la conveniencia de virtualizar servidores y servicios, y el poder flexibilizar los tamaños y las cargas, y por otro lado, surge una nueva idea: ¿y todo esto se puede gestionar de manera más eficiente? ¿y si le ofrezco al cliente gestionar su propia red de servidores, su propia nube?. Y como idea está fenomenal, porque por un lado el proveedor maximiza la eficiencia en el uso de sus recursos, y por otro lado, ofrece un novedoso y llamativo producto, o más bien, servicio, que por lo novedoso y efectivo en algunos casos, parece que es el camino a seguir.

Pero, ¿acaso siempre le interesa al cliente dicho producto/servicio? No, ya que sin llegar a las complicaciones de una nube puede obtener las ventajas inherentes a las soluciones basadas en Internet e incluso virtualización, siendo ellos mismos o terceros los que desarrollen las aplicaciones, aunque el alojamiento fuera por parte de terceros. Y aún así, sigue siendo interesante la propuesta en muchos casos. Pero, en el caso de las nubes privadas... ¿es que nunca es interesante para una empresa desplegar sus propias nubes? Sí, sí puede ser interesante.

Una empresa con unas necesidades informáticas suficientemente grandes, y que tenga departamentos cuyo funcionamiento y trabajo esté extensamente vinculado con servicios informáticos, puede encontrar de utilidad el poder confeccionar una nube de servicios interna, y dar la posibilidad a ciertos usuarios de crear instancias de imágenes que les sean necesarias para trabajos concretos. Quizás no haya señalado lo suficiente que las empresas que ofrecen cloud computing cuentan con una amplia colección de imágenes de servidores (quien no esté puesto al menos un poco en virtualización se perderá inevitablemente el sentido de todo el artículo) que se pueden instanciar dentro de la estructura. Y aparte de estas imágenes, hay varias herramientas en el mercado que permiten generar nuevas imágenes que se adapten a la estructura de una nube.

Pensando dos veces en lo anterior, un departamento orientado al desarrollo de software, o al testeo, o que tenga que generar distintos ambientes, tiene un gran aliado si puede realizar configuraciones de manera rápida y estandarizada, y si hay un control centralizado de los recursos informáticos, el cloud computing ofrece las herramientas para llevar a cabo estas tareas de una manera directa y eficaz. Así, se pueden traducir las políticas y prioridades de la empresa en limitaciones y control operacional. Para empresas de suficiente envergadura, se entiende.

Una cosa con la que tener cuidado: no permitir al usuario que se adjudique tantos recursos como quiera. Una de las falsas ilusiones de la computación en nube es que los recursos son ilimitados, así como la escalabilidad. Esta ilusión viene de la mano de que aunque haya picos de gran uso de los recursos, en general éstos son radicalmente infrautilizados. Pero eso no quiere decir que sean ilimitados, y la tarea de un gestor de nubes, es balancear de manera inteligente la carga, y poner cuotas de uso. Cómo disfruta un administrador de poner cotos, y cómo podría satisfacer sus instintos más básicos con estas herramientas.

¿Es el futuro?

Iría muy de sobrado si tratara de dar una respuesta a esto, pero tiendo a pensar que el cloud computing es algo natural, como sus predicadores repiten una y otra vez, pero para ciertos ambientes. Y sin embargo, de todo se aprende y de todo se puede sacar provecho. La mayoría de sus elementos no son nuevos, si bien se aporta desde esta ?nueva? tecnología la gestión de dichos elementos. No es de extrañar que tras un pequeño o gran boom de productos basadas en cloud computing, nos encontremos con que realmente no era para tanto, pero sí se haga un uso más de ?andar por casa? de sus herramientas de gestión. Las interfaces de gestión y parametrización que se ofrecen a usuarios clientes y usuarios proveedores, son muy interesantes de cara a desplegar rápidamente y sin errores entornos de producción y aplicaciones.

Así mismo, las APIs y estandarizaciones que se han hecho de facto por parte de Amazon y Canonical, son un avance hacia un futuro de nuevas posibilidades. Todos los web services desarrollados para poner en funcionamiento sus productos, podrían tener usos más allá de los actuales. Suponen en general una mejora y un incremento en la interoperabilidad entre nodos de una red, y eso sí es el futuro, la comunicación entre nodos de diversa utilidad. Esto puede recordar a la computación en red o grid computing, pero es una orientación totalmente distinta, por lo que no habría que confundirla. Quizás en el futuro veamos cómo lo uno se apoya en lo otro, quién sabe.

Dónde poner el ojo

Diversas empresas están haciendo una buena caja gracias a esta moda. VMware, Ubuntu, y sobre todo Amazon, son quizás las más destacadas.

Vmware evidentemente tratan como nadie el tema de la virtualización, destacando algunos productos como Vspheare. Ubuntu junto con Canonical llevan desde el 2009 ofreciendo su UEC (Ubuntu Enterprise Cloud), de libre distribución y que puedes probar ya si te bajas el Ubuntu 10 Server. Su solución está basada en Eucalyptus.

Amazon por su parte son los que han ido sentando las bases ya desde hace tiempo, y son tomados como referencia a día de hoy de cara a la estandarización de la computación en nube. Ofrencen una amplio catálogo de servicios que todo interesado en el tema debería de consultar. Echar un ojo a los Amazon Web Services como el S3.

A todo esto, si tuviera algunos años de experiencia en estos temas, podría ahora acceder a algunos de los trabajos que he visto que se ofertan aquí en Taipei (Taiwán). Pero por ahora, o me pongo muchísimo las pilas, o me quedo con las ganas.

Visto: 305 veces   Compartir en Menéame Compartir en Twitter Compartir en Facebook Compartir en Delicious

Imágenes relacionadas:

Niñas marroquinas Colores de Essaouira Pescadores y gaviotas en Essaouira Barca en Essaouira Pato y Photoshop  Temperatura de color Torres de alta tensión III Essaouira

Aviso Legal Contacto Mapa del sitio Colabora Buscador Acerca de esta web Acerca del autor
DeSastreCajón, corriendo sobre jMVC