Infraestructura De Red Publicitaria Y De Intercambio De Anuncios

Infraestructura informática de construcción de Ad Network y Ad Exchange

Hoy tenemos otro episodio de nuestra serie de entrevistas con miembros del equipo de TwinRed. Nuestro objetivo es mostrarte cómo funciona una red publicitaria desde dentro, dejarte entre bambalinas y también mostrarte quién está detrás de la empresa TwinRed. Al fin y al cabo, todo negocio gira en torno a las personas.

En este post, hablamos con nuestro CTO Denes Kiss que es el responsable de todo lo relacionado con la informática dentro del equipo de TwinRed. Esto incluye la gestión de los desarrolladores, el control de calidad y la propiedad interna del producto, la gestión del aprovisionamiento y el mantenimiento de los servidores, el apoyo a los clientes y a las solicitudes internas, y la definición de procesos para que los flujos de trabajo sean aún más fluidos.

Así pues, vaya a tomarse un café y conozca cómo se construye la infraestructura informática en una red publicitaria de gran carga con un equipo remoto repartido por todo el mundo.

Introducción

Hola, Denes. En primer lugar, ¿puede contarnos algo más sobre su trayectoria profesional en el ámbito de las TI??

Cuando tenía 13 años, un amigo mío vino con un libro sobre `Codificación en Turbo Pascal`, en ese momento empezó toda mi carrera. Unos años más tarde, me encontré en un instituto intentando vender mi primer programa que debía ayudar a los usuarios a aprender a teclear. Nunca sucedió, pero aún así me motivó a seguir codificando y aprender más sobre TI. Durante la universidad me sumergí en la vida de los centros de datos como operador de alojamiento, donde aprendí mucho de los veteranos de la industria sobre las operaciones de TI. Después de muchos proyectos privados de codificación de sitios web, terminé en la primera época de LiveJasmin como desarrollador de PHP. Esta fue la primera oportunidad, donde tuve la oportunidad de tratar con sistemas realmente cargados. Tuve la suerte de formar parte de varios proyectos dentro de la empresa, como la creación de un sitio web, la dirección de la parte técnica de AWE (red de afiliados) y, por último, la creación de una red publicitaria desde cero.

A raíz de estos proyectos, la dirección me honró con asumir el liderazgo de TI del proyecto TwinRed, en el que ahora actúo como director de tecnología.

¿Cómo define su objetivo principal en TwinRed??

Mi principal objetivo general es tener una operación fluida y una entrega tan rápida como podamos.

Gestión de equipos remotos

Para empezar, me gustaría saber qué tamaño tiene el equipo de TI que supervisa?

Nuestro equipo está formado por unas 20 personas que incluyen a los desarrolladores, QA, Product owners y DevOps.

¿Cuáles son sus principales departamentos de TI??

Como he mencionado, tenemos 4 grandes áreas:

Propietarios de productos: Cuando una nueva solicitud de funcionalidad llega a nuestro departamento, son los que traducen las necesidades del negocio en una descripción técnica más detallada, cubriendo los casos límite, preparando maquetas de la interfaz de usuario, etc. También son ellos los que ajustan las prioridades y agrupan los lanzamientos para que coincidan con los plazos del negocio.

Garantía de calidad: Una vez que un desarrollador completa su parte, la tarea se pone en cola para que el equipo de control de calidad la pruebe y revise. El control de calidad se asegura de que todo funcione de acuerdo con las especificaciones y los requisitos proporcionados por los propietarios del producto. Una de sus principales responsabilidades es asegurarse de que las nuevas características no se rompan y se alineen con las existentes.

Operaciones de TI (DevOps): Los que están detrás de la escena. Proporcionan la infraestructura adecuada para trabajar, cosas como el aprovisionamiento de hardware para nuevas características, mantener todo actualizado, proporcionar acceso a varios sistemas y, por supuesto, trabajar en estrecha colaboración con los desarrolladores en varias tareas.

Desarrolladores: Son los magos. Además de programar, también crean planes de arquitectura y documentación, prueban sus propios desarrollos y ayudan a proporcionar un soporte de primera categoría.

Después de esta detallada introducción, debo admitir que no me gusta pensar en ellos como departamentos bien separados, somos un solo equipo. Solemos ir más allá de los límites estrictos de cada trabajo, por ejemplo, los desarrolladores hacen pruebas exhaustivas durante el desarrollo, mientras que el control de calidad ayuda a los propietarios de los productos en muchos casos, DevOps a menudo hace algo de programación y la lista continúa. Tenemos objetivos colectivos y nos ayudamos mutuamente a alcanzarlos con la mayor eficacia posible.

