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

Tuenti - Tu Entidad

Kartones
November 24, 2011

Tuenti - Tu Entidad

@ Universidad de Alcalá de Henares, Madrid (2011)
@ Universidad Complutense de Madrid (2011)
@ Universidad Autónoma de Madrid (2011)

Kartones

November 24, 2011
Tweet

More Decks by Kartones

Other Decks in Technology

Transcript

  1. Agenda • ¿Qué es Tuenti? • ¿Quién es Tuenti? •

    Los diferentes equipos de trabajo y qué hace cada uno de ellos • Dudas y preguntas
  2. * Aunque la TV enorme + PS3 + Rock Band

    y eventos como irse de Paintball no son de broma Ahora en serio… *
  3. Qué es Tuenti • Por invitación: Menos amigos, pero reales

    • Preocupada por la privacidad • Comentarios, Fotos, Mensajes privados, Eventos, Chat, VideoChat, Páginas/Grupos, Videos, Juegos, Sitios…
  4. Qué es Tuenti (en números) • +12.000.000 usuarios • +100

    minutos de media de uso diario • +200.000.000 mensajes de chat / dia • +4.000.000 fotos subidas al dia en picos • +30.000.000.000 page views / mes • +35.000 peticiones web / seg. en picos • Picos de 12 Gbps CDNs incluidos • 4 Gbps desde el datacenter • +1.000 servidores • +250 empleados (de +15 nacionalidades)
  5. ¿Quién es Tuenti? • Tech • Frontend: • Ca$hMoney, Community,

    Core, Apps, Interactive, Local, Video • Mobile core, Client Apps • Tu (MVNO) • Framework/Architecture • Backend, Scalability, Stats, Images • Systems • IT • Dev-Tools • Testing Framework • QA • Design & UX
  6. ¿Quién es Tuenti? • Human Resources • User Support &

    Translation • Sales • Administration • Legal • Finances • …un gran equipo
  7. ¿Quién forma un equipo típico de tech? • 2+ Ingenieros

    de Frontend • 1+ Ingeniero de Backend • 1 Diseñador • 1 QA engineer • 1 Team Lead • 1 Product Manager • Algunos equipos funcionan más como un pool de recursos
  8. Equipos: Frontend • Creación de los componentes visuales de Tuenti

    Ejemplos: • Desde las páginas de la web a un cliente de chat en Javascript o el videoplayer… • Grupos, Tuenti Sitios… • Plataforma para juegos: Highscores, juegos recientes, invitar a amigos a juegos… • Diferentes componentes dentro de una página
  9. Equipos: Frontend • Trabajamos junto con diseñadores product managers, y

    empleamos componentes creados por backend • Trabajo en equipo • PHP, Javascript, Flash… • Tuenti usa AJAX en todas las páginas • Sensación multitarea (navegar + chat + videoplayer, todo a la vez) • Carga de páginas mas rápida • Pero… cada navegador tiene diferencias • Sub-equipos: Interactive, Core, Local, Cashmoney, Community, …
  10. Equipos: Mobile & Client Apps • Mantenimiento y mejora del

    sitio web móvil • Desarrollo de aplicaciones nativas para móviles (J2ME, Blackberry, Android y iPhone)
  11. Equipos: Mobile & Client Apps • Desarrollar una web móvil

    es más complejo de lo que parece • Markup compatible, y sin Javascript • Versión con Javascript muy limitado para teléfonos modernos • Subida de fotos via web móvil*, sin aplicación • Cada aplicación nativa presenta diferentes problemas y retos a solventar • Frecuentes actualizaciones añadiendo nuevas funcionalidades de su hermana mayor (la web) * Depende del modelo de teléfono
  12. Equipos: Framework • Mantenimiento del Frontend Framework actual (PHP) •

    Desarrollo de un nuevo Framework con un mejor Javascript, mayor simpleza, mayor rapidez…
  13. Equipos: Backend • Desarrollar un sistema que aguante una carga

    enorme de datos y de tráfico • Reducir el gasto de recursos y CPU
  14. Equipos: Backend • +12M de usuarios no se almacenan en

    una simple tabla de base de datos… Solución: Particionado (dividir datos según un algoritmo) • Proporcionar a los equipos de Frontend componentes que esconden la complejidad de acceder a granjas de servidores • Cacheo de datos: Leer de memoria es más rápido que de DB • Diseño de complejos algoritmos, como por ejemplo sugerencias de amigos
  15. Equipos: Dev-Tools • +8.000 ficheros fuente. Localización, despliegue en producción,

    entornos de pruebas… • Herramientas in-house/a medida + empleamos herramientas Opensource
  16. Equipos: Dev-Tools • Desarrollo local • Desarrollo contra dev. server

    y/o VMs • Entornos de pruebas • Entornos de pre-producción • Despliegue a producción • Herramientas de localización, chequeo de estilo y normas de codificación, comprobación de errores, minimización de código HTML, Javascript y hojas CSS…
  17. Equipos: Testing Framework • Detectar fallos lo antes posible: Un

    error en producción puede quedar en un susto, pero también puede ser catastrófico • Permitir a los desarrolladores saber si su nuevo código rompe algo del resto del site
  18. Equipos: Quality Assurance • Tests manuales y con diferentes browsers

    • Reportar y gestionar bugs al resto de equipos
  19. Equipos: Systems • Granjas de hardware especializado: Frontends, DB, Caching,

    Stats,… • Monitorizar fallos de hardware, congestiones de red, caidas de procesos…
  20. Equipos: IT • Gestionar redes con Windows, Linux y Macs

    • Gestionar gente en diferentes plantas y oficinas (2 en Madrid y una en Barcelona) • Permitir trabajo remoto de forma segura
  21. Equipos: Design & User Experience • Asegurarse que todo Tuenti

    tenga un aspecto homogéneo y fácil de usar • Belleza dentro de la simplicidad