Software As a Service (SaaS): ¿Qué es?

Ayer por la mañana tuve la oportinidad de participar en un evento en Microsoft sobre algo que últimamente se oye mucho: Software As a Service (SaaS). Lo primero que os preguntaréis, como me lo he preguntado yo es: ¿qué es eso de SaaS? Una definición bastante completa es la siguiente: SaaS es un modelo de distribución del software que proporciona a los clientes el acceso al mismo a través de la red (generalmente Internet), de manera que les libra del mantenimiento de las aplicaiones, de operaciones técnicas y de soporte. Las aplicaciones distribuidas en la modalidad SaaS pueden llegar a cualquier tipo de empresa sin  importar su tamaño o su ubicación geográfica. Se trata de un modelo que une el producto (software) al servicio, para dotar a las empresas de una solución completa que permita optimizar sus costes y sus recursos.


SaS_Post1


El concepto


La definición anterior está muy bien, pero ¿que implicaciones tiene el modelo SaaS?



  • Desaperece el concepto de licencia, se pasa a hablar de pago por uso. De manera que los clientes se “suscriben” al servicio aportado para poder utilizar las aplicaciones ofrecidas en modalidad SaaS.
  • El software no se distribuye in-house, sino a través de la red.
  • La aplicación está hosteada, de manera que da servicio a muchos clientes.
  • El hecho de que la aplicación esté hosteada implica que no se abre de una infraestructura privada, sino de una infraestructura pública que permite que muchas empresas puedan suscribirse al servicio.
  • Es un modelo descentralizado de uso de aplicacione software.
  • Permite una escalabilidad sin límites.

Este modelo es una de los elementos estratégicos claves de Microsoft, como lo demuestran algunas cifras que se aportaron durante el evento:



  • Más del 25 % de los ISV’s están desarrollando una oferta de soluciones en modalidad SaaS.
  • Más del 70 % de los ISV’s han recibido financiación por parte de Microsoft durante el año 2006 para ofrecer soluciones SaaS.

Hasta aquí todo parece más o menos claro, pero seguro que alguno se preguntará: ¿y SaaS no es lo que ya teníamos con el modelo ASP?La respuesta es que no, ya que:



  • ASP sigue un modelo de licencias frente a SaaS dónde se paga por uso.
  • ASP es un modelo pensado para ofrecer aplicaciones a unos pocos usuarios. Con SaaS, el servicio se ofrece a tantos usuarios como suscriptores.
  • ASP utiliza normalmente una infraestructura privada frente a SaaS que utiliza una infraestructura pública.

Para resumir, en un modelo SaaS:



  • El foco es el servicio frente a hablar de tecnología, aplicaciones, etc.
  • Los clientes pasan a ser virtuales.
  • Hablamos de plataformas de N clientes.
  • El cliente sale claramente beneficiado del modelo:

    • Menor coste e inversión inicial.
    • Menor riesgo.
    • Alta escalabilidad asegurada.
    • El cliente se centra en el negocio.
    • Aumenta la seguridad.
    • La respuesta ante los cambios es muy rápida.

Algunos ejemplos


En este artículo de Infoworld, se agrupan las soluciones SaaS en 4 categorías (que dejan fuera soluciones de otro tipo):



  • Soluciones de Back Office, que incluyen aplicaciones ERP, de compra, de RRHH, etc.
  • Soluciones de mensajería, es decir, de gestión de correos electrónicos, tratamiento de SPAM, protección frente a virus, etc.
  • Aplicaciones CRM.
  • Soluciones de integración.






SaS_Post2 SaS_Post3 SaS_Post4

¿Y desde el punto de vista tecnológico?


