Modelos de servicio de la computación en nube, Parte 3: Software como un Servicio

Explore los cuatro factores principales que generan ingresos sobre la inversión para desarrolladores de Software como un Servicio y sobre cómo esos factores son aprovechados para hacer que el SaaS sea rentable para los accionistas. En este artículo final de una serie de tres, descubra las oportunidades de modelo de negocios que presenta el SaaS y conozca más sobre el papel del diseño de experiencia de usuario para aplicaciones SaaS.

En esta serie de tres partes, de ejemplos sencillos y del mundo real sobre computación en nube, ayuda a eliminar la confusión que hay en torno al concepto. Cada artículo de esta serie cubre uno de los tres modelos de servicio: Infraestructura como un Servicio (IaaS), Plataforma como un Servicio (PaaS) y Software como un Servicio (SaaS).

Dan Orlando, Nhà tư vấn, Creative RIA

Photo of Dan OrlandoDan Orlando es un reconocido líder en la comunidad de desarrollo empresarial. Como consultor durante largo tiempo, el experticio de Dan en plataformas de tecnología Adobe es solicitado con frecuencia por líderes de la industria y también por publicaciones como IBM developerWorks, Adobe Developer Connection y Amazon Web Services. Dan también puede encontrarse en los blogs con regularidad en DanOrlando.com.



30-01-2012

El Software como un Servicio proporciona acceso basado en red a software disponible comercialmente. Es posible que usted ya haya usado SaaS, incluso sin saberlo en ese momento. Algunos ejemplos del SaaS incluyen Netflix, Photoshop.com, Acrobat.com, Intuit QuickBooks Online, Gmail y Google Docs. Las implementaciones de SaaS que pueden ser un poco menos obvias incluyen una porción significativa del creciente mercado de aplicaciones móviles.

Acrónimos de uso frecuente

  • API: Interfaz de Programación de Aplicaciones
  • GUI: Interfaz gráfica de usuario
  • TI: Tecnologías de la Información
  • LAN: Red de área local
  • ROI: Retorno sobre la inversión
  • IU: Interfaz de Usuario

El SaaS representa el potencial para una forma de bajo costo para que los negocios usen software—usándolo por demanda y no comprando una licencia para cada computadora, especialmente si considera que la mayoría de computadoras permanecen sin usar casi el 70% del tiempo. En lugar de tener que comprar múltiples licencias para un solo usuario, entre más cerca esté un negocio de poner su licencia en uso el 100% del tiempo, más dinero ahorrará ese negocio.

La matriz de conceptos cruzados de los tres servicios, proporcionada en la Parte 1 de esta serie se suministra de nuevo a continuación en la Tabla 1 para su conveniencia.

Tabla 1. Matriz de conceptos cruzados para las tres clasificaciones de la computación en nube
Cambio de paradigmaCaracterísticasTérminos claveVentajasDesventajas y riesgosCuando no usarla
Infraestructura como un Servicio (IaaS)Infraestructura como un activoNormalmente independiente de la plataforma; los costos de la infraestructura se comparten y por lo tanto se reducen; acuerdos de nivel de servicio (SLAs); pago por uso; auto-escalamiento Computación en cuadrícula, computación de herramientas, instancia de computación, hypervisor, cloudbursting, computación multi-tenencia, agrupación de recursos Evita los gastos de capital en hardware y recursos humanos; riesgo de ROI reducido; bajas barreras a la entrada; escalamiento optimizado y automatizado La eficiencia y productividad de los negocios dependen ampliamente de las capacidades de proveedor; costo a largo plazo potencialmente mayor; la centralización requiere nuevas/diferentes medidas de seguridad Cuando el presupuesto de capital es mayor que el presupuesto operacional
Plataforma como un Servicio (PaaS)Compra de licenciasConsume infraestructura de nube; se encarga de métodos ágiles para gestión de proyectosPila de soluciónImplementación de versión optimizadaLa centralización requiere nuevas/diferentes medidas de seguridadN/A
SaaSSoftware como un activo (negocios y consumidor)SLAs; IU potenciada por aplicaciones de "cliente ligero"; componentes de nube; comunicación vía APIs; sin estado; acople ligero; modular; interoperabilidad semántica Cliente ligero; aplicaciones de cliente-servidorEvita los gastos de capital en software y recursos de desarrollo, riesgo de ROI reducido, actualizaciones optimizadas e iterativas La centralización de datos requiere nuevas/diferentes medidas de seguridadN/A

