Lead in VUCA times

Estrategia e Inteligencia para la acción a=[ei]2

Como hacer aplicaciones SaaS

El Blog del Centro de Innovación en Integración de Cantabria, da una amplia definición sobre el concepto SaaS, pero me ha parecido sumamente interesante las indicaciones sobre lo que hay que tener en cuenta para realizar una aplicación 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ían tradicionalmente: monitorización, facturación, etc.
◦ Gestión de la escalabilidad y los recursos 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 aprobación que tenemos en WSS 3.0 & MOSS.
▪ 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…?

• ¿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.
◦ …

8 comments about Como hacer aplicaciones SaaS

  • El post esta bien… pero el concepto esta gastado… primero Application Server Provider (v. 1.0) que no llego a funcionar nunca y ahora SaaS como respuesta a las aplicaciones que estan poniendo algunos gratis y que sirven incluso como entorno de colaboracion (lease Google).
    Yo creo

  • Pues yo pienso (en respuesta a los comentarios) que aunque existan aplicaciones gratis en Internet siempre hay mercado y cabida a aplicaciones personalizadas y privadas…
    Ahora y con tu permiso me permito agregar algo a la lista sobre lo que hay que tener en cuenta para realizar una aplicación SaaS:

    – Una buena plataforma backoffice de atención al cliente incluyendo un pool de agentes móviles que puedan desplazarse in-situ cuando la empresa cliente lo requiera.

    Buen post
    Slds
    SM

  • Desde luego … estoy de acuerdo contigo Senior Manager. Lo uno no quita lo otro… o no es lo que pretendia yo decir.

    Lo que tratabe de decir, es que SaaS, me parece mas una re-invencion que una innovacion (mi opinion… por supuesto).

  • Hola,
    Buen post.
    Creo la tendencia seguirá creciendo y que las empresas más conservadoras adopten el modelo dependerá de su confianza en la seguridad de sus datos y la accesibilidad del servicio.
    No obstante, ambas tendencias seguiran conviviendo por muchos años.
    Un saludo

  • Hola Javier;
    Desearia me pudieses colaborar con Informacion sobre alguna entidad que preste los servicios de
    Hosting para Aplicaciones SaaS.

    Pues estoy requiriendo una cotizacion urgente de estos servicios.

    Cordial Saludo

    Leonel R.M
    Ing. sistemas
    Medellin Colombia.

Responder a Jose Carlos Moreno Cancelar respuesta

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

Categories

Tags

actuar amigos amor anglofilia apple arquitectura atraccion autoridad Autoritas blackberry blogs Cambio change Clientes Comunicacion convergencia IT democracia deutsche telekom e government empresas 2.0 Estadisticas Estrategia excelencia felicidad Formación General Governance y Comunicación habitos human resources Internet IT Business management Marketing mascaros Open Government outsourcing Personal projects public sector redes S.R.Covey Tecnologia telcos Tiempo web 2.0