Hier Entwicklung echtes Java: Wie AliExpress funktioniert, nachdem die Entwicklung nach Russland verlagert wurde





Hallo Habr! Mein Name ist Anatoly Orlov und ich bin CTO von AliExpress Russia. Der Service steht russischsprachigen Benutzern seit 11 Jahren zur Verfügung, während das Büro des Unternehmens in Moskau erst vor fünf Jahren eröffnet wurde und ein lokales Entwicklungsteam erst im letzten Jahr erschien. Seine Hauptaufgabe besteht darin, die ursprünglich auf chinesische Weise geschärfte Plattform an die Realität von Runet anzupassen und sie für russischsprachige Benutzer klarer und einfacher zu machen.



Warum die chinesische Suchmaschine nicht für Runet geeignet ist, wie man lokalen Verkäufern hilft, mehr Bestellungen zu erhalten, welche Technologien und warum Sie sich darauf einstellen müssen - im ersten Artikel in unserem Blog über Habré werden wir über den Prozess der Übertragung von Entwicklung sprechen. Schwierigkeiten auf dem Weg, die ersten Projekte und Engineering-Pläne. Teams. Gehen!



Warum haben Sie die Entwicklung überhaupt verschoben?



Die Entscheidung, die Entwicklung nach Russland zu verlagern, wurde nach der Gründung eines Joint Ventures (JV) getroffen, an dem Alibaba, Mail.Ru Group, Megafon und RDIF teilnahmen. Dies geschah, um eine E-Commerce-Plattform in Übereinstimmung mit den Regeln und Gesetzen des russischen Marktes und zum Nutzen der russischen Benutzer und Verkäufer zu entwickeln.







Das bin ich



In den letzten Jahren hat sich der russischsprachige Teil von AliExpress intensiv entwickelt und erfordert mehr Ressourcen und Konzentration. Gleichzeitig ist das russische Geschäft für die Alibaba-Gruppe insgesamt im Vergleich zu chinesischen Dienstleistungen des Unternehmens ein zu kleines Segment, so dass es sehr schwierig war, die Ressourcen für die Durchführung von Änderungen zu beschaffen. Wenn sich die Entwicklung einer russischsprachigen Plattform nicht in Russland befindet, muss das Projekt warten, bis Entwicklungsressourcen verfügbar sind. Und da die Warteschlange in Bezug auf die Marktgröße priorisiert ist, mussten Runet-Benutzer lange auf Verbesserungen warten. Wenn Ingenieure in Russland arbeiten und sich ständig mit russischem AliExpress beschäftigen und verstehen, wie man ein Produkt herstellt, das hier gefragt ist, würde dies mehr Raum für Entwicklung eröffnen.



Nach der Gründung des Joint Ventures hat sich die Situation in diese Richtung bewegt, wir haben aktiv begonnen, unser technisches Team aufzubauen. Wenn wir also im Januar 2020 ungefähr 40 waren, dann stieg die Zahl der Ingenieure im Januar 2021 auf fast 400. Was machen all diese Leute?



Anpassung des globalen Dienstes für das Runet



Alles klingt ganz einfach: Sie müssen nur Teile des Systems, die für den lokalen Markt wichtig sind (z. B. Suche), unter Ihre Kontrolle nehmen, anpassen und die Site in Zukunft entwickeln. In der Praxis sind die Dinge gar nicht so einfach.



Die Infrastruktur von AliExpress war ursprünglich nicht darauf ausgelegt, dass es in Zukunft möglicherweise Projekte in verschiedenen Ländern geben wird, die sich nach den Regeln des lokalen Marktes und durch die Bemühungen lokaler Spezialisten entwickeln werden. Der Code wurde von chinesischen Entwicklern mit für sie geeigneten Tools geschrieben, einschließlich der internen Technologien von Alibaba, die außerhalb Chinas nur schwer anzuwenden sind. Zum Beispiel könnte es eine großartige Technologie mit nur chinesischer Dokumentation geben, für deren Start ein zweistelliges Login erforderlich ist.







Foto: Oleg Lozovoy / RBC