Los cuatro factores principales de ROI para el SaaS

El SaaS presenta nuevas oportunidades para los proveedores de software. En particular, hay cuatro factores principales que citan los proveedores de software SaaS como los que conducen a un mayor ROI:

  • Mayor velocidad de implementación
  • Mayor adopción por los usuarios
  • Requisitos de soporte reducidos
  • Costos reducidos de implementación y de actualizaciones

Velocidad de implementación

Las aplicaciones tradicionales de escritorio han incluido históricamente obstáculos de implementación significativos. De hecho, he oído a desarrolladores de aplicaciones de escritorio referirse a la actualización de sus aplicaciones como una "pesadilla de implementación" en varias oportunidades. Como Tariq Ahmed afirma en el primer capítulo de Flex 4 in Action (Manning Press), "Las complicaciones logísticas de intentar que miles, si no cientos de miles de clientes ejecuten la versión precisa de su software al mismo tiempo, son inmensas".

Ahmed continúa diciendo que tales complicaciones son tan grandes que la mayoría de las compañías de desarrollo de software para equipos de escritorio ni siquiera lo consideran razonable ni viable. Los desarrolladores que han luchado con esto en el pasado son buenos candidatos para implementar versiones SaaS de su software. No obstante, la mayor barrera que enfrentan las empresas de software tradicionales para entrar en el mercado de SaaS es hacer posible que las aplicaciones de escritorio se ejecuten como aplicaciones SaaS. En muchos casos, hacer esto incluye reescribir el software hasta algún nivel, lo cual algunas compañías encuentran demasiado prohibitivo por costos.

Esta es una de las principales razones por las que el movimiento de la computación en nube ha sido un proceso lento y gradual. En la mayoría de los casos la solución lógica es mover el software hacia la nube en fases, comenzando con una versión altamente escalonada de forma descendente de la aplicación original, proporcionada como SaaS. Esto tiene un sentido obvio cuando se considera el nivel de control que tiene el desarrollador sobre el control de versión. Es también aquí donde la anatomía específica del SaaS juega un rol significativo.

Usted puede ver muchas similitudes entre la computación en nube y la "computación LAN" de los años pasados. Una arquitectura LAN típica consistía en una matriz de estaciones de trabajo en el sitio, a las que con frecuencia se denominaba terminales ficticias, que ejecutaban aplicaciones al conectarse a una unidad principal potente, normalmente suministrada por IBM, como se ve en la Figura 1.

Figura 1. Un diagrama simple que muestra la relación de las terminales cliente y del sistema de unidad principal en una LAN básica
Un diagrama simple que muestra la relación de las terminales cliente y del sistema de unidad principal en una LAN básica

Este tipo de computación funcionaba bien para las empresas, porque los departamentos de TI tenían el último nivel de control sobre las versiones y las actualizaciones que se podían implementar bajo una dinámica iterativa y sin problemas, con pocos o ningún obstáculo. De forma similar, las barreras logísticas que evitaron el control de versiones para los desarrolladores de aplicaciones de software de escritorio en el pasado, no existen en la nube, porque el software se ejecuta en una infraestructura a la que la compañía de desarrollo tiene acceso inmediato.

El tamaño y la escala de la infraestructura SaaS son claramente masivos en comparación con el de una LAN, considerando el número de clientes que debe estar en capacidad para servir. Pero el concepto subyacente es el mismo. Mientras que la Figura 1 muestra una unidad principal individual que es capaz de hospedar suficientes instancias de software para servir a todos los clientes que se conecten a ella dentro de la red local, la Figura 2 muestra una nube que consiste en muchos recursos computacionales diferentes, donde todos contribuyen al poder computacional total que puede ejecutar las muchas instancias de software requeridas para atender a clientes de todo el mundo.

Figura 2. Un diagrama simple que muestra la relación de dispositivos clientes hacia la nube en SaaS
Un diagrama simple que muestra la relación de dispositivos clientes hacia la nube en SaaS

Mayor adopción

