Entradas etiquetadas como Estrategia Web

El Software como Servicio y Aplicaciones Web

Software como Servicio y Aplicaciones WebEl Software como Servicio (mejor conocido como SaaS por sus siglas en inglés de Software as a Service), es hoy día una de las tendencias más tangibles y fuertes en el mundo de la tecnología. Cuando hablamos de Computación en la Nube o Cloud Computing, muchas veces estamos hablando realmente del Software como Servicio. Podemos decir que Infraestructura como Servicio (IaaS: Acceso, vía Internet, a recursos computacionales de hardware), Plataforma como Servicio (PaaS: Acceso, vía Internet, a recursos de desarrollo de software) y Software como Servicio son las tres principales variantes que conforman el movimiento de Computación en la Nube.

¿Software vía Internet? ¿Pero no son las aplicaciones Web, software que se usa y se consume vía Internet? Efectivamente así es. Pero entonces, las aplicaciones Web tienen años desarrollándose. Desde finales de la década de los 90s ya se hacían desarrollos en PHP o en ASP. Entonces, ¿porqué SaaS es una tendencia nueva? Bien, la respuesta corta es que efectivamente todo el software como servicio son aplicaciones Web (ya sea tradicionales o también algunas aplicaciones para móviles). Sin embargo no todas las aplicaciones Web pueden ser consideradas software como servicio. Más bien yo diría que, hoy día, muy pocas podrían ser consideradas así.

La diferencia esencial estriba en el concepto de Multitenancy. Este concepto tiene ligeramente diferentes significados (aunque todos similares) ya sea que estemos hablando de IaaS, PaaS o SaaS. En el caso del software se refiere a la capacidad que éste tiene de tener varias empresas usuario (o tenants) en la misma instalación de software. Por ejemplo, si un sistema CRM debe prestale el servicio a dos empresas que nada tienen en común, y además dicho CRM no necesariamente tiene que ser instalado dos veces (una vez para cada empresa), entonces estamos hablando de SaaS. Es decir la misma instalación de software (y la misma instancia de ejecución de dicho software) atiende a dos o más empresas distintas. De hecho, típicamente atiende a muchas empresas con una sola instalación.

En los casos donde se tuviese que hacer una nueva instalación del software por cada empresa usuaria (aunque fuese en el mismo servidor Web), entonces estaríamos hablando de una aplicación Web normal. Dicho de otro modo, para ser SaaS la empresa usuaria del software, debe tener una clave y una contraseña (típicamente muchas de hecho, para cada uno de sus empleados) que le permita al software saber de qué empresa se trata.

A nivel técnico crear software SaaS tiene algunas implicaciones. La más importante quizá (pero no la única) es que la Base de Datos debe estar bien diseñada para soportar Multitenancy, típicamente con algún mecanismo (existen varias soluciones) para que en sus tablas de información se guarde el código de empresa y, de esa manera, fácilmente la aplicación pueda mantener una “Vista” de la información de la empresa.

¿Y si usted es un proveedor de software que quiere desarrollar SaaS versus una Aplicación Web tradicional? Bueno, debe tener esto claro, para poder diseñar adecuadamente el software y más importante aún para hacer las adaptaciones a su modelo comercial (ya no licencia o venta del software sino vía alquiler del mismo). En mi caso particular, con Arckanto software estamos ya inmersos en la conversión de una aplicación Web (sistema de operaciones microfinancieras) hacia el modelo técnico y comercial de Software como Servicio.

¿Y si usted es una empresa que quiere desarrollar SaaS para su propia empresa o para beneficio de sus clientes individuales (como lo hacen hoy día la mayoría de los bancos, por ejemplo)? En este caso la diferencia entre SaaS y aplicación Web no tiene mayor relevancia, quizá ninguna. ¿Y si usted es una empresa que quiere comprar o rentar software? Bueno, tener claro que tendrá varios beneficios si el software es verdaderamente SaaS y no solo una aplicación Web tradicional, siendo los dos principales beneficios el que no tiene que desembolsar una inversión grande inicial en licencias (aunque el costo final es similar en ambos casos) y el hecho de que las actualizaciones y mejoras del software usted las obtendrá de manera automática (pues el proveedor mantiene una sola instancia de la aplicación).

Al final, quizá lo importante de todo esto es que el mundo del software está cambiando a ritmo vertiginoso. Precisamente el mes pasado di una charla sobre Tecnologías Emergentes para las cámaras de tecnología de información y de exportadores de Costa Rica (CAMTIC y CADEXCO) donde les describía esta tendencia: el 85% (¡sí, 85%!) del nuevo software para el año 2015 será entregado a las empresas bajo el modelo SaaS, de acuerdo a este artículo de la empresa Samanage basado en datos de la consultora Gartner. Es una buena noticia para todos, tanto empresas como proveedores de tecnología. A nivel mundial existe ya mucho software de negocios entregado bajo el modelo SaaS, aunque en América Latina es aún muy incipiente. Pero hay que ir pensando en el cambio ya.

Y finalmente, este video explicativo (versión inglés) de InfoWorld, sintetiza muy bien en dos minutos los principales elementos del concepto de SaaS. Recomendado.

, , , , , ,

2 comentarios

Las redes sociales – ¿Mercadeo o TI?

Social Networks

Últimamente he oído mucho sobre el debate existente sobre si las Redes Sociales, particularmente el caso de Facebook y Twitter, es un área que debe conocer, usar, aprovechar y especializarse desde el área de Marketing de una empresa o desde el área de Tecnología de Información (TI). Dicho de otro modo, la estrategia de Redes Sociales ¿debe ser guiada por Mercadeo o por TI? El debate es muy similar al que había hace unos años sobre los proyectos de Comercio Electrónico (debate en el que personalmente tengo la misma opinión que la que aquí escribo: el E-commerce es un tema de negocios).

Haciendo un breve descargo de responsabilidad, debo confesarles que están leyendo una opinión de un profesional de las ciencias computacionales y un apasionado de la tecnología de la información, incluyendo todo el movimiento de las aplicaciones sociales. En síntesis, me considero un especialista en tecnología Web e ingeniería de software y, aunque también tengo formación y experiencia en Negocios, no soy un mercadólogo. Mencionado esto, les comento mi percepción sobre este tema.

A mi me parece que TI debe estar al servicio de Marketing. Es decir, la estrategia de redes sociales, lo que se pretende con ella, los resultados, las mediciones, el propósito de las redes sociales, etc. debería ser guiada por el área de Mercadeo (quizá incluso por la misma dirección general). La estrategia de redes sociales es, en esencia, un subconjunto de las estrategias de mercadeo y comunicación de una empresa y, por tanto, debe estar alineada con ellas. Y este es un trabajo del Director de Mercadeo y/o Comunicación.

Sin embargo, para que una estrategia de redes sociales sea efectiva y aún bajo la suposición de que será dirigida por Mercadeo, es condición necesaria que el área de TI apoye 100% dichas estrategias, Entre otras cosas, veo necesario:

  • Que TI le presente (periódica pero permanentemente) a Marketing toda la gama de posibilidades y herramientas tecnológicas que las redes sociales tienen. Y este no es un trabajo menor porque las redes sociales (Facebook y Twitter particularmente) y todas las herramientas de terceros basadas en ellas, cambian vertiginosamente y es trabajo de TI conocer las especificidades técnicas para poder usar adecuadamente las redes sociales.
  • Que TI aconseje a Marketing (no que decida) qué cosas puede aprovechar. E inclusive, idealmente, debe mostrarle (con pruebas o demos sencillos) estas posibilidades porque no siempre las palabras o presentaciones Powerpoint son suficientes para dar a conocer cierto concepto tecnológico.
  • Importantísimo es que el área de TI o las personas de TI que se involucrarán en proyectos de redes sociales, hables el lenguaje de Mercadeo. Aunque no sean especialistas sí que entiendan el lenguaje de negocios de la empresa.
  • Que Marketing visualice nuevas posibilidades “escuchando” a su asesor de TI. Es decir, que esté abierto a la utilización de nuevas tecnologías pero enmarcándolas y aprovechándolas en el contexto estratégico de mercadeo de la empresa. No como iniciativas aisladas. Y que, en este sentido apruebe, o rechace, herramientas específicas de las redes sociales.
  • Que una vez que la empresa decida embarcarse en proyectos de redes sociales, marketing y TI trabajen muy cercanamente, muy frecuentemente, y de manera colaborativa.

Creo que de esa manera, las posibilidades de que los proyectos fracasen por falta de entendimiento de las tecnologías o por falta de alineamiento estratégico con la empresa se reducen significativamente.

¿Y qué con el caso de LinkedIn? Bueno, el tema me parece muy similar pero siendo dirigido esta vez por el área de Gestión del Talento de la empresa. O dicho de otro modo, siempre ¡la TI al servicio de los negocios y organizaciones!

, , , , , , ,

Deja un comentario

El desarrollo de software Web. Un breve enfoque general.

Estamos en febrero del 2011 y las innovaciones tecnológicas del mundo Web siguen apareciendo a un ritmo vertiginoso. A veces resulta imposible no sorprenderse y “marearse” entre tantos nuevos conceptos, ideas, tecnologías y tendencias. ¿Cómo abordar todo este “buzzword”? ¿Cómo aplicarlo a nuestros negocios y organizaciones? Bueno, este es un intento de organizar las ideas generales; el macro de todo este asunto. Quizá es más bien un modo de organizar mis ideas personales respecto al actual estado tecnológico de las cosas en cuanto al desarrollo de aplicaciones para la Web. Para mi resulta fascinante pues estamos inmersos en un mundo de innovaciones constantes.

En síntesis, yo lo veo así:

  1. Desarrollo de software empresarial de misión crítica
  2. Desarrollo de interfases de usuario y experiencia Web
  3. Desarrollo de apps para móviles
  4. Desarrollo de aplicaciones sociales y de aprovechamiento de las redes sociales
  5. Maduración del estado del desarrollo de sitios y portales Web
  6. Desarrollo de infraestructura de colaboración y comunicación, entre aplicaciones y plataformas

¿Cómo juega todo lo anterior? ¿Cómo se define? ¿Qué tendencias existen en cada una de ellas? Quizá lo primero que debemos aclarar es que no existe ninguna jerarquía de ellas. Es decir, todas son importantes. Todas son sumamente interesantes. Todas merecen la pena de ser abordadas por buenos Developers e Ingenieros. Aunque podemos ir describiendo cada uno de los anteriores 6 frentes, quizá resulte más efectivo (al menos por ahora) asociar cada uno de ellos con empresas “ícono”, tecnologías propias y tendencias generales de cada uno. Lógicamente no intentaré ser exhaustivo (eso será tarea de posts futuros) y mencionaré únicamente algunas de las tendencias.

  1. Desarrollo de software empresarial de misión crítica (CRM, ERP, SCM, etc) : Computación en la Nube según el modelo Salesforce. Plataformas de desarrollo Force.com y Heroku, entre muchas otras. Lenguajes de programación: Ruby (y Ruby on Rails), Python, PHP, Java, .NET. Bases de Datos en la Nube: CouchDB, Database.com, MySQL on the Cloud (Xeround), entre varias.
  2. Desarrollo de interfases de usuario y experiencia Web: HMTL5, CSS3, AJAX, JQuery, Interfaces para móviles, formatos de presentación de imágenes (Deep Zoom – dzi), Javascript, etc.
  3. Desarrollo de apps para móviles: Programación Java para Android, Objective-C para Apple iOS (iPhone, iPad), y otros (Blackberry, WindowsPhone, etc.). Mercadeo masivo de estas aplicaciones vía distintos apps stores: Apple, Ovi, Blackberry, AndroidMarket con precios reducidos (típicamente entre 2 y 10 dólares, e incluso muchas gratuitas).
  4. Desarrollo de aplicaciones sociales: Aplicaciones para Facebook, Twitter, LinkedIn y otras redes sociales utilizando sus APIs y plataformas de desarrollo. Integración completa con la funcionalidad de estas redes sociales.
  5. Sitios y portales Web: En este caso la tendencia fuerte pero ya madura es la utilización de herramientas de Administración de Contenido, tales como WordPress, Joomla, Drupal, TYPO3 y muchísimas otras. Prácticamente no existen hoy día sitios Web basados en HTML estático ya que no se posibilita la gestión de contenido del sitio. Inclusive han madurado CMS de propósito específico como los de E-commerce, tales como Magento, OSCommerce y ZenCart, entre otros.
  6. Infraestructura de colaboración entre sistemas: Protocolo REST; JSON; APIs de las aplicaciones como una forma de colaborar con otras. Desarrollo de infraestructura de APIs, Apigee, etc.

Y sí; el desarrollo de software Web está cambiando el panorama completo del desarrollo de aplicaciones y la ingeniería de sistemas. Lo anterior conforma un brevísimo panorama 2011 sobre el conjunto de estrategias tecnológicas que debemos tener en mente ya las cuales deberíamos ir apostando en el corto plazo.

, , , , , ,

Deja un comentario