Here Development Genuine Java: cómo funciona AliExpress después de trasladar el desarrollo a Rusia





¡Hola, Habr! Mi nombre es Anatoly Orlov y soy el CTO de AliExpress Rusia. El servicio ha estado disponible para los usuarios de habla rusa durante 11 años, mientras que la oficina de la compañía en Moscú abrió hace solo cinco años y el año pasado apareció un equipo de desarrollo local. Su principal tarea es adaptar la plataforma, inicialmente afilada a la manera china, a las realidades de Runet y hacerla más clara y sencilla para los usuarios de habla rusa.



Por qué el motor de búsqueda chino no es adecuado para Runet, cómo ayudar a los vendedores locales a obtener más pedidos, qué tecnologías y por qué necesita adaptarse para esto: en el primer artículo de nuestro blog sobre Habré hablaremos sobre el proceso de transferencia de desarrollo, dificultades en el camino, primeros proyectos y planes de ingeniería. equipos. ¡Ir!



¿Por qué pospusiste el desarrollo?



La decisión de transferir el desarrollo a Rusia se tomó después de la creación de una empresa conjunta (JV), en la que participaron Alibaba, Mail.Ru Group, Megafon y RDIF. Esto se hizo para desarrollar una plataforma de comercio electrónico de acuerdo con las reglas y leyes del mercado ruso y para la conveniencia de los usuarios y vendedores rusos.







Soy yo



En los últimos años, la parte de habla rusa de AliExpress se ha desarrollado intensamente y ha requerido más recursos y concentración. Al mismo tiempo, el negocio ruso para el Grupo Alibaba en su conjunto es un segmento demasiado pequeño en comparación con cualquier servicio chino de la empresa, por lo que fue muy difícil conseguir los recursos para realizar cambios. Cuando el desarrollo de una plataforma en ruso no se encuentra en Rusia, el proyecto debe esperar su turno para obtener recursos de desarrollo. Y dado que la cola se prioriza en términos de tamaño de mercado, los usuarios de Runet tuvieron que esperar durante mucho tiempo las mejoras. Si los ingenieros trabajaran en Rusia y estuvieran constantemente comprometidos con el AliExpress ruso, entendiendo cómo hacer un producto que tiene demanda aquí, esto abriría más espacio para el desarrollo.



Después de la creación de la empresa conjunta, la situación se movió en esta dirección, comenzamos activamente a construir nuestro equipo técnico. Entonces, si en enero de 2020 éramos unos 40, entonces en enero de 2021 el número de ingenieros aumentó a casi 400. ¿Qué están haciendo todas estas personas?



Adaptación del servicio global para el runet



Todo parece bastante simple: sólo necesita "tomar" partes del sistema que son importantes para el mercado local (por ejemplo, la búsqueda) bajo su control, adaptarlas y desarrollar el sitio en el futuro. En la práctica, las cosas no son tan fáciles.



La infraestructura de AliExpress no fue diseñada originalmente para el hecho de que en el futuro puede haber proyectos en diferentes países, que se desarrollarán de acuerdo con las reglas del mercado local y por el esfuerzo de los especialistas locales. El código fue escrito por desarrolladores chinos, utilizando herramientas que son convenientes para ellos, incluidas las tecnologías internas de Alibaba, que son difíciles de aplicar fuera de China. Por ejemplo, puede haber una gran tecnología con documentación solo en chino y que requiera un inicio de sesión de dos caracteres para comenzar.







Foto: Oleg Lozovoy / RBC



A pesar de que Java es uno de los principales lenguajes de programación de todo el ecosistema, casi todos los entornos y herramientas son propietarios. Las bifurcaciones de soluciones de código abierto conocidas y populares son bastante comunes, pero no hay tantas en la infraestructura total. A menudo, estos sistemas están muy "terminados" y tienen poco en común con el proyecto original. Por ejemplo, Alibaba tiene una maravillosa tecnología MaxCompute, que aparentemente es casi indistinguible de hadoop y aparentemente una vez se bifurcó de hadoop, pero el tamaño de los grupos bajo su control haría que los desarrolladores de hadoop se movieran de envidia.



Una localización típica del desarrollo de algo se ve así: tomamos una parte del sistema AliExpress y hacemos su bifurcación local, en el sentido de copiar servicios, implementar una segunda copia de aplicaciones y cambiar el tráfico. Después de eso, tenemos la capacidad de cambiar el código sin afectar las partes chinas del sistema en otros países.



Interactuar con otros ingenieros chinos también es una experiencia inusual. Hay características culturales del enfoque del trabajo y de la ética del trabajo en sí, y no se puede descartar la gran diferencia horaria. Además, el hecho de que los ingenieros en China y Rusia estén acostumbrados a trabajar con diferentes tecnologías se hace sentir, y se necesita tiempo para que las personas con diferentes antecedentes sintonicen la misma longitud de onda en las discusiones.