Si usted se aparta un momento de los negocios para observar lo que el SaaS hace para el consumidor promedio, encontrará que el SaaS pone a disposición software que antes podía haber costado una licencia bastante alta para que fuera razonable para que la usara el consumidor promedio. Un buen ejemplo son los esfuerzos de Adobe para hacer que Adobe® Photoshop® sea un SaaS. Aunque este todavía es un trabajo en progreso y ha sido un experimento en evolución para Adobe, aún así muestra avances. Por ejemplo, he notado un creciente número de amigos y familiares míos que están comenzando a preferir el uso de Photoshop.com para edición básica de fotos, en lugar de usar la versión completa cuando necesitan llevar a cabo tareas básicas de edición de fotografías. Lo significativo de esto está en el hecho de que las personas que no necesitan las funcionalidades contenidas en la versión completa ahora ahorrarán dinero. Mientras tanto, otras personas que están usando Photoshop.com no lo habrían considerado antes, lo cual presenta una oportunidad para Adobe para capturar clientes a largo plazo a los que no tendría acceso de otra forma.

Los diferentes modelos de negocios para el SaaS son particularmente intrigantes. Por ejemplo, Intuit ofrece QuickBooks Online como un SaaS con un cargo de servicio mensual. Como propietario de un negocio que viaja mucho, he encontrado que esto es particularmente útil, especialmente porque mi asociado de negocios vive a 640 kilómetros de distancia, en otro estado. Mientras tanto, Adobe aprovecha el poder del SaaS con Photoshop.com y Acrobat.com ofreciendo el software como un servicio freemium—un término que se ha acuñado para describir un modelo de negocios particular basado en un ofrecimiento SaaS de menor escala de un producto de software licenciado.

El SaaS freemium se basa en un modelo de ingresos donde se anticipa que cierto porcentaje de los usuarios gratuitos eventualmente encontrarán lo suficientemente útil subir de categoría hacia una versión pagada del SaaS que tenga recursos adicionales activados, o a una copia licenciada de la versión de escritorio del software que incluya todos los recursos y funcionalidades adicionales disponibles. Este tiende a ser un método preferido para probar software en modo de "demo restringido", en comparación con tener que instalar una aplicación en su escritorio que tal vez no termine comprando. Adicionalmente, este modelo puede complementarse más con publicidad si la tasa de usuarios gratuitos que pasan a versiones completas es menor de la esperada. Este es un método común que los proveedores tradicionales de software de escritorio usan para adaptarse en un mercado cambiante, a medida que la computación en nube continúa evolucionando.

Requisitos de soporte reducidos

El costo de grandes mesas de ayuda para servicio al cliente y el problema del aumento de problemas con soporte que ocurre como resultado de tener que soportar múltiples plataformas es ampliamente mitigado con el SaaS. Para quienes están comenzando, la facilidad de implementación permite a los desarrolladores implementar reparaciones poco después de que los errores se identifican inicialmente, lo que significa que la mayoría de errores pueden arreglarse antes de que la gran mayoría de usuarios los note, lo cual da como resultado menos llamadas telefónicas de soporte al cliente, así como mayor probabilidad de satisfacción y retención de clientes.

Adicionalmente, los fabricantes de aplicaciones de software de escritorio tradicionales a menudo tienen que dar soporte a más de una plataforma. Por ejemplo, un desarrollador que debe soportar los sistemas operativos Windows® 7 y Apple Mac OS X versión 10.6 casi que ha duplicado el costo del desarrollo tan solo al añadir soporte para un segundo sistema operativo—y esto es antes de tener en cuenta los problemas asociados con el soporte de las diferentes versiones de tales sistemas operativos. Dar soporte a múltiples versiones de un sistema operativo también presenta limitaciones.

por ejemplo, si usted está creando un programa para que se ejecute en Windows 7, pero tiene que ser compatible con Windows XP, debe tener mucho cuidado para que los recursos y las funcionalidades puedan ejecutarse en ambas versiones; en caso contrario, se verá forzado a ramificar el proyecto nuevamente, con lo que terminará con bases de código aparte para cada uno, lo cual inevitablemente reduce la productividad y la eficiencia y aumenta sus estimaciones de tiempo para terminar. Una de las formas más rápidas para darle un infarto a un ejecutivo de negocios es decirle que las fechas límite estimadas para el equivalente a los siguientes dos años de iteraciones se han duplicado. Añada a eso el aumento en el presupuesto para soportar los diferentes sistemas operativos y las diferentes versiones de esos sistemas operativos, y (entre otras cosas), no es extraño si usted ve tal tasa de fracaso en proyectos de desarrollo de software en el presente.

Costos reducidos de implementación y actualizaciones

