Español | English
rss facebook linkedin Twitter

Aclarando conceptos. SaaS, IaaS y PaaS.

Últimamente se pueden leer una gran cantidad de preguntas acerca del Cloud Computing, SaaS, IaaS PaaS en todo tipo de WEBs y foros de consulta, parece que los conceptos no están claros. Vamos a exponer una pequeña introducción a estos sistemas, que al parecer, están cambiando los paradigmas de la programación actuales y se presentan como un paso lógico de cara al futuro.

La definición del Cloud Computing de McKinsey dice:

Las nubes son servicios basados en hardware que ofrecen capacidades de computación, redes y almacenamiento de modo que:
  • La gestión del hardware se abstrae del comprador.
  • Los compradores incurren en gastos variables por su utilización.
  • La capacidad de la infraestructura es altamente elástica, permite auto-escalado, computación bajo demanda, balanceo de carga al mismo tiempo que replicación local y global de la infraestructura que prestará el servicio.

Las nubes se clasifican en públicas, privadas e híbridas. En las nubes públicas los recursos se obtienen en modo de autoservicio a través de internet y se factura por su uso. Las nubes privadas, son el equivalente pero para uso exclusivo de la empresa que lo contrata. La nube hibrida permite el pago por uso de la nube pública o el modo privado para la empresa, heredado de la nube privada.



La idea que mueve el Cloud Computing es el disponer de recursos adaptados a nuestras necesidades, de tal forma que si necesitamos 10GB de almacenamiento lo tengamos, pero que si en un momento puntual, necesitamos 25GB, los podamos contratar y disponer de ellos al instante. Esa idea se hace extensible al almacenamiento, capacidad de proceso, servidores de aplicaciones, etc. se factura en función de los recursos consumidos, que son parejos a la actividad del sistema. El coste de este sistema se establece en base a los recursos utilizados, como modificadores del precio están, el tiempo de uso, la cantidad de información almacenada, un número X de transacciones, un número de mensajes X de intercambio, etc.

Suponiendo una empresa que ofrece un servicio de cara al público y suponiendo que cada paquete X le permite gestionar 2000 usuarios. Llegado el momento, cuando llega al límite de usuarios puede hacer dos cosas, o bien, con previsión, compra otro paquete X para dar servicio a todos sus clientes o espera a que se sature su servicio y compra uno cuando le salga rentable el adquirir el nuevo paquete. En cualquiera de los casos está perdiendo o bien servicio a los clientes o desembolsando dinero al que no le saca toda la rentabilidad. Este es un ejemplo claro donde se ve una ventaja del Cloud Computing, ya que este crece al mismo ritmo que los clientes que requieren el servicio.

El sistema está distribuido en tres sistemas o ámbitos, que se corresponden con esas siglas que están constantemente pululando por internet, que son SaaS, IaaS y PaaS.

El Software como servicio (SaaS), se corresponde con un modelo de software distribuido, en el que una empresa A, ofrece el mantenimiento, soporte y las funcionalidades a la empresa B, durante un tiempo X, que se acuerda en el contrato del servicio. La empresa A dispondrá de la información de la empresa B alojada en sus servidores para poder dar el servicio contratado. Como proveedores de SaaS tenemos como ejemplo a: Documany, TeamBox, Kubbos, Gupigupi, Salesforce, Basecamp, Gmail, Salesforce.com, entre otros.

El SaaS dispone de 4 niveles de madurez, que ofrecen distintas arquitecturas y configuraciones:
  • Para el primer nivel, cada cliente dispone de una versión distinta de la aplicación con una instancia en los servidores del proveedor.
  • El segundo nivel, el proveedor ofrece una misma versión para cada cliente, pero una instancia distinta para cada uno. La optimización se realiza cambiando la configuración de instancia para cada cliente.
  • El tercer nivel ofrece una misma versión con una única instancia para sus clientes, permitiéndoles configurar la metaestructura de la aplicación. Las soluciones son estancas.
  • En el cuarto nivel, el proveedor ofrece el servicio a través de varias estructuras de nivel 3 pero con un sistema de balanceo de servidores.

La infraestructura como servicio (IaaS), es el equivalente al SaaS pero el modelo distribuido en este caso es sobre la infraestructura. Suele proporcionarse como sistemas virtualizados. Este sistema exime de los gastos generados por la creación de una infraestructura de red y servidores, optimizando el gasto, personal y espacio en el CPD. Como ejemplos de IaaS: AbiCloud, Amazon, Web Services EC2, GoGrid, entre otros.

Existen diversas soluciones de software para generar IaaS, tanto OpenSource como de ámbito privado: Vmware, Citrix, 3Tera, Abiquo, Enomaly, Eucaplyptus, Proxmox, OpenNebula.org

La plataforma como servicio (PaaS) es un modelo por el que se ofrece todo lo necesario para dar soporte al ciclo de vida aplicaciones, ya sea en su construcción como en su puesta en marcha. No es necesario descargar ningún tipo de software, ya que se ofrecen servicios para llevarlo a cabo. Como ejemplos de PaaS: Velneo, Abiquo.com, SimpleDB SQS Google App Engine, entre otros.

A parte de estos conceptos explicados hasta ahora, SaaS, IaaS y PaaS se le suman otros dos conceptos, MaaS y FaaS. Estos terminos se corresponden con Malware as a Service y Fraud as a Service. Son el resultado de la aplicación de técnicas de fraude y los sistemas que utiliza el malware sobre las tecnologías de Cloud Computing. Podemos ver algunos ejemplos aquí


Actualmente existen dos problemas “graves” en el uso del Cloud Computing, que son:

Conectividad con internet

