El software como servicio ( SaaS / s æ s / [1] ) es una forma de computación en la nube en la que el proveedor ofrece el uso de software de aplicación a un cliente y administra todos los recursos físicos y de software utilizados por la aplicación. [2] La característica distintiva de SaaS en comparación con otros modelos de entrega de software es que separa "la posesión y propiedad del software de su uso". [3] SaaS comenzó a principios del siglo XXI y se convirtió en la principal forma de implementación de aplicaciones de software en 2023.
Generalmente se accede a SaaS a través de una aplicación web . A diferencia de la mayoría de los productos de software autohospedados, sólo existe una versión del software y sólo se admite un sistema operativo y una configuración. Los productos SaaS generalmente se ejecutan sobre sistemas alquilados de infraestructura como servicio (IaaS) o plataforma como servicio (PaaS), incluido hardware y, a veces, sistemas operativos y middleware para adaptarse a los rápidos aumentos en el uso y, al mismo tiempo, proporcionar la disponibilidad instantánea y continua que esperan los clientes. Los clientes de SaaS reciben la abstracción de recursos informáticos ilimitados, mientras que la economía de escala reduce el costo.
No existen prácticas de desarrollo de software específicas que distingan SaaS del desarrollo de otras aplicaciones, aunque a menudo hay un enfoque en pruebas y lanzamientos frecuentes. Las arquitecturas SaaS suelen ser multiinquilino ; aunque normalmente logran una eficiencia superior al compartir al menos algunos recursos entre clientes, no es raro ofrecer un entorno completamente aislado por una tarifa adicional. Los modelos de ingresos comunes de SaaS incluyen tarifas freemium , suscripción y basadas en el uso. A diferencia del software tradicional, rara vez es posible comprar una licencia perpetua para una determinada versión del software.
La infraestructura como servicio (IaaS) es la forma más básica de computación en la nube , donde los recursos de la infraestructura, como las computadoras físicas, no son propiedad del usuario sino que se alquilan a un proveedor de la nube. Como resultado, los recursos de infraestructura se pueden aumentar rápidamente, en lugar de esperar semanas para que se envíen e instalen las computadoras. IaaS requiere tiempo y experiencia para hacer uso de la infraestructura en forma de sistemas operativos y aplicaciones . [4] La plataforma como servicio (PaaS) incluye el sistema operativo y el middleware , pero no las aplicaciones. [5] [6] Los proveedores de SaaS suelen utilizar servicios PaaS o IaaS para ejecutar sus aplicaciones. [5]
Sin IaaS, sería extremadamente difícil hacer que un producto SaaS sea escalable para un número variable de usuarios y al mismo tiempo proporcione la disponibilidad instantánea y continua que los clientes esperan. [7] La mayoría de los usuarios finales consumen únicamente el producto SaaS y no tienen que preocuparse por la complejidad técnica del hardware físico y el sistema operativo. [8] Debido a que se puede acceder a los recursos de la nube sin ninguna interacción humana, los clientes de SaaS cuentan con la abstracción de recursos informáticos ilimitados, mientras que la economía de escala reduce el costo. [9] Otra característica clave de la computación en la nube es que las actualizaciones de software se pueden implementar y poner a disposición de todos los clientes casi instantáneamente. [10] En 2019, se estimó que SaaS constituía la pluralidad, el 43 por ciento, del mercado de computación en la nube, mientras que IaaS y PaaS combinados representan aproximadamente el 25 por ciento. [11]
En la década de 1960, se inventó la multitarea , lo que permitió que las computadoras centrales atendieran a múltiples usuarios simultáneamente. Durante la siguiente década, el tiempo compartido se convirtió en el principal modelo de negocio para la informática y la informática en clúster permitió que varias computadoras trabajaran juntas. [9] La computación en la nube surgió a finales de la década de 1990 con empresas como Amazon (1994), Salesforce (1999) y Concur (1993) que ofrecían aplicaciones basadas en Internet mediante un sistema de pago por uso. Todos ellos centrados en un único producto para captar una elevada cuota de mercado . [12] A partir de Gmail en 2004, los servicios de correo electrónico fueron algunos de los primeros productos SaaS que se comercializaron masivamente entre los consumidores. [13] El mercado de SaaS creció rápidamente a lo largo de principios del siglo XXI. [14] [11] Inicialmente visto como una innovación tecnológica, SaaS ha llegado a ser percibido más como un modelo de negocio. [15] Para 2023, SaaS se había convertido en el método principal con el que las empresas entregan aplicaciones. [dieciséis]
Los productos SaaS de consumo populares incluyen todos los sitios web de redes sociales , servicios de correo electrónico como Gmail y sus editores de documentos de Google asociados , [17] Skype , Dropbox , [18] y productos de entretenimiento como Netflix y Spotify . [19] Los productos Enterprise SaaS incluyen el software de gestión de relaciones con el cliente (CRM) de Salesforce , SAP Cloud Platform y Oracle Cloud Enterprise Resource Planning . [18]
Algunos proveedores de SaaS ofrecen servicios gratuitos a los consumidores que se financian a través de publicidad , marketing de afiliación o venta de datos de consumidores. [20] Uno de los modelos más populares para las nuevas empresas de Internet y las aplicaciones móviles es freemium , donde la empresa cobra por el uso continuado o por un mayor nivel de servicio. Incluso si el usuario nunca actualiza a la versión paga, ayuda a la empresa a capturar una mayor participación de mercado y desplazar a los clientes de un rival. [21] Sin embargo, el costo de alojamiento de la empresa aumenta con el número de usuarios, independientemente de si logra atraerlos a utilizar la versión paga. [22] Otro modelo común es aquel en el que la versión gratuita sólo ofrece demostración ( cripleware ). Los mercados en línea pueden cobrar una tarifa por las transacciones para cubrir los costos del proveedor de SaaS. [20] Solía ser más común que los productos SaaS se ofrecieran por un costo único, pero este modelo está perdiendo popularidad. [20] Algunos [20] productos SaaS tienen código fuente abierto , llamado SaaS abierto. Este modelo puede ofrecer ventajas como costos de implementación reducidos, menor compromiso de los proveedores y aplicaciones más portátiles . [23]
Los modelos de ingresos de SaaS más comunes implican suscripción y pago por uso. [24] Para los clientes, las ventajas incluyen un costo inicial reducido, una mayor flexibilidad y un costo general más bajo en comparación con el software tradicional con licencias de software perpetuas . [25] En algunos casos, el elevado costo único exigido por los vendedores de software tradicional estaba fuera del alcance de las empresas más pequeñas , pero los modelos SaaS de pago por uso hacen que el software sea asequible. [3] El uso se puede cobrar según la cantidad de usuarios, transacciones, cantidad de espacio de almacenamiento utilizado u otras métricas. [26] Muchos compradores prefieren el pago por uso porque creen que son usuarios relativamente ocasionales del software, y el vendedor se beneficia al llegar a usuarios ocasionales que de otro modo no comprarían el software. [26] Sin embargo, puede causar incertidumbre en los ingresos para el vendedor y aumentar los gastos generales de facturación . [27]
El modelo de suscripción de SaaS ofrece un flujo de ingresos continuo y renovable al proveedor, aunque vulnerable a la cancelación. [3] Si se cancela un número importante, la viabilidad de la empresa puede correr peligro. [3] La facilidad para cancelar una suscripción y cambiar a un competidor deja a los clientes con la ventaja de obtener concesiones del vendedor. [28] Si bien los ingresos recurrentes pueden ayudar a la empresa y atraer inversores, la necesidad de habilidades de servicio al cliente para convencer al cliente de que renueve su suscripción es un desafío para los proveedores que cambian a la suscripción desde otros modelos de ingresos. [29]
Normalmente se accede a los productos SaaS a través de un navegador web como una aplicación web disponible públicamente . [30] [16] Esto significa que los clientes pueden acceder a la aplicación en cualquier lugar y desde cualquier dispositivo sin necesidad de instalarla o actualizarla . [16] [31] Los proveedores de SaaS a menudo intentan minimizar la dificultad de registrarse para obtener el producto. [32] Muchos aprovechan la estructura orientada al servicio para responder a los comentarios de los clientes y hacer evolucionar su producto rápidamente para satisfacer las demandas. Esto puede permitir a los clientes creer en la mejora continua del producto y ayudar al proveedor de SaaS a conseguir clientes de una empresa de software tradicional establecida que probablemente pueda ofrecer un conjunto de funciones más completo. [33] [34]
Aunque el software local suele ser menos seguro que las alternativas SaaS, [35] la seguridad y la privacidad se encuentran entre las principales razones citadas por las empresas que no adoptan productos SaaS. [36] Las empresas SaaS tienen que proteger sus ofertas disponibles públicamente contra abusos, incluidos ataques de denegación de servicio y piratería informática. [37] A menudo utilizan tecnologías como control de acceso , autenticación y cifrado para proteger la confidencialidad de los datos . [36] Sin embargo, no todas las empresas confían en los proveedores de SaaS para mantener seguros los datos confidenciales. [36] El proveedor es responsable de las actualizaciones de software , incluidos los parches de seguridad , y de proteger los datos de los clientes. [31] Los sistemas SaaS tienen inherentemente una mayor latencia que el software ejecutado localmente debido al tiempo que tardan los paquetes de red en entregarse a la instalación en la nube. Esto puede resultar prohibitivo para algunos usos, como procesos industriales o almacenamiento en los que el tiempo es urgente. [38]
El auge de los productos SaaS es un factor que ha llevado a muchas empresas a pasar de presupuestar TI como gasto de capital a gasto operativo . [39] El proceso de migración a SaaS y su soporte también puede representar un costo significativo que debe tenerse en cuenta. [40] [29]
Un desafío para los proveedores de SaaS es que la demanda no se conoce de antemano. Su sistema debe tener suficiente holgura para poder manejar a todos los usuarios sin rechazar a ninguno, pero sin pagar demasiados recursos que serán innecesarios. Si los recursos son estáticos, se garantiza que se desperdiciarán durante las horas de menor actividad. [42] A veces se ofrecen tarifas fuera de las horas pico más baratas para equilibrar la carga y reducir el desperdicio. [43] La expectativa de un servicio continuo es tan alta que las interrupciones en el software SaaS a menudo aparecen en las noticias. [44]
No existen prácticas de desarrollo de software específicas que diferencien SaaS del desarrollo de otras aplicaciones. [45] Los productos SaaS a menudo se lanzan temprano y a menudo para aprovechar la flexibilidad del modelo de entrega SaaS. [46] El desarrollo de software ágil se utiliza comúnmente para respaldar este calendario de lanzamiento. [47] Muchos desarrolladores de SaaS utilizan el desarrollo basado en pruebas , o enfatizan las pruebas frecuentes de software , debido a la necesidad de garantizar la disponibilidad de su servicio y una implementación rápida. [48] El diseño basado en dominios , en el que los objetivos comerciales impulsan el desarrollo, es popular porque los productos SaaS deben venderse al cliente por sí mismos siendo útiles. [49] Los desarrolladores de SaaS no saben de antemano desde qué dispositivos los clientes intentarán acceder al producto, como una computadora de escritorio, una tableta o un teléfono inteligente, y admitir una amplia gama de dispositivos es a menudo una preocupación importante para el desarrollo front-end. equipo. [50] Las aplicaciones web progresivas permiten que algunas funciones estén disponibles incluso si el dispositivo está fuera de línea. [51]
Las aplicaciones SaaS ofrecen predominantemente protocolos de integración e interfaces de programación de aplicaciones (API) que operan en una red de área amplia . [52]
La arquitectura SaaS varía significativamente de un producto a otro. [53] Sin embargo, la mayoría de los proveedores de SaaS ofrecen una arquitectura multiinquilino . [30] Con este modelo, se utiliza una única versión de la aplicación, con una única configuración ( hardware , red , sistema operativo ), para todos los clientes ("inquilinos"). [54] Esto significa que la empresa no necesita soportar múltiples versiones y configuraciones. [16] El cambio de arquitectura de cada cliente que ejecuta su propia versión del software en su propio hardware afecta muchos aspectos del diseño y las características de seguridad de la aplicación. [54] En una arquitectura multiinquilino, muchos recursos pueden ser utilizados por diferentes inquilinos o compartidos entre varios inquilinos. [55]
La estructura de una aplicación SaaS típica se puede separar en planos de aplicación y control. [56] Los productos SaaS difieren en la forma en que se separan estos planos, que pueden estar estrechamente integrados o débilmente acoplados en un modelo basado en eventos o mensajes. [57] El plano de control está a cargo de dirigir el sistema y cubre funcionalidades como la incorporación de inquilinos, facturación y métricas, así como el sistema utilizado por el proveedor de SaaS para configurar, administrar y operar el servicio. [56] Muchos productos SaaS se ofrecen en diferentes niveles de servicio a diferentes precios, lo que se denomina estratificación. Esto también puede afectar la arquitectura de ambos planos, aunque normalmente se coloca en el plano de control. [58] A diferencia del plano de aplicación, los servicios en el plano de control no están diseñados para multitenencia. [59]
El plano de aplicación, que varía mucho según la naturaleza del producto, implementa la funcionalidad principal del producto SaaS. [59] Los problemas clave de diseño incluyen separar diferentes inquilinos para que no puedan ver o cambiar los datos o recursos de otros inquilinos. [61] Excepto por las aplicaciones SaaS más simples, algunos microservicios y otros recursos se asignan por inquilino, en lugar de compartirse entre todos los inquilinos. [62] La funcionalidad de enrutamiento es necesaria para dirigir las solicitudes de los inquilinos a los servicios apropiados. [60]
Algunos productos SaaS no comparten ningún recurso entre los inquilinos, lo que se denomina aislamiento. Aunque esto anula muchos de los beneficios de eficiencia de SaaS, facilita la migración del software heredado a SaaS [64] y, en ocasiones, se ofrece como una oferta premium a un precio más alto. [65] La puesta en común de todos los recursos podría permitir lograr una mayor eficiencia, [66] pero una interrupción afecta a todos los clientes, por lo que se debe priorizar la disponibilidad en mayor medida. [67] Muchos sistemas utilizan una combinación de ambos enfoques, agrupando algunos recursos y agrupando otros. [68] Otras empresas agrupan a varios inquilinos en grupos y comparten recursos entre ellos. [69]
En los Estados Unidos, las leyes constitucionales sobre órdenes de registro no protegen todas las formas de datos almacenados dinámicamente en SaaS. El resultado es que los gobiernos pueden solicitar datos a los proveedores de SaaS sin el consentimiento del propietario. [70] [71]
Algunas licencias de código abierto, como GPL-2.0, no otorgan explícitamente derechos que permitan la distribución como producto SaaS en Alemania. [72]