Para que el proveedor construya una solución Software as a Service, conocido como SaaS, implica considerar ciertos requisitos técnicos, que ayudarán a cumplir las características principales de una solución SaaS.
Aplicación multi-tenant
El concepto de multi-tenant o multicliente refiere a un principio de arquitectura de software en donde una única instancia de un producto de software corre en un servidor, atendiendo a múltiples organizaciones o clientes. Cada cliente u organización dentro de la misma instancia de la aplicación tiene su propio ambiente o partición, es decir, puede personalizar la aplicación definiendo sus propios usuarios, mecanismos de seguridad, parámetros y configuraciones visuales sin interferir a las otras organizaciones y de forma totalmente transparente. El objetivo primario de la arquitectura multi-tenant es maximizar recursos de hardware y de software.
La arquitectura multi-tenant se opone de alguna forma a la arquitectura multi instancia, en donde para cada cliente u organización se necesita instalar una nueva instancia de la aplicación con sus respectivos recursos de hardware y software dedicados para cada organización.
El middleware de una plataforma como servicio es esencialmente multi-tenant, ya que un desarrollador, o una organización con muchos desarrolladores, utiliza el middleware de la plataforma de forma aislada y transparente de otras organizaciones o desarrolladores.
Aplicación escalable y mecanismos de balanceo de carga
Las aplicaciones SaaS deben estar preparadas para soportar una gran cantidad de clientes. En aplicaciones single-tenant la escalabilidad se logra instalando un nuevo servidor web con la misma aplicación y balanceando la carga. Eso para soluciones multi tenant es una solución de grano grueso, por lo que es necesario definir mecanismos de escalabilidad que contemplen el uso de recursos por tennant y la posibilidad de asignar recursos de grano fino.
Aplicación personalizable y configurable
Cada cliente que se suscribe al servicio, utiliza la aplicación como si fuera el único cliente de la misma, por lo que la aplicación necesita diseñarse de tal forma que permita a cada cliente personalizarla según sus necesidades sin interferir a los otros clientes.
La aplicación debe proveer mecanismos de suscripción, monitoreo, monetización y facturación
El modelo de pago por uso implica que en la aplicación se tenga que diseñar específicamente los mecanismos de suscripción, monetización y facturación, por lo que se necesita monitorear constantemente el uso que cada tenant le da a la misma.
Es prioritario ofrecer al cliente una buena variedad de precios, y que el cliente sepa exactamente qué se le está cobrando.
La aplicación debe dar soporte para el aprovisionamiento de recursos
Debido al modelo de suscripción dinámico de las aplicaciones SaaS deben estar preparadas para reservar y dedicar recursos a cada nuevo suscriptor. Además cuanto la cantidad de suscriptores es muy grande se hace inviable que las tareas de aprovisionamiento se realicen de forma manual, y es necesario tener un proceso automático.
Fuente: Universidad Nacional De Loja, Facultad de Energía, las Industrias y los Recursos Naturales No Renovables, “Análisis de la seguridad de datos en la arquitectura de Software como Servicio (SaaS)”; Esther Elizabeth Jaramillo Malla.
Adaptado por la División Consultoría de EvaluandoCloud.com