jueves, 14 de agosto de 2008

El advenimiento del "cloud-computing"

Los recursos informáticos que las organizaciones y las empresas IT manejan son muchos y diversos: desde la infraestructura para almacenar bases de datos, aplicaciones y sistemas de gestión de información hasta el personal que las administra y/o desarrolla.

Y usualmente estos recursos son adquiridos como propios. Las empresas adquieren licencias de SDKs e IDEs de desarrollo, si es que su estructura no se basa en fuentes abiertas (Open Source) como php, Linux o Java. Se adquiere servidores, ya sea para almacenar grandes cantidades de información, gestión de la intranet, webservices, etc. Se adiestra y capacita a nuevo personal.

¿Pero que pasaría si todo esto es ofrecido como un servicio por terceros? De esto se trata el cloud-computing.

El nombre proviene de los diagramas de redes, donde a Internet se le suele dibujar como una nube (cloud).

El propósito de esta nueva filosofía es hacer que las empresas IT incrementen su capacidad de agregar nuevas prestaciones, ya sean de computo, software, etc, sin la necesidad de invertir en infraestructura nueva. Se adquieren los servicios necesarios de alguna otra compañía especializada.

Existen varias categorías en las que se divide el cloud-computing, al menos por ahora. Veamos en que consisten:

Software as a Service (SaaS)

Las empresas que proveen este servicio entregan al cliente una aplicación (ya sea de escritorio o como un plug-in de algún explorador Web por ejemplo), la cual ejecuta una aplicación o algún servicio en el lado del servidor. Por ejemplo, una empresa que ofrece un servicio SaaS para las ventas ofrece herramientas para el manejo de contactos, programación de actividades de acuerdo a las necesidades del cliente y soporte, seguimiento y gestión de las relaciones de negocios emergentes. Ejemplos de SaaS son Google Apps (el cual será objeto de revisión de una futura entrada de este blog) y salesforce.com.

Computación utilitaria

Es el tipo de servicios que ofrecen empresas para incrementar capacidades de infraestructura como servidores de almacenamiento de datos, poder de procesamiento computacional o servidores virtuales disponibles en cualquier parte contando con una conexión a Internet. Y todo esto los clientes pueden obtenerlo por demanda. IBM, Dell, Sun Microsystems, incluso Amazon ofrecen estos tipos de servicios.

Servicios Web de Nube (Web Services in the Cloud)

Esta relacionada estrechamente con SaaS. Los proveedores de servicios Web ofrecen API's para que desarrolladores exploten la funcionalidad de los servicios que requiera y desee cada cliente en vez de proporcionar aplicaciones completas donde muchas de las funciones no son usadas. Google Maps provee este tipo de servicios.

Plataform as a Service (PaaS)

También muy similar a SaaS. Los proveedores de este tipo de servicio ofrecen ambientes y plataformas de desarrollo para que el cliente desarrolle sus propias aplicaciones que serán ejecutadas con la infraestructura del proveedor PaaS, y los usuarios de dichas aplicaciones las ejecutarán dentro de los servidores del proveedor. No se obtiene completa libertad de poder desarrollar cualquier aplicación, puesto que se esta limitado por la plataforma de desarrollo que se provea. Google App Engine es el ejemplo mas claro.

Proveedores de Servicios Gestionados (Managed Service Provider o MSP)

Es el tipo de cloud-computing mas antiguo y el mas conocido. Los proveedores de este tipo de servicios ofrecen aplicaciones, mas que a usuarios finales, a la industrias IT. Estos servicios pueden ser escaneos y limpieza de virus masivos de e-mails para empresas, monitoreo de red a distancia y monitoreo de uso de aplicaciones. Los servicios ofrecidos por Verizon, IBM, y SecureWorks entran en esta categoría.

Aunque parezca que el cloud-computing solo afecta a la industria IT, también afecta a los usuarios comunes y corrientes. De hecho, Microsoft ha anunciado que su próximo sistema operativo (el cual sale tiene por nombre tentativo Windows 7) será completamente orientado a Web, donde cada aplicación y servicio será obtenido desde Internet. Así mismo, la tendencia de la plataforma Linux (y sus principales distribuciones) es estar orientado a Web, en donde ya se ven varias aplicaciones de este tipo. En futuras entradas se hablará mas de este tema.

Aun queda mucho por analizar, sobre todo en el ámbito de seguridad y eficiencia, puesto que el cloud-computing se basa en tecnologías de red. Sin embargo, no se puede negar que esta es la tendencia que existe, por lo que hay que estar al tanto de las nuevas noticias que surjan.