Todo el sistema del cloud computing se basa en la conectividad con la red, de hecho, para una empresa que migre todas sus aplicaciones a este nuevo sistema, si por cualquier motivo pierde la conexión a internet, perderá la productividad durante todo ese tiempo.

Para evitar este tipo de problemas, existen varias soluciones. La primera implica un desembolso por encima del contratado y es tan simple como el disponer de conexión dual con distintos ISPs y a ser posible con tecnología diferente, ADSL y Fibra, Frame Relay + RDSI, ADSL + 3G o cualquier otra combinación, de tal forma que si una de ellas falla, la otra puede seguir dando el servicio. De nada sirve tener contratado dos líneas ADSL con dos ISPs distintos y que uno de ellos utilice una línea alquilada del otro.

La otra opción es el uso de aplicaciones con replicación en local y sistemas de sincronizado como el sistema de Google Gears, de esa forma, se pierde acceso al servicio online, pero se mantiene la productividad en local y se actualizará en la reconexión.

Cambio o quiebra de proveedor.

Posiblemente los proveedores no van a facilitar su código para la implantación de herramientas así que si se da esta circunstancia, es necesario controlar dos factores: la información de la empresa y el servicio.

El hecho de recuperar la información de empresa, puede solventar el problema sin sobresaltos, ya que sólo será necesario localizar un sistema para reponer el servicio, ya sea en local o con otro proveedor, por ello, es recomendable el disponer de una política de copias de seguridad, a poder ser contratado con una tercera empresa.

Para seguir dando el servicio, existen varias opciones, en el caso de que la herramienta sea conocida y disponga de versión en local, se puede implantar y migrar los datos de la empresa para que el servicio sea continuo, contratar otro proveedor que pueda servir esa aplicación o alguna compatible. En el caso de que la herramienta haya sido desarrollada por el proveedor, se puede intentar contratar un servicio de custodia del código fuente del producto, por el cual, se recibe dicho código en periodos de tiempo definidos o en caso de accidentes de este estilo.

Para intentar evitar este tipo de problemas de migración, existe un manifiesto para el Open Cloud, es una iniciativa realizada por empresas como IBM, AT&T, Novel, Akamai, Rackspace, Sun, Telefónica, Red Hat, VMWare entre otras, que intentan definir cómo debe evolucionar el Cloud Computing. Se basa en 6 principios:

  1. Trabajar juntos para que los retos fundamentales en la adopción sean solucionados mediante la colaboración abierta y el uso adecuado de los estándares.
  2. No utilizar su posición de mercado para convertir a sus clientes en cautivos de una plataforma concreta y limitar su libertad de elección.
  3. Usar y adoptar los estándares existentes siempre que sea posible, para evitar así reinventarlos o duplicarlos.
  4. Recurrir con prudencia a la creación de los nuevos estándares, y cuando así sea por necesidad, hacerlo con pragmatismo, reduciendo el número de estándares necesarios, y asegurando que éstos promueven la innovación en lugar de inhibirla.
  5. Llevar a cabo iniciativas en función de las necesidades del cliente, no de las necesidades técnicas de los proveedores.
  6. Trabajo conjunto y coordinado de todos los actores implicados para evitar que sus iniciativas entrenen conflicto o se solapen
A modo de resumen, estos son las posibles ventajas y desventajas del Cloud Computing.

Ventajas:
  • Altamente escalable
  • Se optimiza el gasto y el servicio para el cliente.
  • Acceso inmediato al hardware contratado.
  • Menor inversión inicial y ahorro en mantenimiento.
  • Funcionalidades y actualizaciones inmediatas.
  • Capacidad de reacción mayor en cuanto a soporte.
  • Sistemas estándar de seguridad en datos y servicio, copias de seguridad, restauración, alta disponibilidad, etc.

Desventajas:
  • Falta de control sobre la localización de datos. Hay información privada y confidencial. Las leyes de protección de datos son distintas en los países y eso puede generar problemas legales.
  • Posibles problemas en la confidencialidad en la transmisión a través de internet. Sería conveniente aumentar los sistemas de cifrado.
  • Falta de control físico sobre el sistema, el usuario depende de un sistema del que no tiene control con lo que también se pierde control sobre el soporte.
  • Problemas de integración con datos y aplicaciones en local. Posiblemente se solucione con el tiempo, es cuestión de mentalización y adaptación al cambio.
  • Velocidad de respuesta, sobre todo en sistemas críticos o con grandes volúmenes de información. Lo normal es de momento, no utilizar la nube para sistemas críticos.
  • En caso de fallo de proveedor, existen dificultades para restablecer el servicio, migrarlo a otro proveedor o establecerlo en local.
A continuación se muestra una estimación aproximada del coste en comparación con las soluciones "desktop". Se estima que en un periodo de 5 años, sin cambiar hardware, ni adquirir nuevas licencias, ni migrar a versiones de software actualizadas, el gasto de SaaS se equipara con el del modelo tradicional.



Algunas fuentes de datos:

Sun Open Comunities Forum 09 recopilada por Victor M. Fernández Gómez.
www.saasmania.com
www.nubeblog.com

Juan Manuel Sanesteban
S21sec labs

1 comentario:

Javier Benito (NTT Spain) dijo...

http://www.ntteuropeonline.es/cloud_computing.html

En este enlace podéis obtener más información sobre el asunto. A lo que NTTEO ofrece, se añade el que es uno de los 4 Internet Tier One globales, y eso es algo fundamental en Xaas, como bien apuntas.
Ya ofrecemos a clientes Haas, Paas e Iaas y Livecycle Applications Management
También hemos participado en el informe IDC sobre la evolución de Saas en España, por os si interesa verlo.
Por fin algo de claridad entre tanto agorero. Un saludo
javier.benito@ntt.eu


(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login