Hasta ahora hemos hablado del concepto de SaaS, las implicaciones asociadas al término, que supone para el desarrollador de software y para el cliente, así como algunos ejemplos de soluciones en modalidad SaaS. Pero, ¿qué implicaciones hay desde el punto de vista tecnológico? ¿qué consideraciones tecnológicas hay que tener en mente cuando pensamos en ofrecer soluciones SaaS?



  • Implicaciones tecnológicas para el fabricante de software:

    • Es necesario reescribir el código de las aplicaciones para que funcione correctamente en un entorno descentralizado, permite N-Usuarios y N-Empresas,…
    • Las aplicaciones tienen que incluir servicios que no existína tradicionalmente: monitorización, facturación, etc.
    • Gestión de la escalabilidad y los recuros en la medida en que la infraestructura de hosting puede ser compartida por distintas aplicaciones y un número indeterminado de usuarios.
    • Soporte 24×7, hay que asegurar a los clientes que las aplicaciones funcionan correctamente las 24 h y que no se producen anomalías en el servicio ofrecido.
    • Hay que elaborar un plan de puesta en marcha de mejoras continuas y nuevas versiones.
    • Seguridad en los datos y en las transacciones.

  • ¿Cómo voy hacia SaaS?

    • Diseño de la solución:

      • Sea escalable.
      • Permita N-Usuarios.
      • Sea fiable y permita la iteracción de múltiples usuarios.
      • No afecte a otras soluciones.
      • Integre los nuevos servicios y funcionalidades necesarios en una solución SaaS.

    • Elegir la mejor arquitectura para el servicio a ofrecer:

      • Tecnologías a utilizar: Java vs .NET, versión de .NET Framework, tecnología para la GUI, ….
      • Número de capas adecuado.
      • Sistema Operativo de los servidores.
      • Integración con otras aplicaciones (del cliente).

    • Formación ténica adecuada.
    • Preparar planes de contingencia para el outsourcing de las soluciones.

  • Dudas tecnológicas:

    • ¿Sólo son posibles las aplicaciones web dentro de SaaS? La respuesta es que no, se pueden contemplar escenarios offline y clientes ricos que utilicen las funcionalidades de los servicios hosteados. Esto también aplica al desarrollo de aplicaciones en el entorno de Microsoft Office.
    • ¿Me olvido de los dispositivos móviles? Para nada, en las soluciones que implementemos tendremos que contemplar una versión móvil del servicio.
    • Una solución SaaS, ¿está aislada o se puede integrar con otras aplicaciones / soluciones? La respuesta es que no es una solución aislada, sino que tiene que incluir los puntos de extensibilidad necesarios para que se pueda integrar con otros entornos.

  • Implicaciones en la arquitectura de la solución:

    • Requisitos fundamentales:

      • Escalable de manera natural, es necesario definir un plan de escalabilidad en nuestra aplicación para estar preparados ante un número de clientes crecientes y que se aseguren los tiempos de respuesta adecuados: mecanismos de caching, compartición de recursos, entrada / salida asíncrona, etc. Hay que tener en mente que en SaaS no vamos a tener una previsión de clientes / usuarios.
      • Configurable, se trata de que el usuario de manera intuitiva tenga una cierta experiencia de configuración: llegue a lo que para el es su modelo de aplicación.
      • Eficiencia, la solución funcione manera eficiente.

    • Seguridad, pues en el modelo SaaS vamos a tener datos de diferentes clientes.
    • Arquitectura SOA, se trata de concebir soluciones no aisladas, es decir, que puedan interoperar con otras aplicaciones o servicios: Windows Communication Foundation.
    • Permita personalizar y configurar la aplicación a medida de distintos clientes, pero utilizando la misma solución. Idealmente se trataría de compartir infraestructura (servidor IIS, servidor de BD’s) y utilizar metadatos para habilitar la personalización y configuración que exige una solución multicliente y multimarca.
    • Sea escalable a distintos niveles:

      • A nivel de aplicación.
      • A nivel de estructura de datos: esquemas de replicación, mantenimientos de referencias al cambiar estructuras de datos, etc.
      • Pruebas de Stress de la solución…es fundamental en un modelo SaaS hacer este tipo de pruebas teniendo en cuenta el modelo de aplicaciones hosteadas en el que se basa.
      • Capacity planning: tener previstos un plan de incremento de capacidad para prever situaciones incremento de carga.

    • Configurabilidad a distintos niveles (y que el usuario puede tocar):

      • Esquema de datos, hay que elegir entre las opciones de: tener una BD aislada, compartir la BD pero no las estructuras de datos, o bien compartir todo.
      • Procesos (workflows) y reglas de negocio…un ejemplo tipo es el workflow de aporbación que tenemos en WSS 3.0 & MOSS.

