¿Conoces cómo están trabajando tus aplicaciones?

En estos últimos años he tenido la oportunidad de intervenir (no se pueden llamar proyectos) en situaciones donde nos encontrábamos con aplicaciones que llevaban semanas puestas en producción y que daban muchos problemas a los departamentos de sistemas, infraestructuras u operaciones, como queráis llamarlos. Los problemas se manifestaban dónde menos te lo esperabas, sin embargo, el efecto que provocaban era evidente, la aplicación no cumplía el objetivo para el que había sido concebida. Algunas se degradaban con el paso de tiempo, otras no soportaban la carga puntual de la mañana y otras tenían tiempos de respuesta tan altos que era como si la aplicación no existiese. Me estoy refiriendo a aplicaciones web.

En este tipo de escenarios hay gente que piensa que vas a llegar, vas a tocar dos o tres parámetros de configuración y todo arreglado. No digo que haya casos en los que algo así pueda solucionar el problema temporalmente, pero ten por seguro que lo único que has conseguido es barrer la basura y esconderla debajo de la alfombra.

Si la tensión del ambiente aun te permite respirar lo primero es monitorizar. Es básico instalar sondas que arrojen datos que por un lado te permitan justificar que ciertos cambios aportan mejoras y por otro lado, te digan donde están los problemas:

  1. Consumo de CPU prolongado en el tiempo o simplemente puntual bajo ciertas circunstancias
  2. La RAM está al 100% y tu amiga swap está a punto de entrar en juego
  3. Le has preguntado a tu gestor de base de datos qué le están haciendo?
  4. Las integraciones (facebook, SSO corporativo, flickr) qué tal van?

El problema es que esto requiere que te dejen instalar y configurar ciertas herramientas en entornos de producción. Y ahí, con la iglesia hemos topado. Salvo que la tensión sea muy alta, rara vez te dejarán. Obviamente si las cosas de hicieran convenientemente, no haría falta llegar a estas situaciones, pero la realidad y el día a día son bien distintos.

Hacía ya tiempo que la conocía, pero no he tenido oportunidad de probarla hasta hace muy poco con una aplicación en producción y con picos de usuarios muy interesantes. Lo que más me gusta es que es una aplicación con un modelo SaaS en el que te instalas un agente que envía información a un servidor y simplemente tienes que acceder a la aplicación y comenzar a ver datos.

Pude probarlo en uno de los front-ends que formaban parte de la infraestructura. Los datos que muestra son realmente interesantes para analizar qué está pasando en tu aplicación y cómo de mal lo está pasando el servidor. La interfaz gráfica de la aplicación es agradable y fácil de usar para la complejidad y cantidad de información que gestiona. Su precio realmente asequible para el valor que proporciona. Está disponible para los stacks Java, PHP, Ruby y .NET. Os recomiendo que la probéis, te dejan usar la modalidad Gold completamente gratis durante una semana.

2 thoughts on “¿Conoces cómo están trabajando tus aplicaciones?

  1. Es una buena herramienta, pero para mi gusto es demasiado cara en los planes altos y demasiado poco informativa en los planes bajos.

    Tampoco es una herramienta para que personal externo diagnostique un problema… es una herramienta que el personal de sistemas debe tener en sus servidores. Entre otras cosas porque envía información fuera de la empresa… y a los departamentos de sistemas tampoco les gusta mucho eso 🙂

    En general, a mi me aporta más valor una herramienta como Hoptoad, que proporciona mucha menos información (sólo errores de la aplicación) y es controlable por los propios desarrolladores.

    Dicho esto, si tienes el presupuesto… New Relic es una gran herramienta.

  2. Hola Abel:

    En primer lugar gracias por la referencia (hoptoad) no la conocía.

    Nosotros la estamos usando en un proyecto de QA que nos han contratado. El trabajo se centra únicamente en auditar, luego vendrá otro a revisar y/o solucionar los problemas que se detecten. Hemos contratado el plan Gold con pago anual, y nos sale el mes por 150$ sin descuentos. Si hablas con un comercial puedes conseguir descuentos. Esto lo averiguamos después ;(

    El proyecto parte como iniciativa de un área de explotación que si para cumplir con sus SLAs tienen que instalar un agente que envíe datos al exterior, pero eso hace que obtengan indicadores sobre la marcha, adelante.

    Para este proyecto concretamente podíamos haber usado xdebug, pero el coste hubiera aumentado por el tiempo de análisis de la información.

    Esos tópicos que comentas de los departamentos de sistemas (que doy fe de muchos de ellos) están cambiando. Parece que se van dando cuenta de esos son un elemento más del ecosistema y no “el elemento” 😉

    Un saludo

Leave a Reply

Your email address will not be published. Required fields are marked *