En algún momento su empresa se va a dar cuenta de que tiene que tomarse en serio mejorar el rendimiento y la calidad de sus aplicaciones móviles. Hay mucha confusión y desacuerdo alrededor de lo que implica monitorear el rendimiento de las aplicaciones móviles. Voy a describir el proceso general de lo que se necesita para comenzar y cómo funciona el monitoreo del rendimiento de las aplicaciones móviles en producción.
He tenido la oportunidad de charlar con un gran número de compañías sobre sus aplicaciones móviles empresariales y he notado una tendencia en la manera en que inician las iniciativas móviles con frecuencia. En muchos casos, algún miembro del equipo de marketing o del negocio quiere desesperadamente una aplicación para un nuevo proyecto o iniciativa para promover la marca de la compañía, ya sea para una promoción o algún otro tipo de campaña.
Sin embargo, el grupo de TI empresarial no tiene las habilidades internas para desarrollar las aplicaciones móviles nativas, y las aplicaciones móviles en general están fuera del dominio del grupo de operaciones de TI tradicional, además les tomaría mucho tiempo prepararse para hacerlo, así que la empresa utiliza el presupuesto que le sobra, el presupuesto para proyectos o el destinado a publicidad y marketing para contratar a una agencia o a una consultora para desarrollar la aplicación a tiempo para el proyecto.
Así, una vez que la aplicación está disponible para sus clientes con su propósito inicial, inevitablemente se llevará a cabo el siguiente proceso:
- El ámbito deseado de la aplicación se ampliará a medida que la compañía decida que quieren utilizarla para otros propósitos con funcionalidades y características adicionales, más allá de la definición original del producto mínimamente viable.
- Por supuesto, también habrán problemas con la aplicación debido a las complicaciones que no se anticiparon o como resultado de las vulnerabilidades y problemas de rendimiento que surgieron con las nuevas características que se agregaron posteriormente, como cuando se vincula la aplicación con la infraestructura de TI empresarial para los servicios necesarios para soportar esas nuevas características.
- A los usuarios les molestarán los problemas y escribirán evaluaciones negativas en las tiendas de aplicaciones o en las redes sociales, lo que le dará a la aplicación calificaciones pobres; incluso, podrían eliminar totalmente la aplicación.
- La compañía se dará cuenta de que la pobre experiencia que se tiene con la aplicación está dañando a la marca de la compañía y que le está haciendo perder clientes y buena voluntad.
- Habrá llamadas frenéticas de que alguien tiene que HACER ALGO y hacerlo bien.
En este punto, es probable que TI tenga que involucrarse debido a que ahora la aplicación se convierte en una parte crítica de la estrategia comercial de la compañía y está unida a la infraestructura de TI empresarial. Es muy probable que el grupo de Operaciones de TI se familiarice con la Gestión del Rendimiento de Aplicaciones (APM) para las aplicaciones empresariales que tienen bajo su cargo, pero debido a que no desarrollaron ni gestionaron la aplicación móvil, probablemente no están familiarizados con APM y no sabrán cómo funciona para las aplicaciones móviles.
Monitorear el rendimiento de las aplicaciones móviles es un tanto distinto a la APM de las operaciones de TI tradicionales, donde las aplicaciones que están dentro del servidor corren sobre la infraestructura de servidores que gestiona TI en un centro de datos corporativo o en los entornos de nube privada o pública. La principal diferencia radica en que las aplicaciones empresariales de TI tradicionales son gestionadas directamente por el propio grupo de TI, donde frecuentemente son responsables de crear (desarrollar) la aplicación y después, implementarla, gestionarla y controlarla en la infraestructura de servidores donde tienen acceso directo a ella.
En el ecosistema de aplicaciones móviles, hay un nivel de oblicuidad entre la aplicación y el proceso de acceder, controlar, gestionar y monitorear la aplicación. En el mundo de APM tradicional, TI puede agregar el monitoreo del rendimiento de las aplicaciones a través de la infraestructura de aplicaciones sin tener que modificar la aplicación, ya que tienen ese acceso directo al sistema donde la aplicación está hospedada y donde se ejecuta.
El proceso de añadir el monitoreo del rendimiento de las aplicaciones móviles a medida que lo utilizan sus clientes, es diferente debido al nivel de oblicuidad involucrado y a la falta de un acceso directo a los dispositivos en los que está corriendo la aplicación.
Ya que la aplicación móvil está siendo utilizada directamente por los clientes en sus teléfonos móviles personales o corporativos, el mecanismo de monitoreo del rendimiento de la aplicación “en producción” se denomina Mobile Real-User Monitoring, o Mobile RUM.