Post_SaS_5





      • Interfaz de usuario: se adapte a las caracteristicas del usuario. Para cliente web tendríamos las siguientes posibilidades tecnológicas para habilitar este nivel de configuración.

        • ASP.NET:Master Pages, Themes, Web Parts.
        • Silverlight (XAML).

    • Seguridad:

      • ¿Qué posibilidades de autenticación tenemos?

        • Centralizada (ASP.NET membership, STS: WCF).
        • Descentralizada (ADFS y SSO).

      • ¿Qué mecanismo de autorización defino…?


Un ejemplo de arquitectura alto nivel que englobe estas y otros consideraciones es la siguiente:


SaS_Post5 



  • ¿Cómo vamos a hacer la monitorización de la aplicación?

    • Lo primero es instrumentar que queremos monitorizar: eventos,contadoresderendimiento.
    • Luego hay que elegir las herramientas de administración: Powershell, MMC.
    • Creando un modelo de salud.
    • Establecimiento de métricas y facturación.

  • Y muchas cosas más….

Cómo véis, bajo el concepto de SaaS hay un montón de implicaciones funcionales y técnicas que hay que tener en mente a la hora de pensar en construir una aplicación en esta modalidad.  Por supuesto, en este post he comentado algunas de las implicaciones, pero hay muchas más que comprender y entender sobre SaaS. Finalmente, comentaros que desde Microsoft se está creando un ejemplo de aplicación SaaS: LitwareHR (se ha creado también la correspondiente sección en Codeplex). Espero que el post os haya resultado interesante.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