Trotz der Tatsache, dass Java eine der wichtigsten Programmiersprachen im gesamten Ökosystem ist, sind fast alle Umgebungen und Tools proprietär. Gabeln beliebter bekannter Open-Source-Lösungen sind weit verbreitet, aber es gibt nicht so viele davon in der gesamten Infrastruktur. Oft sind solche Systeme stark "fertig" und haben wenig mit dem ursprünglichen Projekt gemeinsam. Zum Beispiel hat Alibaba eine wunderbare MaxCompute-Technologie, die äußerlich kaum von Hadoop zu unterscheiden ist und anscheinend einmal von Hadoop gegabelt wurde, aber die Größe der Cluster unter seiner Kontrolle würde die Augen der Hadoop-Entwickler vor Neid zucken lassen.



Eine typische Lokalisierung der Entwicklung von etwas sieht folgendermaßen aus: Wir nehmen einen Teil des AliExpress-Systems und machen seine lokale Verzweigung - im Sinne des Kopierens von Diensten, des Bereitstellens einer zweiten Kopie von Anwendungen und des Umschaltens des Datenverkehrs. Danach können wir den Code ändern, ohne die chinesischen Teile des Systems in anderen Ländern zu beeinträchtigen.



Die Interaktion mit anderen chinesischen Ingenieuren ist ebenfalls eine ungewöhnliche Erfahrung. Es gibt kulturelle Merkmale des Arbeitsansatzes und der Arbeitsmoral selbst, und der große Zeitunterschied kann nicht ausgeschlossen werden. Darüber hinaus macht sich die Tatsache bemerkbar, dass Ingenieure in China und Russland daran gewöhnt sind, mit unterschiedlichen Technologien zu arbeiten - und es braucht Zeit, bis sich Menschen mit unterschiedlichem Hintergrund in Diskussionen auf dieselbe Wellenlänge einstellen.



In der chinesischen Kultur wird indirektes Feedback übernommen. Dies ist der Fall, wenn der Gesprächspartner nicht direkt auf Mängel in seiner Arbeit hingewiesen wird und sogar öffentlich - um nicht zu verärgern und zu demütigen -, sondern sorgfältig andeutet. Es gibt normalerweise keine Schwierigkeiten beim Verstehen. Zum Beispiel hat das Wort vorschlagen (auf Russisch "anbieten") für die Chinesen eine andere Bedeutung. Wenn ein solcher "Vorschlag" vom Kopf kommt, sollten Sie ihn als einen Befehl betrachten, der ausgeführt werden muss. Wenn ein Kollege aus einem anderen Team vorschlägt, etwas zu ändern, bedeutet dies eine ziemlich anhaltende Anfrage.



Dies ist russischsprachigen Entwicklern mit ihrer Gewohnheit, direktes Feedback zu geben, nicht immer klar, und chinesische Kollegen sind oft schockiert über den russischen Standardaufruf „Sie haben das Falsche getan, Sie müssen es wiederholen“. Ergebnisse können auf jeden Fall erzielt werden, aber Verhandlungen und Diskussionen können etwas länger dauern als wir es gewohnt sind.



Sogar der Prozess der Kommunikation mit chinesischen Kollegen sieht anders aus: Sie verwenden Emoticons sehr aktiv, selbst in der reinen Geschäftskorrespondenz. Unabhängig davon, wie ernst das von Ihnen diskutierte Problem ist, wird der Chat voller Emoji sein:







Änderung des Technologie-Stacks, Austausch der Suchmaschine, Werbung für lokale Verkäufer



Für AliExpress in Russland haben wir die Entscheidung getroffen, den proprietären Technologie-Stack in Bereichen, in denen dies sinnvoll ist, endgültig fallen zu lassen. Zum Beispiel, wo es in Open Source Analoga gibt, deren Qualität vergleichbar ist, und wo der Übergang mit relativ wenig Blut erfolgen kann.



Anstelle von Java verwenden wir häufig Kotlin, schreiben separate Dienste in Go und .Net, verwenden Kubernetes, GitLab, k8s, Prometheus, Grafana, Opsgenie usw.


