La arquitectura SaaS puede clasificarse dentro en cuatro “niveles de madurez”, donde los atributos principales son fácil configuración, eficiencia multi-tenant y escalabilidad. Cada nivel se distingue del anterior por la adición de uno de estos atributos.
Nivel 1 – Ad-Hoc / personalizado: En el primer nivel de madurez, cada cliente cuenta con su propia versión de la aplicación hospedada y ejecuta su propia instancia de la aplicación en los servidores de hospedaje. Migrar una aplicación tradicional no compartida o bajo un esquema de cliente-servidor, a este nivel de SaaS, generalmente requiere menos esfuerzo de desarrollo y reduce los costos de operación al consolidar el hardware de servidores y la administración.
Nivel 2 – Fácil configuración: El Segundo nivel de madurez proporciona mayor flexibilidad de programación a través de meta-datos configurables, de manera que varios clientes puedan utilizar instancias separadas del mismo código de la aplicación. Permitiendo al proveedor satisfacer diferentes necesidades a través de opciones de configuración detalladas, simplificándose el mantenimiento y la actualización del código base, el mismo que es común a todos los clientes.
Nivel 3 – Configurable y eficiencia Multi-Tenant: El tercer nivel de madurez agrega el concepto de “multi-tenancy” al segundo nivel, de manera que una sola instancia del programa se ejecuta para todos los clientes. Esto hace que el uso de recursos del servidor sea más eficiente, de tal forma que es completamente transparente para el usuario final. Sin embargo y en el transcurso del tiempo se tropieza con los limites de escalabilidad.
Nivel 4 – Escalable, configurable y eficiencia Multi-Tenant: El último nivel de madurez de SaaS, agrega la escalabilidad a través de un arquitectura que soporta una “conjunto”, donde se balancea la carga, de instancias de aplicaciones idénticas, ejecutándose en varios servidores. El proveedor puede incrementar o disminuir la capacidad del sistema a fin de cumplir con la demanda, adicionando o retirando servidores, sin la necesidad de alterar o modificar la arquitectura de las aplicaciones.
La arquitectura SaaS también puede utilizar la solución de virtualización, esto como una adición al concepto de multi-tenancy o como reemplazo. Uno de los beneficios de la virtualización es el incremento de capacidad del sistema sin esfuerzo de programación adicional. Visto desde la otra cara, se podría requerir un esfuerzo considerable de desarrollo para mejorar la eficiencia de la aplicación multi-tenant. La combinación de multi-tenancy y la virtualización proporcionan mayor flexibilidad el momento de afinar el sistema para un optimo rendimiento. Adicional a la virtualización a nivel del sistema operativo, existen otras técnicas que se pueden aplicar al modelo SaaS, como la virtualización de aplicaciones y dispositivos virtuales o de virtualización.
Para el desarrollo de aplicaciones SaaS se puede utilizar una gran variedad de componentes de software y frameworks. Estas herramientas ayudan a reducir el tiempo de desarrollo y la puesta en producción (time-to-market) de la aplicación SaaS, así como reducir el costo de conversión de aplicaciones tradicionales o el desarrollo e implementación de nuevas soluciones SaaS. Como ejemplo se incluyen los componentes para la administración de la suscripción, software de grid-computing, frameworks de aplicaciones web y productos de plataforma SaaS.\cite{cca,AZURE}
Obtener acceso a aplicaciones sofisticadas. Para ofrecer aplicaciones SaaS a los usuarios, no es necesario que compre, instale, actualice o mantenga ningún tipo de hardware, middleware o software. Con SaaS, incluso aplicaciones empresariales sofisticadas, como ERP y CRM, están al alcance de organizaciones que no cuentan con recursos para comprar, implementar y administrar la infraestructura y el software necesarios.
Pagar solo por lo que usa. También ahorra dinero, porque el servicio SaaS permite escalar o reducir verticalmente los recursos en función del nivel de uso.
Usar software de cliente gratuito. Los usuarios pueden ejecutar la mayoría de las aplicaciones SaaS directamente desde un explorador web sin necesidad de descargar e instalar ningún software, aunque algunas aplicaciones requieren complementos. Esto significa que no tiene que comprar ni instalar software especial para sus usuarios.
Movilizar fácilmente a su personal. Con SaaS, es muy fácil “movilizar” a su personal, porque los usuarios pueden obtener acceso a las aplicaciones SaaS y a los datos desde cualquier equipo o dispositivo móvil conectado a Internet. No tiene que preocuparse por desarrollar aplicaciones que se ejecuten en diferentes tipos de equipos y dispositivos, puesto que eso ya lo ha hecho el proveedor de servicios. Además, no es necesario incorporar a personal cualificado para que administre los aspectos de seguridad inherentes a la informática móvil. Un proveedor de servicios elegido a conciencia garantizará la seguridad de sus datos, independientemente del tipo de dispositivo que los utilice.
Obtener acceso a los datos de las aplicaciones desde cualquier parte. Con los datos almacenados en la nube, los usuarios pueden obtener acceso a su información desde cualquier equipo o dispositivo móvil conectado a Internet. Y, cuando los datos de las aplicaciones se almacenan en la nube, no se pierden si se produce un error en el equipo o dispositivo de un usuario.\cite{AZURE}\cite{AZUREa}