58 comentarios en “Software As a Service (SaaS): ¿Qué es?”

  1. Es la peor definición de SaS que he visto en mi vida, sin duda porque te la ha dado Microsoft que es el último mono en esta manera de vender o trabajar

  2. Hola José Luis,
    Ante todo he de decirte que las críticas son siempre bien recibidas, pero puestos a críticar es mejor hacer una crítica que sea constructiva en lugar de tu comentario…propón tu una definición mejor de SaaS (por cierto, esta no es la definición de Microsoft, puesto que Microsoft habla de Software + Services)…lo dicho, aporta ideas en lugar de ofender e insultar. De eso se trata este foro

    Un saludo

    JC

  3. Juan Carlos, un excelente overview de todo lo que hay en SaaS…

    y Jose Luis, por lo menos pudiste dar una buena definición de Saas… en fin…gracias Juan Carlos!

    Saludos,

  4. Hola Sergio!
    Gracias por tus comentarios…no se si las definiciones son las mejores, pero siempre trato de difundir lo que he aprendido y que considero interesante para la comunidad.

    Un saludo

    JC

  5. Hola a todos,

    La verdad es que habeis definido muy claramente el concepto del modelo de entrega Saas.

    Actualmente trabajo en Cetel Ingenieria de sistemas, la cual lleva unos 5 años desarrollando soluciones Saas para la gestión empresarial (ERP,CRM,CMS,TPV,CONTABILIDAD,E-LEARNING,…).

    Os invito a visitar nuestra Web (www.ilionsistemas.com) para conocer un poco más nuestra soluciones y servicios (S+S).

    Un saludo a todos,
    Sergio Escolano.

  6. Nosotros comercualizamos una solución de software que puede convertir cualquier aplicación desarrollada a un ambiente SaaS.

    Culauiqr duda, quedo a sus órdenes.

    Saludos.

  7. Hola,
    Articulo muy claro y enriquecedor.Enhorabuena.
    Solo un apunte de la definición, creo saas debe utilizar una infraestructura de comunicaciones pública (internet) para que el modelo resulte interesante a los proveedores del servicio por el coste al que lo ofrecen.
    Un saludo

  8. Muy buenas Jose Carlos, gracias por el comentario y por el apunte de la definición…por cierto, muy interesante tu blog. Me lo he apuntado en mi lista.

    Un saludo

    JC’s

  9. corto claro y comlpleto, buen artculo introductorio a SAAS, antes de entar solo conocia la sigla , ahoraay se de qu estan hablando
    gracias

  10. Gracias EDWIN,
    Hay que estar atentos a todo lo que gira en torno a SaaS. Va a dar mucho que hablar en los próximos años.

    Un cordial saludo

    JC’s

  11. Fantástico artículo sobre SaaS, de lo mejorcito que he encontrado por la red. Eso sí, yo no me fijaría sólo en SaaS, ya que el PaaS viene pegando fuerte también.

    Un saludo y gracias.

  12. Buena la exposicion sin embargo no mencionaste ninguna desventaja, yo enlopersonal marcaria 2 dudas al respecto, que hay de la seguridad en la informacion del cliente, hablemos tambien de los sistemas verticales, y de tener que adaptarse a un sistema general o deberas tandran capacidad para solucionar las miles de vcariantes de empresas …. saludos

  13. Muy buen artículo, con plena vigencia más de un año después desde su publicación. Ya en el 2009, parece que el término al que se referirán conceptos como el SaaS estará incluido en el cloud computing. Pero lo llamemos como lo llamemos, el software como servicio nos aporta múltiples beneficios a las pymes. Un cordial saludo y feliz 2009.

  14. Hola Juan Carlos,
    Me pareció muy interesante tu artículo, estamos organizando un evento de calidad en i empresa y me gustaría invitarte a dar una conferencia al respecto ¿te interesaría? si es así, por favor indícame como contactarte, mi correo es bpm@praxis.com.mx

  15. En primer lugar mis siceras felicitaciones por el esfuerzo y claridad del articulo.

    Para aquellos que me conoceis, siempre he estado ligado al maravilloso mundo del Business Intelligence. Disfrutando de maravillosos años y sufriendo la moda de bonitos pintagrafos en lugar de soluciones profesionales.

    Supongo que por ello, al final, me he animado a revolucionar un poco las formas de hacer, pues creo que desde mi empresa logro ofrecer lo mejor de la unión del SaaS y del ASP.

    Como me dijo un amigo y gran profesional, Emilio Casalduero, lo claro y sencillo es lo mejor. Pues bien, tras mucho esfuerzo he conseguido dotar de soluciones vivas y con mantenimiento correctivo y EVOLUTIVO a mis clientes, es decir, es como la LUZ, pagan por su necesidad, pero sin comprar centrales, cableados, transformadores, etc… Se acabaron la compras de licencias, los equipos, la busqueda de profesionales, las limitaciones del integrador oportunista, el “esto no entraba” o “esto se factura aparte”, etc….

    Si deseas más información, estoy a tu entera disposición.

    Lo dicho, gracias por tu articulo.
    Chema Arce.

  16. Muy buen detalle de SaaS, me queda la duda sobre la seguridad de la información, con los datos de varias empresas en la misma aplicación, cuales son las medidas de seguridad que se proponen para la explotación de datos ilegal.

    Gracias

  17. Saas es algo mas de lo que pensais, falta un pelin en la definición. pero tiene sentido para avanzar en el tiempo. Es S+S+G esto sería una apropiada dfinicion del concepto.

  18. Hola Juan carlos, aunque el artículo ya tiene casi 4 años de haberse publicado, el concepto técnico quedó muy bien claro y conciso. Me pregunto si podrías publicar el concepto completo asociado a CLOUD COMPUTING, es decir, IAAS+SAAS+PAAS.

    Gracias, Myriam Roque

  19. Concuerdo con la Mayoria, a pesar vdel tiempo en que se escribio el articulo es claro y conci lo que lo hace facilmente compresible a cualquiera que lo lea. Felicitaciones

  20. Es muy importante no confundir, lo que es SaaS de lo que es computación en la nube, no son sinónimos, lo que ustedes describen es Cloud Computing

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *