Johnson & Johnson, el gigante de productos envasados de consumo, contrató recientemente a Jeff Mathers como director de movilidad. Está al mando de la aceleración del desarrollo y el despliegue de aplicaciones móviles para todas las líneas de negocio de la compañía.
Con un trabajo así, está claro que no va a construir una o dos aplicaciones. En su lugar, va a saltar hacia una nueva tendencia entre las empresas de vanguardia: La creación de decenas de aplicaciones móviles, muchas de ellos diseñadas para ser utilizadas por períodos cortos -días o meses- en lugar de por tiempo indefinido.
Pero, considerando que el desarrollo de aplicaciones móviles a menudo toma un mínimo de seis meses, ¿cómo pueden las empresas permitirse el lujo de construir aplicaciones que se van a utilizar para tan poco tiempo? Algunos, como Johnson & Johnson (J&J), están experimentando con ofertas conocidas como backend como servicio (BaaS), diseñadas para atender a las capacidades rutinarias requeridas por la mayoría de aplicaciones; y permitir que los desarrolladores internos pueden centrarse en la interfase de usuario y su experiencia.
"Por lo general, en una aplicación dirigida al consumidor, lo que se quiere desarrollar es mensajería, integración social, pago, publicidad y otras características", señala Lars Kamp, consultor en Accenture Mobility, empresa que ofrece servicios de consultoría y servicios de software móvil.
Así, los desarrolladores de aplicaciones necesitan construir las mismas capacidades -y un conjunto similar de aplicaciones internas- varias veces, ya sea para la primera aplicación que desarrollan o ya sea para 500. "Se trata de funciones indiferenciadas. Así que ¿por qué no industrializarlas?", pregunta Kamp.
Los fabricantes de BaaS incluyendo a Parse, Stackmob, Kinvey y Cloudmine han respondido a esta pregunta con el lanzamiento de servicios orientados a que los desarrolladores agreguen esas funciones no diferenciadas de manera rápida, fácil y económica, de forma tal que los trabajadores internos puedan dedicarse a piezas más estratégicas. Los proveedores de servicios, incluyendo funciones de logueo y notificaciones tipo push dentro de las API, son compatibles con la mayoría de plataformas móviles, así que los desarrolladores pueden simplemente soltar el código en sus apps.
Probando Baas
Para probar BaaS, algunas empresas están construyendo aplicaciones de corta duración, no así aplicaciones de misión crítica.
En J&J, Jeff Mathers está empezando a utilizar Kinvey en una aplicación que los empleados utilizarán durante pocos días mientras asisten a una conferencia interna. "Estamos en modo de exploración", señala.
Los empleados podrán descargar la aplicación a sus tablets iPad, o interactuar con ella a través de una docena de dispositivos iPads colocados en una cabina. La aplicación les permitirá proporcionar información sobre la conferencia, y hará un seguimiento de los mensajes que publican en Twitter. Los comentarios, combinados con las fotos de los empleados, se mostrarán en la pantalla principal en la conferencia.
Kinvey está proporcionando la integración con Twitter y el proceso de inicio de sesión. Sin Kinvey, Mathers habría tenido que girar hacia instancias de Amazon Web Services (AWS) EC2, crear una base de datos y, a continuación, configurar una cuenta de desarrollador de Twitter y aprender a integrar. Podría tomar días empezar a desarrollar incluso la aplicación; mientras que con Kinvey, explica, se desarrolló en 10 minutos.
Sin embargo, Kinvey no era tan fácil de usar según lo prometido. "Hubo algunas dificultades de aprendizaje con sus herramientas", señala Mathers. "Y son una compañía nueva, así que puede que no funcione del modo que dicen que hace, o si desea hacer cosas que no han pensado".
Por ejemplo, la creación de un modelo de datos y registros era "increíblemente simple", señala. Pero mientras Mathers sabe cómo crear consultas maestras contra las colecciones de datos utilizando SQL, tuvo que aprender un nuevo proceso de consulta con las colecciones Kinvey, agrega. Eso llevó algún tiempo.
Además, las herramientas Kinvey fueron construidas en el supuesto de que un dispositivo es poseído y utilizado por una sola persona. Esto significa que los datos generados desde el dispositivo están vinculados al dispositivo. Pero Mathers quería que muchas personas fueran capaces de entrar en una iPad y generar datos vinculados a sus cuentas, no al dispositivo.
La buena noticia: como Kinvey -y muchos de los vendedores BaaS- son nuevas empresas pequeñas, están felices de tener solicitudes de nuevas características. "Ellos pueden hacer ese tipo de cambios durante la noche", señala Mathers.
Parte de la razón para el desarrollo de la aplicación, es decidir si tiene sentido para J&J utilizar un servicio como Kinvey para las aplicaciones que dan cara a los consumidores y para aplicaciones internas que acceden a los datos corporativos. Mathers no ha hecho todo el due diligence en temas importantes como la seguridad y la privacidad. "En este momento estamos trabajando en cosas como‘¿Funciona la tecnología? ¿Podrá escalar? ¿Qué aspecto tiene el rendimiento del producto?, y ¿Es tan fácil de usar como dicen que es?’", señala.
Hasta el momento, no muchas grandes organizaciones están utilizando BaaS. El analista de Forrester, Mike Facemire, estima que solo alrededor del 5% de los usuarios BaaS son clientes de la empresa. Por el momento, la gran mayoría de los clientes que utilizan BaaS son startups cuyo negocio entero es su aplicación móvil.
Pero Facemire recomienda "absolutamente" que las empresas consideren los servicios. "Desde un punto de vista tecnológico proporciona gran utilidad, ya que proporciona la utilidad de un modelo de costos basado en la nube, y se les facilitará sin obligarlos a usar las herramientas de desarrollo con las que no están familiarizados", comenta Facemire.
Las nuevas características apuntan a la empresa
Los proveedores de BaaS han comenzado a desarrollar funciones para satisfacer las necesidades de las grandes empresas. Al construir una aplicación interna o una aplicación de cara al cliente, uno de los requisitos más importantes es el de aprovechar los datos de las empresas, de acuerdo con los fabricantes.
Cloudmine, Parse y otros están trabajando en nuevos servicios para alimentar a los datos heredados en aplicaciones móviles empresariales.
Con sede en Filadelfia, Cloudmine recientemente dio un giro a su negocio en respuesta a las necesidades de los sectores de farmacia, cuidado de la salud y negocios de seguros. "El principal problema aquí es que estas empresas almacenan datos diversos en un montón de lugares diferentes", señala Marc Weil, fundador y CTO de Cloudmine. Por ejemplo, puede ser que tengan información de los clientes con Salesforce, información de las cuentas de usuario en una base de datos Oracle, y los datos financieros en SAP detrás del firewall.
Así que, además de proporcionar las API para incorporar notificaciones push, ubicación por geo-taggingy log-ins sociales, Cloudmine ha construido conectores para empujar los datos corporativos -en un formato optimizado para móviles- a las aplicaciones móviles.
Excellis Interactive, una compañía que desarrolla aplicaciones móviles para las grandes empresas, utilizó Cloudmine al desarrollar una aplicación para un concesionario de autos y taller de reparaciones. Los usuarios de la aplicación se registran para recibir recordatorios sobre, por ejemplo, el momento de realizar servicios como el cambio de aceite; y la tienda de aplicaciones informa acerca de las reparaciones. Excellis utiliza Cloudmine para acceder a los datos de los automóviles almacenados en la empresa, y para ejecutar las notificaciones.
Excellis también construyó una aplicación usando Cloudmine para una empresa médica que quería poner contenido -incluyendo animaciones, imágenes de productos, documentos y videos- a disposición de los vendedores en sus dispositivos iPad.
Por el momento, usar conectores Cloudmine requiere algo de trabajo personalizado. Extraer datos de Salesforce -por ejemplo- en una aplicación móvil, requiere adecuar la cartografía de los objetos; y Cloudmine prefiere llevar a los clientes a través de ese proceso. Eventualmente, Cloudmine podría automatizar el proceso, señala Weil.
Para las fuentes de datos como Oracle o Microsoft Dynamics, Cloudmine elabora un proceso de mapeo similar con los clientes, pero también les da un pequeño ejecutable de Java para correr en segundo plano en la base de datos, que crea una conexión segura a través del servidor de seguridad para enviar datos a Cloudmine.
"Lo bueno es que no me importa lo que hay en el backend; es decir, si se trata de Salesforce u Oracle", señala Randall Rivera, arquitecto de la empresa principal en Excellis.
Por su parte, Parse también está trabajando en maneras de hacer más fácil para las aplicaciones móviles colocar los datos corporativos. Ya se ha construido lo que denomina "módulos" o integraciones con servicios como el correo electrónico y plataformas de mensajería de la talla de Twilio, SendGrid y Mailgun.
"Pero estamos escuchando de empresas que quieren cosas similares para, por ejemplo, Salesforce, Active Directory, o su instancia de SAP. Hay todo tipo de bases de datos empresariales existentes o herramientas de inteligencia de negocios que les gustaría integrar", señala Ilya Sukhar, CEO de Parse.
Mientras que muchas empresas probablemente tendrán que hacer un trabajo personalizado para extraer datos de las aplicaciones de backend en una nueva aplicación móvil, los módulos les dan una ventaja, agrega.
Kinvey, que está construyendo plug-ins para realizar conexiones a los datos de backend, también admite que no tienen una talla única para todos los procesos. "La retroalimentación de la empresas es:‘Tengo la versión 5.5 de SAP u Oracle 9.7. ¿Tiene el plug-in?’”, señala Sravish Sridhar, director general de Kinvey. "Con el tiempo, lo haremos".
Otra característica de Parse para grandes empresas es una que está en piloto ahora: una versión de su servicio que puede vivir detrás del servidor de seguridad en el centro de datos del cliente, o en las instancias dedicadas a AWS. Eso tiene desventajas, sin embargo. La ejecución del análisis en un centro de datos interno requiere que una empresa construya el número máximo de servidores que pueda necesitar, eliminando así las ventajas derivadas de los servicios de nube pública. Y mientras instancias AWS dedicadas pueden aliviar las preocupaciones de seguridad, los usuarios pueden igualmente terminar pagando por más instancias de las que necesitan.
Stackmob, que inició su programa de empresa un par de meses atrás, está lanzando para las grandes empresas sus nuevas herramientas de flujo de trabajo que señalan pueden utilizar para ver y probar aplicaciones, y trabaja las aplicaciones a través de procesos internos de aprobación. También permite a las empresas provisionar múltiples cuentas de desarrollador y especificar, por ejemplo, que solo los administradores pueden crear un objeto, o que solo la persona que ha creado un objeto puede borrarlo.
Precio y fiabilidad
Una vez que una empresa decide qué servicios BaaS satisface sus necesidades, debe tenerse en cuenta otros factores, como el precio y la fiabilidad.
En un extremo del espectro se encuentran los proveedores que operan sus servicios en una sola región de AWS. Amazon desaconseja esta práctica debido a que cuantas más regiones atraviese un servicio en la nube, mayor será la probabilidad de que quedarse en línea, incluso si una región se cae. Kinvey está en el otro extremo del espectro: Se ejecuta en Rackspace, AWS o Azure y ofrece a los usuarios una zona sin fallas multi-región y multi-disponibilidad.
Stackmob cuenta con su servicio de Rackspace en Dallas, y señala que le permite ofrecer acuerdos de nivel de servicio a las empresas. "Hay latencia a nivel internacional, por lo que tratamos de hacer lo que podemos para reducir eso. Pero debido al pequeño tamaño de la empresa, no hay mucho que podamos hacer", señala Ty Amell, co-fundador y CEO de Stackmob.
El modelo de precio y el fabricante son factores importantes a considerar. La mayoría de los proveedores comenzaron a cobrar por los servicios en cada llamada de API, con costos adicionales para el almacenamiento -si el proveedor lo ofrece- y por notificaciones push. Sin embargo, el precio basado en el uso ha causado impacto entre algunos clientes, principalmente startups que inesperadamente se hicieron populares y se enfrentaron a enormes facturas.
Calcular los costos basados en llamadas a la API puede ser un reto. "Es difícil, porque cuando disparan un inicio de sesión de usuario, no es una llamada a la API. Eso puede ser como 20 llamadas", señala Mathers de J&J. Planea observar de cerca su aplicación piloto -que puede tener a cien usuarios en la próxima conferencia de la compañía- para ayudar a calcular cuánto costaría el BaaS para otras aplicaciones.
Parse se está adhiriendo al cargo por API. "Somos conscientes de que existen dudas acerca de la predicción de uso futuro, pero no creo que la respuesta sea ilimitada", señala el CEO Sukhar. En su lugar, Parse está ofreciendo datos analíticos de modo que los clientes pueden realizar un seguimiento de cerca a sus solicitudes de API.
Tal vez no le caiga bien a muchas empresas. "Las empresas prefieren un modelo de costo constante", señala Facemire, de Forrester. Para las aplicaciones internas eso significa un costo por mes y por usuario.
Para aplicaciones de cara al cliente, las organizaciones quieren lo que ya tenemos; es decir que sea un contrato de servicio mensual, o precios similares a las plataformas middleware móviles que cobran una cuota por adelantado y luego una cuota mensual por el servicio, señala.
Algunos proveedores se están moviendo en esa dirección. Stackmob se ha librado de los precios por llamada de API a favor de un modelo basado en servicios. Ese cambio llegó con la introducción del Marketplace Stackmob, donde los usuarios pueden escoger y elegir entre "módulos" que integran los servicios de una lista de proveedores de terceros. Por ejemplo, un módulo ofrece notificación de inserción a través de Urban Airship y cuesta 25 dólares por mes por cada mil usuarios finales. "Creemos que la API es una mercancía y el valor real está en los servicios adicionales", señala Amell.
Cloudmine también ha llegado con nuevas formas de fijar el precio de su servicio. Para startups, soporta 500 usuarios activos al mes de forma gratuita, y cobra cinco centavos de dólar por usuario activo después de eso.
Para las grandes empresas, Cloudmine está negociando cada contrato. "Estamos tratando de encontrar los puntos de repetición para que podamos equilibrar esos contratos", señala Weil. Por lo general se cobra una tarifa básica mensual, y un poco más por paquetes de soporte y servicios profesionales.
Kinvey también se ha movido lejos de la tarificación de llamadas API para las grandes organizaciones. Se ofrecen diferentes niveles de fijación de precios basado en SLA, y en el número de conexiones de vuelta a las aplicaciones corporativas.
La simplicidad en torno al precio "va a ser casi tan importante como la sencillez en torno a la tecnología", señala Facemire.
– Computerworld US