Archivos para 25 mayo 2011

[Video] ¿Qué es el software como servicio?

Con tanto “ruido” y novedades acerca del Cloud Computing y el Software-as-a-Service he notado que existe algo de confusión con los términos. Inclusive existe un sobreuso de los mismos. Debido al “momentum” tan positivo que existe para las aplicaciones en la Nube, muchos proveedores de software mercadean sus aplicaciones de negocios como “de Nube”. Aunque muchas de ellas sí lo son, existe una gran mayoría que únicamente aprovechan el concepto para vender sistemas de información con un modelo ya bien conocido: el de proveer una aplicación vía la Web o Internet. Esto no es necesariamente “Software como Servicio” (o aplicaciones de Nube).

Un excelente video que nos clarifica varios conceptos acerca del Software-as-a-Service o aplicaciones de negocio “en la Nube” es el siguiente, creado por la empresa norteamericana Salesforce. El video es muy bueno; lo recomiendo. Y por supuesto, debo aclarar que aunque no tengo ninguna relación con esa empresa, sí tengo en cartera de mis servicios, la consultoría de implantación de productos de Salesforce.


Fuente del video: Salesforce.com

¿Qué distingue entonces a una aplicación de negocios “de Nube” o al software como servicio? OJO: No estoy incluyendo aquí el servicio de Infraestructura de Hardware en la Nube (Infraestructure as a Service – IaaS) sino especícamente el caso del software de aplicaciones de negocios en la Nube. Sus características distintivas:

  1. Existe una sola aplicación (una sola instalación) para muchas empresas clientes. Es decir, usa Arquitectura Multitenancy (en el video esto lo traducen como Multiusuario). Y por tanto, la aplicación debe ser escalable.
  2. Cada una de las empresas clientes podrá configurar su propia aplicación y determinar los usuarios que la usarán. El uso del software se realiza vía el browser o navegador de Internet.
  3. El modelo de uso del software es vía renta o suscripción. La aplicación no es instalable en equipos de la empresa cliente, ni dentro ni fuera de ella. Y lógicamente no existe el concepto de “licencias de uso”.
  4. No importa, en lo que a la aplicación concierne, qué infraestructura de hardware la soporta. El hardware no es de la empresa que usa la aplicación y tampo esto debe ser importante para la empresa cliente.
  5. Los beneficios principales son: costo menor; accesibilidad desde cualquier lado y en cualquier momento; actualizaciones automáticas (siempre al día).

Creo que la mayor confusión que existe es al confundir una aplicación de Nube y una aplicación Web. Las aplicaciones de Nube son necesariamente aplicaciones Web. Pero no viceversa pues la gran mayoría de las aplicaciones de Internet no están basadas en Arquitectura Multitenancy.

That is it. Eso es. Entonces cuando les ofrezcan una aplicación de negocios de Nube o Software-as-a-Service, regresen a ver los 3 minutos del video y pregúntense si el software es realmente de Nube.

, , , , , ,

1 comentario

[Video] Multitenancy con Ruby on Rails

Una de las características esenciales de las aplicaciones para la Nube es su arquitectura de Multitenancy. La arquitectura multitenancy implica una sola instancia de la aplicación y una sola base de datos para múltiples empresas clientes quienes usan la aplicación de negocios de acuerdo a sus necesidades. Para cada empresa cliente es como si la aplicación fuera únicamente para ellos. El concepto de Multitenancy es fácil de entender cuando lo comparamos con lo que no es Multitenancy. Veamos:

1. Una aplicación que desarrollamos y que aunque está lista para funcionar en Web e Internet (o en Intranet), tenemos que instalarla nuevamente cada vez que alguna empresa la requiere. Así, si hacemos 10 instalaciones (aunque sea en el mismo servidor Web físicamente; o sea, en la misma infraestructura) tenemos 10 Bases de Datos y 10 instancias de la aplicación. Si el sistema tenemos que corregirlo o hacer algún upgrade tendríamos que hacerlo 10 veces. So, esa aplicación aunque funciona en Web e Internet NO es Multitenant. Sí; es una aplicación Web pero No es una aplicación de Nube. De hecho este es el típico modelo anterior que se usaba en los servicios de los Application Service Providers (ASP).

2. Una aplicación masiva (muchos usuarios) tales como Facebook o Twitter no se considera Multitenant porque su modelo de separación de datos está basado en el Rol de Acceso de los usuarios que Inician Sesión. Es decir, todos los usuarios ven lo mismo (o casi) basándose en los permisos que le otorga el sistema. Aunque es una base de datos, los usuarios no entran a un espacio donde sus datos están separados de los demás.

3. Siendo así, la característica fundamental de una aplicación Multitenant es que tengamos una sola base de datos para las 10 ó 100 ó las que sean empresas clientes de nuestra aplicación. Un ERP Multitenant (o sea, de Nube) tendrá una única base de datos y una sola instancia de la aplicación. Si debemos corregir un error o hacer un upgrade bastará con que lo hagamos una sola vez y todos las empresas clientes del ERP recibirían el beneficio de manera inmediata. Buenos ejemplos: Salesforce, Zoho, Paymo, entre muchos.

Con esto en mente, vean este excelente video donde Guy Naor, CTO de MorphLabs, explica cómo diseñar una aplicación Ruby on Rails con Arquitectura Multitenancy y, por ende, una aplicación 100% de Nube. Si eres un Rails Developer o Rails Architect y estás por empezar una aplicación Nube Multitenant, entonces este video es imperdible..!

