Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Analizando y debugeando tu plataforma

Avatar for Luis Bosque Luis Bosque
November 22, 2014

Analizando y debugeando tu plataforma

La importancia de ser capaz de extraer métricas e insights de todas las partes posibles de tu plataforma

Avatar for Luis Bosque

Luis Bosque

November 22, 2014
Tweet

More Decks by Luis Bosque

Other Decks in Technology

Transcript

  1. ¿Qué quiere decir analizar tu plataforma? Significa cómo se comportan

    tus usuarios Significa cómo afecta al rendimiento los cambios que haces Significa cómo afecta a tu negocio los cambios que haces En general, significa averiguar qué ocurre exactamente en tu plataforma
  2. ¿Por qué es tan importante? Todo desarrollo de un proyecto

    en la vida real tiene que estar basado en objetivos y objetividad Las aplicaciones web no son una excepción Un negocio no puede estar basado simplemente en impulsos o sensaciones Hacen falta métricas que te ayuden a comprender si vas por el buen camino
  3. Análisis a corto y largo plazo No se trata simplemente

    de sacar métricas para ver si has cumplido los KPIs (Key Performance Indicators) del semestre Necesitas datos objetivos que te digan en un momento específico del tiempo si tu plataforma está bien Igualmente necesitas datos que te digan como cambia tu plataforma dentro de franjas temporales en base a tu desarrollo
  4. ¿De donde saco estos datos? No hay un manual sobre

    qué cosas medir Cada proyecto ha de tener sus propios indicadores que le de insights relevantes Es muy importante no perder la cabeza y medirlo todo
  5. Análisis a corto plazo (a.k.a monitoring) Es una obviedad que

    toda plataforma ha de estar monitorizada en tiempo real Si algo va mal tú has de enterarte antes que tus usuarios
  6. Aún puedes y debes ir un poco más lejos No

    basta únicamente con métricas de sistema si quieres realmente saber si hay algo raro/malo ocurriendo en tu plataforma La plataforma no son solo los sistemas “per se”. También lo que corre en ellos Crea métricas que prueben cosas específicas de tus aplicaciones/plataforma
  7. Análisis a medio/largo plazo Detectar cambios en el comportamiento de

    tu aplicación Detectar patrones de uso de la plataforma Optimización de la plataforma en base a su uso
  8. Cambios de comportamiento de tus usuarios Has cambiado tu home

    ¿Hay más signups? Has cambiado los wizards de visualizaciones ¿Hay más mapas publicados?
  9. Casos de uso especiales Poder tener los medios para analizar

    un caso de uso especial es como empezar un buen libro Analizar los cambios en la plataforma durante periodos específicos Uso de la plataforma durante unas elecciones en CartoDB
  10. Análisis específico por usuario Útil tanto para ti como para

    el usuario Posibilidad de detectar patrones en base al tipo de usuario Análisis del impacto de las acciones de un usuario
  11. CartoDB: Análisis de un usuario Feedback sobre la velocidad de

    sus queries Feedback sobre la velocidad de sus renderizados Patrones de tráfico en sus mapas Zonas geográficas y franjas horarias de tráfico Niveles de zoom y zonas del mapa más calientes
  12. Precisión y “data retention” Es muy importante tener claro y

    aplicar políticas de retención de datos ¿Cuanto tiempo te hacen falta tus métricas? ¿Puedes permitirte reducir la precisión con el paso del tiempo? Agregadores de métricas caseros
  13. Elegirlas “todas” Cruces de datos de negocio con impacto en

    plataforma Analizadores inteligentes Saber si algunos comportamientos de tus usuarios afectan a la plataforma Detección de patrones de uso para escalado elástico CartoDB: Pre-renderizados de tiles
  14. Interpretar tus métricas Lo fácil es recolectarlas. Lo dificil es

    interpretarlas No dejes que nadie te sugiera qué thresholds son buenos para ti Diseña un dashboard que te diga solo lo que necesitas saber. El resto no importa
  15. Impacto técnico Alto coste técnico. Alta disponibilidad. Muy alto rendimiento

    Coste de desarrollo inicial importante Si basas parte del desarrollo de tu negocio en métricas esto pasa a ser crítico Mucho cuidado con no mezclar el core de tu aplicación con la generación de métricas
  16. Qué usamos en CartoDB Procesamiento de logs con Beaver +

    Redis + Logstash + Elasticsearch + Kibana Monitorización de sistemas con Monit + Munin + Ganglia + Nagios Métricas de debugging con StatsD + StatsC + Graphite + Grafana Agregadores custom de datos -> Cuenta de CartoDB Dashboards custom