Cloud Computing (III): Software como servicio (SaaS)

Cloud Computing SaaS

El concepto de Cloud Computing surge como consecuencia de las expectativas creadas por la Web 2.0 entre los usuarios. En efecto, Cloud Computing no es Utility Computing, ni Grid Computing, ni Software-as-a-Service (SaaS), pero lo contrario tampoco es falso. De todos estos conceptos, y de algunos otros, Cloud Computing toma alguno o muchos principios, además de integrar otras tecnologías, tales como la virtualización, la automatización, el procesamiento masivamente paralelo y la orientación al servicio. Steve Mills, vicepresidente senior y responsable ejecutivo de la unidad de software de IBM, señalaba a Network World el papel que juega a favor del nuevo modelo la excitación con que la gente está recibiendo las capacidades de mashup y Web 2.0. “La idea de que una aplicación no tenga que existir en un lugar concreto, sino que pueda estar compuesta de múltiples piezas procedentes de múltiples sitios se la debemos a la Web 2.0” [1].

 

En la primera revolución de Internet, emerge como arquitectura general el modelo de programación por capas (Three-Tier), el uso de la virtualización en la nube ha creado un nuevo conjunto de capas: aplicaciones, servicios e infraestructura. Estas capas no sólo encierran la demanda de recursos, también definen un nuevo modelo de desarrollo de aplicaciones. Y dentro de cada capa de abstracción hay infinidad de oportunidades de negocio para la definición de servicios que puede ofrecer el pago por servicio consumido.

Desde sus inicios, Cloud Computing, como abstracción, se soporta sobre los siguientes conceptos tecnológicos:

 

?Software como servicio (SaaS: Software as a Service)

?Plataforma como servicio (PaaS: Platform as a Service)

?Infraestructura como servicio (IaaS: Infrastructure as a Service) (denominada también HaaS: Hardware as a Service)

?Almacenamiento (Datawarehouse)

?Virtualización

 

Según Lamia Youseff [2], adicionalmente a lo anterior, se debe considerar:

 

?Almacenamiento como servicio (DaaS: Datawarehouse as a Service)

?Comunicaciones como servicio (CaaS: Communications as a Service)

 

Esta adición no es más que una redefinición del almacenamiento y en parte, de la virtualización, en función de la seguridad.

 

Ontologia Cloud Computing

 

Software como servicio (SaaS)

El Software como Servicio (SaaS: Software as a Service) es un modelo de distribución de software, en donde la empresa proveedora de dicho servicios proporciona el mantenimiento, soporte y operación que usará el cliente durante el tiempo que haya contratado el servicio. El cliente usará el sistema alojado por dicha empresa proveedora, la cual mantendrá la información del cliente en sus sistemas y proveerá los recursos necesarios para explotar esa información.

Software como servicio o SaaS, es probablemente el tipo de servicio más común de la nube. Con SaaS, una única solicitud se entrega a miles de usuarios desde los servidores del proveedor. Los clientes no pagan por la propiedad del software, sino que pagaran por uso. El usuario accede a la solicitud de servicios a través de una API accesible por Internet.

Cada una de las organizaciones atendidas por el vendedor se llama a un inquilino (tenant), y este tipo de arreglo se denomina arquitectura multitenant. Los servicios vendidos son prácticamente virtualizados (o divididos) de manera que cada organización trabaja con una aplicación personalizada en una instancia virtual. Para los clientes, SaaS no requiere inversión inicial en servidores o licencias de software. Para el desarrollador de aplicaciones, sólo hay una solicitud para mantener a varios clientes [3].

SaaS evoluciona continuamente, buscando que el desarrollo de aplicaciones sea mucho más fácil. No obstante, muchos de los primeros éxitos de SaaS (Salesforce.com, WebEx, RightNow, etc.) fueron los precursores de esta abstracción, y sentó las bases para avanzar y convertir en un SaaS en un mecanismo de entrega viable.

 

Evolucion SaaS

Ahora, estos mismos líderes de la industria están tratando de pasar a un plano más abstracto en la introducción de sus propios productos de plataforma centralizada. No obstante, existen desventajas en esta aproximación, entra las que se pueden citar [4]:

 

?Pérdida de control respecto a la plataforma: Si la máquina donde se ejecuta la aplicación no está a nuestro alcance.

?Pérdida de  control respecto a los datos: Dejan de estar guardados en las instalaciones locales para estar en máquinas de terceros, en donde pueden existir brechas de seguridad y/o acceso no autorizados.

?Migrar hacia otros proveedores es complicado: Una tarea que puede ser por demás tediosa.

 

Estas desventajas, casi todas basadas en una sana desconfianza, pierden importancia respecto a la gran lista de ventajas que conllevan estas aplicaciones web:

 

?No se necesita ni instalación, ni mantenimiento ni tener personal informático, cualquiera con una formación mínima adicional puede usar estas aplicaciones desde el momento en que se contratan.

?Si bien no se tiene control sobre las eventuales caídas de los servidores externos, debido a la alta especialización, todas las aplicaciones web suelen tener una disponibilidad excelente, ridículamente alta si se compara con sistemas tradicionales, que simplemente no pueden competir a esos niveles. De hecho, muchas ni siquiera realizan cortes previstos por mantenimiento.

?El desembolso inicial no es grande, sino que se reparte durante el tiempo que dure el servicio. Esto suele ser ideal para empresas, incluso si el coste final es mayor.

?Se utilizan medios seguros para realizar todas las transacciones. Aunque la web se considera un campo abierto, las comunicaciones de las aplicaciones más sensibles seguramente estarán cifradas.

?Se pueden desplegar mejoras a todos los clientes a la vez y en pocos segundos, evitando que tener que pagar directamente por licencias de software en forma regular. El software siempre estará actualizado.

?Se pueden acceder a las aplicaciones desde cualquier sitio y desde cualquier dispositivo.

?Evita tener que renovar en forma regular la plataforma informática. Como la mayor parte del procesamiento se realiza en los servidores del proveedor, solo se necesita tener a disposición un navegador y un ordenador que pueda ejecutarlo

?Altamente escalable y adaptable. Tradicionalmente, cuando se necesita más potencia o recursos, era irremediable ampliar la estructura de la red o reestructurar los sistemas. En un sistema SaaS, si se necesita más usuarios o más carga, simplemente, se contrata, bajo un esquema de flexibilidad total.

 

La popularidad de SaaS está aumentando constantemente debido a que simplifica la implementación y reduce los costes de adquisición de clientes. Con SaaS, los desarrolladores pueden ofrecer soporte a varios clientes con una única versión de un producto. Ejemplos prácticos de SaaS en la actualidad son Salesforce y Basecamp.

 

Véase también:

Cloud Computing (I): Teorías y fundamentos de la computación en nube

Cloud Computing (II): Características que definen a la nube

 

Bibliografía:

[1] Network World. 2008. Cloud Computing: Las TI como servicio. [En línea] 06 de Junio de 2008. http://www.idg.es/Comunicaciones/articulo.asp?id=191003.

[2] Lamia Youseff, Maria Butrico, Dilma Da Silva. 2008. Toward a Unified Ontology of Cloud Computing. s.l. : University of California, Santa Barbara, 2008.

[3] Miller, Michael. 2009. Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate Online. s.l. : Que Publishing, 2009.

[4] Pimentel, Victor. 2009. ¿Qué es “Software como Servicio”? SaaS a fondo. [En línea] 20 de Abril de 2009. http://www.anexom.es/servicios-en-la-red/web-20/que-es-software-como-servicio-saas/

 

 

Tambien le puede interesar...

1 comentario

  1. Pingback: Bitacoras.com