Gleichzeitig bleiben viele Projekte der Alibaba Group auf dem Stapel, weil sie gut und / oder notwendig sind. Beispielsweise wird die Wissensquelle über grenzüberschreitende Waren (dh die von ausländischen Lieferanten gekauft werden können) immer das Alibaba-System sein. Wir können unsere eigenen schreiben, aber es wird ziemlich schwierig sein, 100 Millionen chinesische Verkäufer dazu zu zwingen, dorthin zu gehen.



Eine der ersten Änderungen: Wir haben begonnen, die chinesische Suchmaschine zu ersetzen. Jetzt ist es keineswegs immer für russische Abfragen anwendbar, zum Beispiel wird eine Suchabfrage an einigen Stellen auf 30 Zeichen gekürzt - gleichzeitig in der Mitte eines Wortes. Auf den ersten Blick - eine Art Horror, aber für die chinesische Engine ist dies ziemlich logisch, da es keine Leerzeichen gibt und Abfragen mit einer Länge von 30 Zeichen (d. H. Hieroglyphen) im wirklichen Leben nicht gefunden werden. Eigentlich ist es nicht schwierig, diese Funktion zu beheben, aber wenn es viele Fehler gibt, ist es zuverlässiger, eine eigene Suchmaschine zu erstellen. Mit all dem ist die Suchplattform von Alibaba technologisch nah am Stand der Technik.



Eine weitere wichtige Änderung: Wir haben mit der Allokation lokaler Verkäufer bei der Lieferung von Waren begonnen. Das Problem mit globalem AliExpress war, dass russische Benutzer möglicherweise nichts davon erfahren haben, selbst wenn es ein Produkt gab, das von einem russischen Verkäufer gekauft und weniger für die Lieferung bezahlt werden konnte.







Foto: Oleg Lozovoy / RBC



Die Algorithmen für maschinelles Lernen von Alibaba zielen darauf ab, Produkte mit dem höchsten Verkaufsvolumen zu bewerben , und das Henne-Ei-Problem tritt natürlich auf: Das russische Segment der Plattform kann hier nicht mit China konkurrieren, weshalb lokale Verkäufer dies tun nicht genügend Positionen in der Suche bekommen. Nach einer Reihe erfolgloser Versuche und Experimente ist es uns gelungen, die Position russischer Waren zu verbessern, aber das System ist noch lange nicht ideal, wir werden es verbessern.



Infolgedessen übernahm das russische Engineering-Team die Entwicklung der Website aliexpress.ru, einer russischen mobilen Anwendung, und bald werden alle anderen Aspekte, wie das Treueprogramm, in seinen Verantwortungsbereich aufgenommen.



Was kommt als nächstes: komplett Ihre eigene Suche, noch mehr Verkehr zu lokalen Produkten, Fehlerbehebung



Wir "steuern" aktiv eine neue Suche, die einen Algorithmus zur Werbung für lokale Produkte für die beliebtesten Anfragen enthält und Empfehlungen für diese bereitstellt, um keine Umsatzverluste zu verursachen. Und natürlich wird gesucht, wie russischsprachige Benutzer es gewohnt sind. Aktueller Status: Wir haben den ersten A / B-Test durchgeführt, dessen Ergebnisse uns gefallen.



Wir kennen einige der "Geburtsverletzungen" von AliExpress, die alle nerven, insbesondere die ständige Abmeldung auf der Website, Fehler in der Lokalisierung, die wir noch nicht gewinnen konnten, da wir die erforderlichen noch nicht "weggenommen" haben Code, aber wir arbeiten daran.



Natürlich werden einige Teile des AliExpress-Systems niemals vollständig lokalisiert sein, aber wir möchten einen Zustand erreichen, in dem die Plattform für den Benutzer und den Verkäufer ohne Einschränkungen so bequem wie möglich ist. Wir werden uns aktiv daran beteiligen und über unsere Erfahrungen im Blog auf Habré sprechen. So zeichnet und schreibt in den Kommentaren, was uns zu sagen , etwa in den folgenden Artikeln.



All Articles