El cuarto factor generador de ROI para el SaaS es un poco similar al primero. Sin embargo, la velocidad de implementación describe la ventajas logradas al poder implementar actualizaciones de aplicaciones rápidamente y sin problemas. En contraste, el costo reducido de la implementación y las actualizaciones describe los beneficios financieros para la compañía de desarrollo, los cuales se obtienen como resultado de tener el control sobre las versiones y de la infraestructura que ejecuta el software.

Un gran ahorro para el desarrollador proviene de no tener el costo inicial adicional de probar e implementar reparaciones y nuevos recursos en múltiples plataformas, porque el desarrollador tiene control sobre la plataforma en la que se ejecuta el software— lo cual normalmente es totalmente transparente para el usuario. Esto hace que la ruta de actualización para aplicaciones SaaS sea menos restringida por los costos. El resultado financiero indirecto proviene de la satisfacción y la retención del cliente, porque los ahorros significativos en tiempo y dinero proporcionan al desarrollador la oportunidad de lograr un mayor nivel de capacidad de respuesta a solicitudes de recursos y a facilidad de uso mejorada.


El SaaS y el diseño de la experiencia del usuario

Las aplicaciones SaaS representan un tipo de enfoque de nueva generación en cuanto al diseño de aplicaciones. Aunque puede no estar declarado técnicamente en ninguno de los documentos que he visto hasta la fecha, parece que los programas SaaS incluyen un enfoque moderno del diseño de IU que es más coherente con el proceso de diseño de producto que se ve en la mayoría de las otras industrias. Este enfoque incluye un proceso conocido como diseño de experiencia de usuario (UXD), donde la GUI es diseñada por un equipo de producto y no por el equipo de desarrollo.

El objetivo principal del UXD es identificar qué hará que la aplicación sea más útil para el cliente objetivo base, e incluir ese conocimiento como parte del diseño. Aunque se puede argumentar lógicamente que esto se debe presentar en el desarrollo de cualquier tipo de software, parece prevalecer más entre desarrollo de aplicaciones SaaS. Tal vez la razón para esto tenga que ver con los diferentes modelos de negocios disponibles con SaaS, comparados con los del software tradicional, así como con los ahorros sustanciales logrados del desarrollo de SaaS.


SaaS para desarrolladores

Como ha aprendido, la computación en nube en plenitud es una transición masiva tanto para empresas como para consumidores y se deben superar muchos retos. Como resultado, el proceso tomará tiempo y pasará por varios periodos de cambio gradual. Durante esta evolución en la computación, es crítico para las empresas de software poder adaptarse al entorno cambiante para continuar satisfaciendo las necesidades de empresas y consumidores por igual.

Así como los negocios deben estar en capacidad de moverse con el entorno cambiante a medida que evoluciona la computación en nube, los programadores de software necesitarán adaptar sus habilidades y entender los modelos de programación SaaS para poder actualizarse y mantenerse en el mercado. La computación en nube no solo es sobre infraestructuras escalables y portabilidad de plataformas mediante la virtualización. También lleva el software a un nivel totalmente nuevo y representa lo que podría razonablemente considerarse la próxima generación en programación de computadoras. Esta tal vez sea una afirmación audaz, pero considere las oportunidades que presenta el SaaS que se trataron en este artículo.

Por ejemplo, la asequibilidad significa mayor disponibilidad, lo cual resulta en una mayor base de clientes potenciales. Añada a eso los ahorros que se derivan directamente de tener el control sobre la plataforma, la infraestructura y las versiones del software, y rápidamente se hará evidente que el SaaS trae consigo cierto nivel de "democratización" donde los talleres de desarrollo pequeños y medianos pueden jugar en el mismo campo que los grandes.


Conclusión

En este artículo, usted aprendió sobre la anatomía del SaaS, la tercera clasificación de la computación en nube. Más importante aún, aprendió sobre las oportunidades y retos que presenta la creciente popularidad de las aplicaciones SaaS.

Mi esperanza es que después de haber leído los tres artículos de esta serie usted tenga una idea más clara de lo que significa la computación en nube para el futuro de su carrera o negocio. Además de los recursos proporcionados por la IaaS y la PaaS en los dos artículos anteriores, la sección Recursos proporciona enlaces hacia más información sobre el SaaS para usted.

Recursos

Aprender

Comentar

  • Participe en la Comunidad My developerWorks. Conéctese con otros usuarios developerWorks mientras explora los blogs, foros, grupos y wikis dirigidos a desarrolladores.

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Cloud computing
ArticleID=789488
ArticleTitle=Modelos de servicio de la computación en nube, Parte 3: Software como un Servicio
publish-date=01302012