En la cultura china, se adopta la retroalimentación indirecta. Esto es cuando al interlocutor no se le señalan directamente fallas en su trabajo, e incluso públicamente, para no molestar y humillar, sino insinuar cuidadosamente. Por lo general, no hay dificultad para comprender. Por ejemplo, la palabra sugerir (en ruso "ofrecer") para el chino tiene un significado diferente. Si tal "propuesta" viene de la cabeza, debe tomarla como una orden que debe ejecutarse. Cuando un colega de otro equipo "sugiere" cambiar algo, esto significa una solicitud bastante persistente.



Esto no siempre está claro para los desarrolladores de habla rusa, con su hábito de dar retroalimentación directa, y los colegas chinos a menudo se sorprenden por la llamada estándar en ruso “hiciste algo incorrecto, debes rehacerlo”. Se pueden lograr resultados en cualquier caso, pero las negociaciones y los debates pueden llevar un poco más de tiempo del que estamos acostumbrados.



Incluso el mismo proceso de comunicación con colegas chinos se ve diferente: usan emoticones de manera muy activa, incluso en la correspondencia puramente comercial. No importa cuán serio sea el tema que está discutiendo, el chat estará lleno de emoji:







cambio de pila de tecnología, reemplazo del motor de búsqueda, promociones de vendedores locales



Para AliExpress en Rusia, tomamos la decisión de deshacernos de la tecnología patentada en áreas donde tiene sentido. Por ejemplo, donde en el código abierto hay análogos de calidad comparable y donde la transición se puede hacer con relativamente poca sangre.



A menudo, en lugar de Java, usamos Kotlin, escribimos servicios separados en Go y .Net, usamos Kubernetes, GitLab, k8s, Prometheus, Grafana, Opsgenie, etc.


Al mismo tiempo, muchos proyectos del Grupo Alibaba permanecerán en la pila porque son buenos y / o necesarios. Por ejemplo, la fuente de conocimiento sobre bienes transfronterizos (es decir, que se pueden comprar a proveedores extranjeros) siempre será el sistema Alibaba; podemos escribir el nuestro, pero será bastante difícil obligar a 100 millones de vendedores chinos a ir allí.



Uno de los primeros cambios: comenzamos a reemplazar el motor de búsqueda chino. Ahora, de ninguna manera es siempre aplicable para consultas en ruso, por ejemplo, en algunos lugares una consulta de búsqueda se trunca a 30 caracteres, al mismo tiempo en medio de una palabra. A primera vista, una especie de horror, pero para el motor chino esto es bastante lógico, porque no hay espacios y las consultas con una longitud de 30 caracteres (es decir, jeroglíficos) no se encuentran en la vida real. En realidad, no es difícil arreglar esta característica, pero cuando hay muchos defectos, es un enfoque más confiable hacer su propio motor de búsqueda. Con todo esto, la plataforma de búsqueda de Alibaba está tecnológicamente cerca del estado del arte.



Otro cambio importante: hemos comenzado a trabajar en la asignación de vendedores locales en la entrega de mercancías. El problema con AliExpress global era que incluso si hubiera un producto que se pudiera comprar a un vendedor ruso y se pagara menos por la entrega, es posible que los usuarios rusos no se hubieran enterado.







Foto: Oleg Lozovoy / RBC



Los algoritmos de aprendizaje automático de Alibaba están orientados a promover productos con el mayor volumen de ventas, y naturalmente surge el problema del huevo y la gallina: el segmento ruso de la plataforma aquí no puede competir con China y, como resultado, los vendedores locales sí lo hacen. no conseguir suficientes puestos en la búsqueda. Después de una serie de intentos y experimentos fallidos, logramos mejorar la posición de los productos rusos, pero el sistema aún está lejos de ser ideal, lo mejoraremos.



Como resultado, el equipo de ingeniería ruso se hizo cargo del desarrollo del sitio web aliexpress.ru, una aplicación móvil rusa, y pronto todos los demás aspectos, como el programa de fidelización, se incluirán en su ámbito de responsabilidad.



Lo que sigue: búsqueda completamente suya, incluso más tráfico a productos locales, corrección de errores



Estamos "probando" activamente una nueva búsqueda, que incluirá un algoritmo para promocionar productos locales para las consultas más populares y brindar recomendaciones para no perder ventas. Y, por supuesto, buscará como están acostumbrados los usuarios de habla rusa. Estado actual: hemos realizado la primera prueba a / b, cuyos resultados nos agradan.



Conocemos algunas de las "lesiones de nacimiento" de AliExpress, que molestan a todos, en particular el cierre de sesión constante en el sitio, errores en la localización, que aún no hemos logrado ganar, ya que aún no hemos "quitado" lo requerido código, pero estamos trabajando en ello.



Obviamente, algunas partes del sistema AliExpress nunca estarán completamente localizadas, pero queremos lograr un estado en el que la plataforma sea lo más conveniente posible para el usuario y el vendedor, sin restricciones. Participaremos activamente en esto y hablaremos de nuestra experiencia en el blog de Habré. Así que suscríbete y escribe en los comentarios qué contarnos en los siguientes artículos.



All Articles