ここで開発本物のJava:開発をロシアに移した後のAliExpressの仕組み





こんにちは、Habr!私の名前はアナトリーオルロフです。AliExpressロシアのCTOです。このサービスはロシア語を話すユーザーが利用できるようになってから11年になりますが、モスクワにある同社のオフィスはわずか5年前に開設され、地元の開発チームは昨年だけ登場しました。その主なタスクは、最初は中国語の方法でシャープにされたプラットフォームをRunetの現実に適合させ、ロシア語を話すユーザーにとってより明確で簡単にすることです。



中国の検索エンジンがRunetに適していない理由、地元の売り手がより多くの注文を獲得できるようにする方法、どのテクノロジー、そしてなぜこれに適応する必要があるのか​​-Habréに関するブログの最初の記事で、開発を転送するプロセスについて説明します。途中の困難、最初のプロジェクトとエンジニアリング計画。チーム。行く!



なぜ開発を延期したのですか?



開発をロシアに移管する決定は、Alibaba、Mail.Ru Group、Megafon、RDIFが参加した合弁会社(JV)の設立後に行われました。これは、ロシア市場の規則と法律に従って、ロシアのユーザーと販売者の便宜のために、eコマースプラットフォームを開発するために行われました。







それは私です



近年、AliExpressのロシア語を話す部分は集中的に開発され、より多くのリソースと焦点を必要としました。同時に、アリババグループ全体のロシア事業は、同社の中国のサービスと比較してセグメントが小さすぎるため、変更を実行するためのリソースを取得することは非常に困難でした。ロシア語プラットフォームの開発がロシアにない場合、プロジェクトは開発リソースの順番を待つ必要があります。また、市場規模の観点からキューが優先されることを考えると、Runetユーザーは長い間改善を待たなければなりませんでした。エンジニアがロシアで働いていて、ロシアのAliExpressに常に従事していて、ここで需要のある製品を作る方法を理解していれば、開発の余地が広がります。



合弁会社の設立後、状況はこの方向に進み、私たちは積極的に技術チームを編成し始めました。つまり、2020年1月に私たちが約40人いたとすると、2021年1月にエンジニアの数は約400人に増えました。これらの人々は何をしているのでしょうか。



ルネットのためのグローバルサービスの適応



すべてが非常に単純に聞こえます。ローカル市場にとって重要なシステムの一部(検索など)を自分で管理し、それらを適応させて、将来的にサイトを開発する必要があります。実際には、物事はそれほど簡単ではありません。



AliExpressのインフラストラクチャは、もともと、さまざまな国でプロジェクトが行われる可能性があるという事実のために設計されたものではありません。このコードは、中国以外では適用が難しいアリババの内部テクノロジーなど、中国の開発者が便利なツールを使用して作成したものです。たとえば、中国語のみのドキュメントがあり、開始するには2文字のログインが必要な優れたテクノロジーがあるかもしれません。







写真:Oleg Lozovoy / RBC



Javaはエコシステム全体の主要なプログラミング言語の1つであるという事実にもかかわらず、ほとんどすべての環境とツールはプロプライエタリです。人気のある有名なオープンソースソリューションのフォークは非常に一般的ですが、インフラストラクチャ全体にはそれほど多くはありません。多くの場合、このようなシステムは大幅に「完成」しており、元のプロジェクトとの共通点はほとんどありません。たとえば、Alibabaには素晴らしいMaxComputeテクノロジーがあり、外見上はHadoopとほとんど区別がつかず、かつてはHadoopから分岐していたようですが、その制御下にあるクラスターのサイズにより、Hadoop開発者の目を羨ましく思います。



何かの開発の典型的なローカリゼーションは次のようになります。AliExpressシステムの一部を取り、そのローカルフォークを作成します。これは、サービスのコピー、アプリケーションの2番目のコピーの展開、トラフィックの切り替えという意味です。その後、他の国のシステムの中国の部分に影響を与えることなく、コードを変更できるようになります。



仲間の中国人エンジニアとの交流も珍しい経験です。仕事への取り組みや労働倫理そのものには文化的な特徴があり、大きな時差は無視できません。さらに、中国とロシアのエンジニアが異なるテクノロジーでの作業に慣れているという事実は、それ自体が感じられます-そして、異なるバックグラウンドを持つ人々が議論で同じ波長に同調するのに時間がかかります。