Vodpod videos no longer available.

Fuente: Confreaks 2009

, , , , , ,

Deja un comentario

Más de monetización para dispositivos móviles

Long TailEn post anterior describía de manera general algunas alternativas para monetizar (o generar ingresos) de aplicaciones para dispositivos móviles (smartphones y tabletas). Si no lo han leído los invito a hacerlo ahora antes de leer el presente post. En este, me enfocaré principalmente en el modelo de ingresos de vender la aplicación por un precio muy bajo, típicamente entre 1 y 5 dólares, aunque esto puede variar alrededor de esas cifras. Por cierto, una aclaración muy importante es que este post se refiere a aplicaciones móviles que son descargadas desde un servidor Web e instaladas en los móviles. No se refiere a aplicaciones de Nube que son accedidas desde dispositivos móviles. Ambas realidades son bien distintas como mencionaba aquí: Aplicaciones para móviles.

Anteriormente cuando uno quería comprar un software, uno acudía al proveedor y compraba una licencia de dicho software. Dependiendo de la naturaleza y complejidad de la aplicación, el software podía costar desde una cantidad relativamente pequeña (50 dólares, por ejemplo, los antivirus) hasta cientos de miles de dólares tales como las licencias de los programas de ERP (Enterprise Resource Planning) corporativos. En el caso de latinoamérica una empresa podría invertir en el desarrollo de un software y con un poco de suerte lograr colocarlo en el mercado por precios mínimos de unos 500 dólares (como algunos paquetes contables básicos).

Sin embargo, este modelo sería completamente inadecuado para el mercado de aplicaciones para smartphones (iPhone, Android) y tabletas (iPad, Motorola Xoom, Samsung Galaxy) ya que a esos precios las aplicaciones difícilmente serían vendidas. Pero, los costos de desarrollo de software son bastante equivalentes al desarrollo de software para Desktop. Es decir, también para desarrollar software para móviles las empresas requerimos uno o más desarrolladores Web, e idealmente diseñadores, analistas, mercadólogos, etc. Toda una infraestructura de desarrollo y venta de las aplicaciones. ¿Cómo podemos cubrir esos costos si el mercado no paga en licencias de software lo mismo que para aplicaciones Desktop o empresariales?

La respuesta es la Long Tail. Esta “teoría” nos sugiere que el número total de las ventas de una industria está dividida en dos: los artículos populares que todo distribuidor quiere vender porque alcanzan una gran masa de población en poco tiempo, y aquellos artículos muy raros que gustan a pocas personas (o requieren pocas empresas) y que, por tanto, casi ningún distribuidor quiere vender. Sin querer detallar mucho el concepto de Long Tail (les sugiero leer el fascinante artículo de Chris Anderson que popularizó el concepto), esta teoría indica que, sorprendentemente, el volumen más grande de ventas está en los artículos raros pero clásicos o de gustos particulares (p.ej, “Rapsodia Bohemia” de Queen versus la última canción de Shakira) dado que se sostienen por mayor tiempo.

Para querer acceder a dichos mercados, sin embargo, es necesario que la distribución de este tipo de artículos o productos tenga dos características: se sostenga disponible a la venta durante mucho tiempo pero sin elevar los costos de distribución iniciales; y que sea altamente disponible (“encontrable”). Y es entonces cuando observamos que los productos digitales son ideales para aprovechar el Long Tail ya que los costos de distribución durante el tiempo son realmente mínimos. Únicamente se coloca el archivo digital (de música, de software, libros digitales, etc.) en un servidor de Internet y listo. A esperar las descargas de los clientes.

La disponibilidad debe hacerse vía un sitio Web que sea fácilmente encontrable por los usuarios en todo el mundo. Mientras más específico (o especial o raro) sea nuestro producto digital (por ejemplo la canción de Rapsodia Bohemia de Queen en el último cocierto de Freddie Mercury) más fácil será que el usuario llegue a nuestro sitio Web a descargarlo.

Todo lo anterior nos lleva al mercado de las aplicaciones para dispositivos móviles. Si queremos tener éxito con la comercialización de una aplicación en particular, además de la calidad y de la suerte (que también es un factor esencial en el éxito que podamos tener), debemos tener en cuenta que nuestra aplicación sea:

1) Altamente disponible. Muy bien descrita y ubicable en el App Store, Android Market, Blackberry App store, Nokia Ovi store, etc. donde quiera que hayamos decidido distribuirla (incluyendo, cuando sea posible, en un servidor Web propio; en este caso usando técnicas de SEO -Search Engine Optimization- para que sea fácilmente encontrable por los buscadores)

2) En extensión al punto anterior, la aplicación debería ser descargable a nivel mundial. Es decir, altamente disponible a nivel global para acceder a un mercado muy grande

3) Muy barata. El precio no debería disuadir a ningún fanático de la aplicación para comprarla, a veces hasta por impulso dado que la inversión le debe representar casi cero

4) Que resuelva una necesidad muy específica. Mientras más específica (particular o rara), mejor pues será difícil encontrar aplicaciones competidoras.

Ante un escenario así, resulta mucho más atractivo el mercado de desarrollo de software para dispositivos móviles y mucho más atractivo invertir en desarrollarlas. Gracias al concepto de Long Tail, las apps para móviles pueden tener un nicho de mercado muy bueno y resultar ser rentables aún a precios excesivamente bajos.

, , , , , ,

1 comentario