Ozon.ru tiene casi la misma edad que Runet, a los 20 años somos mayores que muchos de nuestros clientes. Desde la librería en línea, la compañía creció hasta convertirse en una plataforma de comercio electrónico que integra la infraestructura de centros de distribución y aplicaciones logísticas, web y móviles, y resiste los ataques de decenas de millones de usuarios durante las ventas y los ataques de los estafadores en línea.

En esta publicación, le contaremos un poco sobre nosotros: cómo estamos reconstruyendo y desarrollando la plataforma mientras servimos a 1.2 millones de usuarios diariamente. Y al mismo tiempo le mostraremos a la oficina donde está trabajando el laboratorio OZON IT, bueno, un par de hermosas vistas desde sus ventanas.

Durante el año pasado, la división de tecnología de la compañía ha crecido ocho veces, ahora tenemos más de 600 personas. En julio, OZON se mudó a una nueva sede, ubicada en una de las torres de la ciudad de Moscú. Hemos ocupado ocho pisos (y mientras estás leyendo esto, tomaremos el noveno).


Reemplazo de pila
Mientras más tiempo exista la compañía y más clientes tenga, más diverso será el zoológico de sistemas de TI y más difícil será mantenerlos y desarrollarlos. A lo largo de los años, OZON ha construido uno de los mejores sistemas de gestión de fábrica de logística y cumplimiento, mientras que la plataforma de comercio electrónico sigue siendo MS SQL masiva con procedimientos almacenados y lógica en la base de datos.
Vivir con una pila cerrada de Microsoft Windows, IIS es difícil: estas tecnologías son relativamente baratas en la entrada, pero en algún momento se vuelven insoportablemente costosas de soportar.

Además de la pila de MS, el equipo de TI heredó muchos sistemas escritos hace casi 20 años en Delphi; deben reescribirse simplemente porque no cumplen con los requisitos de las realidades modernas.
Como resultado, hace aproximadamente un año, OZON comenzó una reestructuración global de TI. Comenzamos a contratar desarrolladores activamente, cambiar a código abierto y microservicios.
La tarea principal es cortar la lógica que está en las bases de datos para que sea escalable. Parte de este trabajo ya se ha realizado, y gracias a esto, OZON puede crecer en un 80-90% por año.

Ahora, muchos sistemas están escritos en GO; este es un compromiso razonable entre rendimiento, complejidad de desarrollo y velocidad de desarrollo. El idioma es lo suficientemente bajo como para escribir servicios productivos y, al mismo tiempo, lo suficientemente simple: puede enseñarse rápidamente. En Moscú (y en Rusia) no existe la cantidad de GO-shnikov que necesitamos, por lo que contratamos especialistas que están listos para aprender una nueva pila y enseñar. El enfoque funciona como ganar-ganar: los especialistas adquieren conocimiento y finalmente podemos abandonar las soluciones patentadas, reemplazándolas por las nuestras. Además, para sus tareas, lo más probable es que el equipo escriba una solución que sea más óptima que las disponibles en el mercado.
Llevarse bien

Ya mencionamos la nueva oficina arriba, y ahora nos estamos instalando gradualmente en ella: los diseñadores pintan las paredes, los desarrolladores eliminan los elementos obsoletos de los imanes y ponen en funcionamiento scooters y colecciones de latas de Pepsi.

No tenemos una jerarquía y subordinación complejas, y el CEO no tiene una oficina. Puede escribirle por correo electrónico, y obtener una respuesta el mismo día, o en Slack, allí está disponible casi constantemente.
Este enfoque le permite resolver problemas rápidamente y en equipos pequeños. Los indicadores clave del proyecto se muestran en tiempo real en pantallas con Grafana, que son cada equipo.

En la pantalla del gabinete CTO
anatolix hay
docenas de tales gráficos. Por ejemplo, se puede ver que hay varias decenas de miles de paquetes aún no recogidos en el almacén. Esto es normal: entregamos más de 100,000 pedidos por día y varias decenas de miles de paquetes; esto es un retraso de menos de un turno. Pero si se acumula más de un día, esto es un problema. Gracias a los gráficos, queda claro de inmediato si un problema se está "acumulando" y en qué sistema salió algo mal.

La prueba de sostenibilidad de OZON pasa varias veces al año durante el período de ventas. Entonces, este noviembre, el Black Friday, el número de pedidos aumentó en 2.5 veces, en ese momento era un récord para toda la existencia del servicio, pero las ventas de diciembre rompieron este récord.
En el sistema de cumplimiento y logística, donde las mercancías se clasifican y se recogen en paquetes: su compleja TI, que no es visible para el usuario, y cargas serias. Y también podría ahogarse en momentos de cargas máximas.

Al mismo tiempo, la cantidad de productos está creciendo, el algoritmo de búsqueda (recientemente nos mudamos a Elasticsearch) y las recomendaciones (ahora basadas en Machine Learning) están cambiando, aparecen nuevas características. En los últimos seis meses, hemos reescrito casi por completo el sitio (desde ASP.NET Web Forms a node.JS), hemos actualizado las aplicaciones móviles y ahora estamos trabajando para reducir la deuda técnica.

Actualmente, TI está experimentando un crecimiento explosivo: tenemos personas y tecnologías que OZON nunca había visto antes. Intentamos mucho, y si algo no vuela, nos negamos y tomamos una solución diferente. Entonces, creamos un clúster de Kubernetes y, como en cualquier clúster de cubos, hay enrutamiento de tráfico allí: decidimos usar el moderno Linkerd, que es utilizado, por ejemplo, por Twitter. Pero había problemas constantes con él: se caería, se comería todas las CPU o se comportaría de manera inapropiada. Pasamos mucho tiempo en la revisión, intentamos parchear algo, y luego lo descartamos y lo hicimos más fácil en Ingress y nginx.
Estamos desarrollando activamente la ingeniería de datos: hay una gran lista de tecnologías. Probamos diferentes almacenamientos de datos, algoritmos y, en general, todas las tecnologías que están en el aprendizaje automático.

Estamos constantemente entre el deseo de hacer lo correcto y el ritmo de crecimiento del negocio. Los equipos no tienen seis meses para pensar en las mejores soluciones, porque para mantenerse en su lugar, debes correr muy, muy rápido. Trabajamos en el modo: características-características-características - asegurando la estabilidad.

En el nuevo año, OZON planea aumentar las ventas en algunas categorías en 10 veces, y el área de fábricas de cumplimiento: en 2.5 veces, lanzar nuevas direcciones y desarrollar nuevas.
En 1998, éramos una librería en línea, luego agregamos, agregamos, agregamos categorías y nos convertimos en un hipermercado en línea. Pero hoy lo hemos superado. OZON se ha convertido en una plataforma de comercio electrónico, dentro de la cual no solo se están desarrollando categorías de productos y la infraestructura logística de apoyo, sino también servicios financieros y alrededor de 20 nuevos proyectos.
En 2018, por ejemplo, lanzamos un mercado en modo beta, a pesar del hecho de que mientras lo estamos probando, ya tiene cientos de vendedores.
La siguiente tarea dentro de este proyecto específico es crear un ecosistema proporcionando un escaparate, cumplimiento y logística, análisis y herramientas de monitoreo de la cadena de suministro para los vendedores. Idealmente, en el mercado, los socios tendrán acceso a todas las herramientas que tiene el equipo de comercio de OZON, y aún más.
En general, nuestro departamento de TI tiene mucho trabajo por hacer. Aunque también nos gusta relajarnos. Por cierto, ven a visitarnos, tenemos fiestas los viernes.