Taller de branding de TwinRed: Brandon de Ferras, CTO Denes Kiss, Directora de Ventas Anna Blaivas, CEO Peter Rabenseifner

Cómo está distribuido tu equipo de TI en las diferentes ubicaciones?

Operamos en 3 lugares principales: Estados Unidos (Los Ángeles), Hungría y Ucrania

¿Tienes algún control diario para tus empleados??

Trabajamos en Scrum, lo que requiere una sincronización diaria en vivo. Sin embargo, como hay una gran diferencia horaria, no puedo seguir personalmente el ritmo de todos los colegas en el día a día. Nos separamos en 2 equipos virtuales, uno trabaja en la zona horaria de Los Ángeles, mientras que el otro está basado en CET. Tenemos llamadas semanales regulares para mantenernos sincronizados, también usamos mucho Slack para discutir cualquier cosa que surja.

¿Cómo gestionas y haces un seguimiento del progreso y los resultados??

Los métodos de Scrum le dan un puñado de prácticas que le ayudan a seguir el progreso de cada tarea por separado, y proporciona KPIs para el seguimiento del rendimiento del equipo. Utilizamos Jira para el seguimiento de las tareas y la gestión de los lanzamientos.

¿Cuál es su conjunto de herramientas para un trabajo a distancia eficaz??

Lo más importante es tener un canal de comunicación sencillo y eficaz. Siempre prefiero las conversaciones cara a cara si es posible, porque son más rápidas, directas y personales. Así que las videollamadas y el chat son nuestra arma.

También una silla y un escritorio cómodos son imprescindibles.

Por último, pero no por ello menos importante, la clave para un trabajo a distancia eficaz es tener fe en tus compañeros de trabajo. Tienes que confiar en todos los miembros de tu equipo y dejarles trabajar sin ser supervisados de cerca. Sinceramente, a veces me resulta difícil dar un paso atrás y dejarles trabajar.

¿Cuáles son sus principales obstáculos a la hora de dirigir un equipo informático disperso??

Nuestro mayor obstáculo fue la diferencia de huso horario, pero por suerte conseguimos superarlo con una comunicación adecuada.

Construir y mantener una infraestructura informática para una red publicitaria de gran carga

Al hablar de una red publicitaria siempre implicamos una carga extrema. ¿Estoy en lo cierto??

Tienes toda la razón. Trabajamos con cantidades extremas de tráfico.

Para que te hagas una idea, manejamos peticiones del orden de 7 cifras por minuto.

Con qué se puede comparar?

Wikipedia es la decimotercera página en la lista de los mejores sitios de Alexa. Según una revisión del sitio, tiene alrededor de 300 millones de páginas vistas al día. Si hacemos cuentas, esto se traduce en unas 200.000 solicitudes por minuto.

Y una red publicitaria no puede en absoluto afrontar ningún tiempo de inactividad, como puedo imaginar. Dime de primera mano cuáles son las consecuencias de una hora de inactividad?

Digamos que tener una hora completa de tiempo de inactividad es extremadamente caro. Hemos planificado nuestra arquitectura y hemos introducido diferentes prácticas que garantizan que esto nunca ocurra en TwinRed.

¿Cuál es su sistema de control para evitar estas consecuencias?? ¿Cómo se asegura de que todo va bien??

Pruebas, supervisión y redundancia.

Probamos a fondo todos y cada uno de los desarrollos, antes de lanzarlos a producción. Esto es imprescindible.

Lo monitorizamos todo. Es un problema común que muchas empresas sólo hacen el seguimiento de la parte técnica, como comprobar el uso de la CPU/memoria, los tiempos de respuesta, etc. Nos esforzamos por hacer un seguimiento del negocio también. Durante un lanzamiento siempre buscamos tendencias de cambio en nuestro tráfico, lo que nos permite detectar los problemas antes.

La redundancia también es clave para evitar los tiempos de inactividad. Los fallos de hardware pueden ocurrir en cualquier momento y nuestro sistema está diseñado de manera que los fallos automáticos hacen que estos fallos sean invisibles para nuestros clientes.

¿Cómo se equilibra la carga??

Utilizamos muchos equilibradores de carga a nivel de red que distribuyen el tráfico a muchos servidores. Como ya he mencionado, la clave es la redundancia. Múltiples equilibradores de carga, múltiples proveedores de red, múltiples todo.

Gracias, Denes, ¿dónde se le puede encontrar en línea??

No dude en añadirme en LinkedIn https://www.linkedin.com/in/deneskiss/