中国の文化では、間接的なフィードバックが採用されています。これは、対話者が彼の仕事の欠陥を直接指摘されておらず、公にさえ-動揺して屈辱を与えないように-しかし注意深くほのめかしているときです。通常、理解するのに困難はありません。たとえば、中国語の「提案する」(ロシア語で「提供する」)という言葉は、別の意味を持っています。そのような「提案」が頭から来る場合-あなたはそれを実行する必要がある命令としてとらえるべきです。別のチームの同僚が何かを変更することを「提案」する場合、これはかなり永続的な要求を意味します。



これは、直接フィードバックを提供する習慣があるロシア語を話す開発者にとって必ずしも明確ではなく、中国の同僚は、「間違ったことをした、やり直す必要がある」という標準的なロシア語の呼びかけにしばしばショックを受けます。いずれにせよ結果は出ますが、交渉や話し合いには、これまでより少し時間がかかる場合があります。



中国人の同僚とのコミュニケーションのプロセス自体も異なって見えます。純粋にビジネス上のやり取りであっても、彼らは非常に積極的に絵文字を使用しています。あなたが話している問題がどれほど深刻であっても、チャットは絵文字でいっぱいになります:







テクノロジースタックの変更、検索エンジンの交換、地元の売り手のプロモーション



ロシアのAliExpressの場合、私たちは最終的に、それが理にかなっている分野で独自のテクノロジースタックを廃止することを決定しました。たとえば、オープンソースに品質が同等の類似体があり、比較的少ない血液で移行できる場合です。



多くの場合、Javaの代わりにKotlinを使用し、Goと.Netで別々のサービスを作成し、Kubernetes、GitLab、k8s、Prometheus、Grafana、Opsgenieなどを使用します。


同時に、多くのアリババグループプロジェクトは、優れているか必要であるため、スタックに残ります。たとえば、国境を越えた商品(つまり、外国のサプライヤーから購入できる)に関する知識のソースは、常にアリババのシステムになります。自分で書くことはできますが、1億人の中国人売り手を強制的にそこに行かせるのはかなり難しいでしょう。



最初の変更の1つ:中国の検索エンジンの置き換えを開始しました。現在では、ロシア語のクエリに常に適用できるとは限りません。たとえば、検索クエリが30文字に切り捨てられると同時に、単語の途中にある場合があります。一見、ある種の恐怖ですが、中国のエンジンの場合、スペースがなく、30文字の長さのクエリ(つまり象形文字)が実際には見つからないため、これは非常に論理的です。実際、この機能を修正することは難しくありませんが、多くの欠陥がある場合は、独自の検索エンジンを作成する方が信頼性の高いアプローチです。これらすべてにより、Alibabaの検索プラットフォームは技術的に最先端に近いものになっています。



もう1つの重要な変更点は、商品の配送における地元の売り手の割り当てに関する作業を開始したことです。グローバルAliExpressの問題点は、ロシアの売り手から購入でき、配送料金が安い商品があったとしても、ロシアのユーザーはそれを知らなかった可能性があるということでした。







写真:Oleg Lozovoy / RBC



Alibabaの機械学習アルゴリズムは、販売量が最も多い製品の宣伝を目的としており、鶏が先か卵が先かという問題が自然に発生します。ここのプラットフォームのロシアセグメントは中国と競争できず、その結果、地元の売り手は競争します。検索で十分な位置を取得できません。一連の試みと実験に失敗した後、私たちはロシアの商品の位置を改善することができましたが、システムはまだ理想からほど遠いので、改善します。



その結果、ロシアのエンジニアリングチームがaliexpress.ru Webサイト、ロシアのモバイルアプリケーションの開発を引き継ぎ、まもなくロイヤルティプログラムなどの他のすべての側面がその責任範囲に含まれるようになります。



次のステップ:完全に独自の検索、ローカル製品へのトラフィックの増加、バグ修正



私たちは積極的に新しい検索を「パイロット」しています。これには、最も人気のあるクエリに対してローカル製品を宣伝するアルゴリズムが含まれ、売り上げを失わないように推奨事項が提供されます。そしてもちろん、それはロシア語を話すユーザーが慣れている方法を検索します。現在の状況:最初のa / bテストを実行しましたが、その結果は喜ばしいものです。



AliExpressの「出生時の怪我」のいくつか、特にサイトでの絶え間ないログアウト、ローカリゼーションのバグについては知っていますが、必要なものをまだ「取り除いて」いないため、まだ勝つことができていません。コードですが、現在取り組んでいます。



明らかに、AliExpressシステムの一部は完全にローカライズされることはありませんが、プラットフォームが制限なしにユーザーと販売者にとって可能な限り便利な状態を実現したいと考えています。私たちはこれに積極的に取り組み、Habréのブログで私たちの経験について話します。だから、 購読してコメントに書いてください、次の記事で私たちに何を教えてください。



All Articles