El proceso de desarrollo
Lo primero que usted tiene que hacer es incorporar el AppDynamics Mobile RUM SDK en su aplicación móvil nativa.
- Los desarrolladores descargan el iOS o el Android SDK del sitio de AppDynamics.
- Los desarrolladores utilizan el entorno de desarrollo integrado (IDE) respectivo, el cual es xCode para las aplicaciones iOS y Eclipse con el plug-in Android Developer Tools o Android Studio para las aplicaciones Android.
- Los desarrollos recopilan el SDK adecuado en su aplicación usando el IDE correspondiente.
- Como parte de su proceso de prueba y de QA (aseguramiento de la calidad), usted puede tener un número limitado de usuarios beta probando su aplicación y monitoreando el rendimiento antes de que se libere en la tienda de aplicaciones.
- Distribuya la versión beta usando uno de los mecanismos de distribución beta disponibles.
- El desarrollador envía la nueva versión de su aplicación a las tiendas de aplicaciones adecuadas.
- Una vez que se ha aprobado la aplicación, la nueva versión de la aplicación aparecerá en la tienda de aplicaciones.
- La aplicación está disponible en la tienda de aplicaciones para que los clientes descarguen la nueva versión.
Intercambio de datos para monitorear del Rendimiento de las Aplicaciones Móviles
Una vez que el usuario final tiene a la nueva versión de la aplicación y comienza a utilizarla, se activan varios flujos de datos.
- Lo primero que sucede es que en algún momento la aplicación hará alguna solicitud a través de la red a la infraestructura back-end. Como parte de la solicitud, el agente AppDynamics Mobile RUM que se creó en la aplicación a través del SDK, automáticamente detectará la solicitud y agregará un identificador de AppDynamics al encabezado.
- Cuando la respuesta se envía de vuelta a la aplicación móvil, se agregará información adicional al encabezado incluyendo el GUID (Global Unique Indentifier) que identifica esa solicitud particular para su posterior análisis, el tiempo necesario para que se ejecute esa Business Transaction (BT) particular, el tiempo de ejecución promedio de la BT y un identificador para esa BT particular.
Implementación flexible
La siguiente parte del flujo de datos depende de cómo usted haya decidido implementar sus opciones de despliegue. AppDynamics ofrece opciones de implementación flexibles incluyendo una opción SaaS y una opción local pura de una combinación híbrida SaaS/local.
La primera opción es decidir utilizar el recolector de datos Mobile RUM Cloud SaaS o el Mobile RUM Server local. En el paso 3 del flujo de datos, el agente de aplicaciones móviles AppDynamics enviará información al Mobile RUM Cloud (3A en el diagrama) o el Mobile RUM Server (3B en el diagrama) incluyendo el ID del objeto, el NSURL (en caso del iOS o el equivalente de Android), los datos de API de la caída de una caída previa y los datos a medida que usted puede haber elegido reunir para su aplicación.
El Mobile RUM Cloud o Mobile RUM Server reúne estos datos de todos los clientes de las aplicaciones móviles que sus usuarios están utilizando, realiza el procesamiento/agregación de los datos y después los envía al siguiente paso. No hay almacenamiento de datos permanente en este paso.
La segunda opción es elegir usar el AppDynamics SaaS Controller o el AppDynamics on-premise Controller. En el paso 4 del flujo de datos, los datos procesados/agregados se envían desde el Mobile RUM Cloud o desde el Mobile RUM Server al SaaS Controller o el Controller local.
El Controller es donde todos los datos del rendimiento de su aplicación se correlacionan, se referencian, se almacenan y se acceden para el monitoreo, las alertas, el análisis y las acciones que realizan las personas de su organización que están involucradas en ejecutar, mantener, operar y comercializar su aplicación.
Sus empleados tienen acceso al Controller a través del portal de AppDynamics donde pueden tener vistas de los roles específicos de los datos del rendimiento de su aplicación y pueden trabajar para colaborar en resolver los problemas más rápidamente (resolución, identificación y aislamiento de problemas) a través del War Room y monitorear el negocio a través de operaciones de rendimiento a la medida y tableros comerciales/ejecutivos.
Peter Kacandes, AppDynamics
