すべおの販売Lamodaのビゞネスプロセスを蚭定し、パヌトナヌぞの販売を開始した方法

こんにちは、LamodaのBPABusiness Process Automationの責任者であるPavelSavelievです。これは私たちのITで最倧の郚門の1぀であり、9チヌムであり、さらに拡倧する予定です。私の開発郚門がどのように配眮されおいるか、そしおラモダの「内郚」ずは䜕かに぀いおお話したす。



簡単に蚀うず、BPAは、配信サヌビス、巚倧な倉庫、泚文管理システムを開発およびパヌトナヌずの統合ず組み合わせた、このような集䞭型ネットワヌクです。これはすべお、レポヌトず分析に結び぀いおいたす。これらのシステムの盞互䜜甚およびパヌトナヌぞの同様のサヌビスの提䟛のために、すべおのサヌビスを蚭蚈および䜜成したす。



画像



私たちのIT郚門は珟実の䞖界に出䌚っおいたす。ITシステムで15分の配信間隔を蚭定するのは簡単ですが、モスクワの䜕千人もの営業担圓者がこの間隔で正確に䜏所に来るようにするこずは非垞に困難です。私たちの郚門の䞻な仕事は、ビゞネスずテクノロゞヌをリンクするこずです。珟圚、BPA郚門自䜓は、配送、倉庫、およびB2Bず垂堎ずの盞互䜜甚を含む商業機胜の3぀の領域にありたす。そしお、私たちが自分で䜿甚し、倖郚で販売するものはすべお本圓にクヌルです。私たちの機胜は、お金をもたらし、時間を節玄し、高品質のサヌビスをお客様に提䟛したす。



5぀の蚀語ず200䞇行のコヌド



画像BPAは、盞互に統合されたシステムのセットであり、他のLamodaシステムです。それらの開発には、PHP、Java、Kotlinを䜿甚し、GoずTypescriptが少しありたす-テクニカルレヌダヌには5぀の蚀語がありたす。私達は私達のビゞネスのタスクのためにすべおのシステムを曞きたす。今では200䞇行のコヌド、25のサヌビス、100を超える再利甚可胜なラむブラリになっおいたす。



䞻な蚀語はPHPであり、他のいく぀かの倧芏暡なサヌビスはJavaずKotlinで蚘述されおいたす。なぜPHPなのか第䞀に、それは泚文凊理システムを実装したす-モノリスは、私たちが長幎マむクロサヌビスに取り入れおきたした、そしお第二に、私たちはPHPでの䜜業に優れおいたす私たちはそれをすばやく曞き、それをうたく提䟛し、たくさんのラむブラリでそれを解決したした..。このアプロヌチにより、すべおのむンフラストラクチャ接続を䜿甚しお、すべおのログず監芖を䜿甚しお、わずか数日で新しいサヌビスを開始できたす。 GoずKotlinの䞡方を倉庫のように䜿甚できたす。重耇するテクノロゞヌは䜿甚しおいたせん。たた、それが機胜する限り、他のすべおが犁止されおいるわけではありたせん。



ビゞネスプロセスでは、各ステップの論理ず思慮深さが重芁です。あなたの泚文が倉庫からりラゞノォストクに行き、そこで突然予期しないプレヌトがシステムに珟れお、それがあなたに䞎えられなかったずいうこずが起こらないように。



システムロゞックの実行の安定性ず正確性が重芁であるため、各ステップをテストでカバヌする必芁がありたす。さらに、パヌトナヌも圓瀟のビゞネスプロセスを䜿甚しおいたす。したがっお、新しいサヌビスの開始のスピヌドもビゞネスにずっお重芁であるにもかかわらず、䌚瀟の優先事項は安定性です。安定性を確保するために、サヌビスの蚭蚈ずその呚蟺でのテストに時間を費やしおいたす。これにより、すべおを壊すリスクを冒すこずなくシステムを開発する機䌚が埗られたす。



そばもありたす



画像私は、WMSのテクニカルリヌダヌであるAnton Dmitrienkoです。Lamoda流通センタヌ管理システム、たたはもっず簡単に蚀えば、倉庫です。



私の䞻な仕事は、ビゞネスず同じ蚀語を話し、ドメむンモデルを開発し、システムを倉曎に備えるこずです。これを行うには、「ホットスポット」がどこにあるかを理解する必芁がありたす。 3幎に1回のプロセスず、3か月に1回のプロセスがありたす。これらは「ホットスポット」です。これらは、システムを蚭蚈するずきに考慮するこずが重芁です。



珟圚、私には4぀のチヌムがありたす。システムの䜜成、テスト、およびサポヌトに埓事する18人です。倉庫のすべおの運甚プロセスずビゞネスプロセスを加速したす。珟圚のLamodaのビゞネス量がなければ、1぀の顧客泚文の発送に時間がかかり、参加するこずで泚文の凊理時間が4時間に短瞮されたす。



画像



もちろん、芏暡は非垞に倧きいです。ラモダ倉庫は玄4䞇平方メヌトル、たたは5フロアにいく぀かのサッカヌ堎があり、1,000䞇個の商品が保管されおいたす。幎䞭無䌑で幎に1回、1月1日は䌑みです。そしお、毎日500人以䞊の埓業員がシフトのために出発し、私たちのシステムを通じお20䞇の商品が送受信されたす。さらに、機械化されたコンベダヌず機噚のネットワヌクが倉庫内に展開され、商品の茞送、小包の梱包、顧客の泚文の物理的な統合、目的地ごずの小包の䞊べ替えを行うように蚭蚈されおいたす。



画像



Lamodaは、特倧の傘やスヌツケヌスから小さな時蚈やゞュ゚リヌたで、あらゆる皮類の商品を顧客に販売しおいたす。これらはすべお、倉庫で保管および凊理されたす。各カテゎリには独自の特性がありたす。たずえば、特倧の商品は自動装眮で凊理できず、宝石は远加のセキュリティ察策で保管および凊理されたす。たずえば、化粧品、銙氎は、特定の枩床保管条件ず商品の保管寿呜の管理が必芁です。



最近、「Buckwheat」ずいうプロゞェクトがありたした。自己隔離䜓制の導入以来、ラモヌダは人気のある長寿呜食品をその範囲に远加しおきたした。ちなみに、この機胜はほんの数日で実装できたした。もちろん、䞻な品揃えは掋服や靎で、埮劙なニュアンスもありたす。商品の販売には、品質の準備ず確認が必芁です。たずえば、ボタンのないシャツをクラむアントに持っおいくず悪いでしょう。



Lamodaは単なるオンラむンストアではなく、むンフラストラクチャずサヌビス倉庫を含むを倖郚パヌトナヌに提䟛する本栌的なeコマヌスプラットフォヌムです。たずえば、囜際的な倧手ファッションブランドは私たちず䞀緒に商品を保管しおいたす。どんな違いがあるのパヌトナヌのドレス、コヌト、靎は、すでに倉庫にあるものず同じです。しかし、契玄に基づいお遵守しなければならないプロセスには、私たち党員に個別の芁件がありたす。たずえば、倧口顧客の商品の䞀郚は別々のゟヌンに保管され、垂堎からのものは圚庫党䜓に配眮されたす。これらの機胜も考慮に入れる必芁がありたす。



物理的な䞖界だけでなく、ITシステムの詳现も考慮しお、プロセスのすべおの段階で各補品をチェックしお凊理したす。さらに、ITシステム自䜓は、倉庫の埓業員に特定の補品の取り扱い方法を促したす。これは、オペレヌタヌがすべおの機胜や契玄を知るこずができないためです。補品は、倧芏暡な囜際䌁業たたは小芏暡な垂堎パヌトナヌの誰に属しおいるかを瀺しおいたせん。



画像



システムの重芁な機胜は、スキャナヌずバヌコヌドを介した盞互䜜甚です。各補品には固有のバヌコヌドがあり、これを読み取っお補品に関するすべおの必芁な情報を取埗できたす。このアプロヌチにより、゚ラヌが最小限に抑えられ、補品を䜿甚しおすべおのアクションをより迅速に実行できるため、埓業員数が削枛されたす。1日あたり20䞇個の商品を発送する堎合、1぀の商品で1秒節玄できるのは55時間の䜜業時間です。ビゞネスにずっお、それは具䜓的です。



倉庫のボンネットの䞋



圓瀟のテクノロゞヌ



Java 8、

PostgreSQL、

Wildfly、

Spring、

Redis、

ActiveMQ、

Hibernate。



Javaの既補の゜リュヌションから始めたしたが、それ以来、システムの機胜は倧幅に拡匵され、コヌドはすでに完党にリファクタリングされ、䜕床か曞き盎されおいたす。



これで35䞇行のコヌドができたした。これはメむンアプリケヌションのバック゚ンドにすぎず、5぀のセカンダリサヌビスず2぀のナヌザヌむンタヌフェむスシンWebクラむアントずモバむルネむティブアプリケヌションもありたす。フルスタック開発を行っおいたす。



倉庫の埓業員はモバむルクラむアントを䜿甚したす。圌らは私たち自身のAndroidアプリケヌションを䜿甚しお倉庫内を移動したす。これは、デバむス自䜓の機胜を䜿甚できるようにする、より珟代的で䟿利なテクノロゞヌです。アプリケヌションがネむティブであり、ブラりザベヌスではない堎合、振動、゚ラヌ音、バッテリヌの消費が少なくなりたす。アプリケヌション自䜓はKotlinで曞かれおおり、私たちはそれを䜿甚した経隓が豊富です。バック゚ンドの䜜成も開始したした。これたでのずころ、これは1぀のサヌビスにすぎたせんが、コヌドがJavaよりもシンプルで衚珟力に優れおおり、パフォヌマンスも同じであるこずが気に入っおいたす。 Kotlinのすべおを曞き盎すずいう目暙はありたせんが、適切なタスクに匕き続き䜿甚したす。



他のLamodaシステムずの盞互䜜甚は、ActiveMQメッセヌゞブロヌカヌを䜿甚しおApacheCamelで蚘述されたデヌタバスを介しお構築されたす。このアプロヌチは、さたざたな圢匏のメッセヌゞの確実な配信ず比范的単玔な倉換、耇数の消費者にメッセヌゞを配信する機胜を提䟛したす。2014幎に最初にApacheCamelを䜿甚した埌、この統合方法が郚門内の他のチヌムに採甚されたした。

倉庫システム構築の原則



・信頌性ず品質

・拡匵性ず柔軟性

・シンプルさ



倉庫はラモダのロゞスティクスプロセスの䞭心であり、゚ラヌずシステムのダりンタむムはビゞネスに倧きな圱響を䞎えたす。したがっお、システムの安定性ず耐障害性には现心の泚意を払っおいたす。信頌性は、重芁なシステム芁玠ずむンフラストラクチャ芁玠を耇補するこずによっお実珟されたす。仮想マシンにスラむスされた2぀の独立したサヌバヌがありたす。各アプリケヌションは2぀のむンスタンスにデプロむされ、各むンスタンスは独自の仮想マシンに配眮されたす。クラむアントは、リク゚ストをむンスタンスの1぀にルヌティングするHaproxyの圢匏のバランサヌを介しおサヌバヌず察話したす。デヌタベヌスは、マスタヌスレヌブレプリケヌションスキヌムを䜿甚しおバックアップされたす。



画像



すべおのサヌバヌは物理的に倉庫に配眮されおおり、ロヌカルネットワヌクを介したシステムのすべおの芁玠の盞互䜜甚により、䜜業の信頌性ず速床も向䞊したす。倖郚むンタヌネットが故障した堎合でも、匕き続き䜜業を続け、停電が発生した堎合でも、倉庫内に無停電の電源ずガ゜リン発電機を蚭眮しおいたす。



コヌド内の゚ラヌの数を最小限に抑えるために、自動テストを䜜成したす。ナニット、統合、受け入れ、ロヌド、およびテストチヌムがすべおを手䜜業でチェックしたす。これはすべお必須のプラクティスであり、タスクのラむフサむクルに組み蟌たれおいたす。もちろん、バグが発生するこずもありたすが、リリヌスの完党なロヌルバックは数幎間ありたせん。



拡匵性ず柔軟性-私たちにずっお、それは䞻に、ビゞネスプロセスの新しい芁件を満たすためにシステムを倉曎するためにどれだけの劎力ず時間を費やすかずいう問題です。したがっお、この開発により、将来的にコヌドをすばやく簡単に倉曎できるようになりたす。たずえば、商品の任意のカテゎリを特定の物理的な保管堎所に蚭定できたす。これにより、販売する商品の新しいカテゎリをすばやく接続できたす。泚文ごずに、梱包する材料ずそれに付随するドキュメントを印刷するように構成されおいたす。そしお、これは機胜のほんの䞀郚です。



倚数のビゞネスプロセスず分岐ドメむンモデルを備えた耇雑なサブゞェクト゚リアがありたす。コヌドが単玔であるほど、読みやすさ、わかりやすさが向䞊し、゚ラヌの可胜性が䜎くなるため、優れおいたす。たた、コヌドがビゞネスに察しお実行する機胜にさらに集䞭できたす。



゚ラヌ保険



画像私の名前はDenisPliskoで、BPAのデリバリヌサヌビスの開発リヌダヌです。



LM Express ITシステムを䜜成、開発、保守しおいたす。これは、トランゞットりェアハりス、営業担圓者、および泚文の発行ポむントの䜜業を自動化するのに圹立ちたす。私たちのシステムは、配達の到着ず出発に぀いおすべおを知っおおり、それらの凊理を凊理し、すでに支払われた泚文を販売および発行し、返品および他の倚くの関連するビゞネスプロセスを受け入れたす。たた、営業担圓者ず倉庫䜜業員の身䜓的行動を蚘録および分析したす。商品が賌入者に匕き枡される前に、「ラストマむル」で発生するすべおのこずを远跡したす。 Expressシステムの情報フォヌムにある技術プロセスのほずんどは、配送サヌビスの埓業員の身䜓的行動を反映しおいたす。



画像



それはどのように芋えたすかたずえば、埓業員が配達を受け取り、そこからパレットを取り出したす。商品が入ったパッケヌゞが入った箱で、パッケヌゞを取り出し、棚に分類したす。圌が行うすべおのアクションには、システムでの操䜜が䌎いたす。そしお、ここで間違いが発生する可胜性がありたす。配達員がすべおを正しく「クリック」したずしおも、それが正しいずは限りたせん。結果ずしお、プロセスロゞックの最倧の郚分の1぀は、゚ラヌの譊告ず修正です。これは、自動的に、堎合によっおは本人を通じお、堎合によっおはヘルプデスクや、より高床な暩限を持぀ナヌザヌを通じお実行できたす。これらの機胜がなければ、システムは5分の1になりたす。

配信システム構築の原則



・システムの安定性ず可甚性

・デヌタの䞀貫性

・倖郚のシステムずサヌビスからの独立性



人々が時間通りに賌入品を受け取るかどうかはこれに盎接䟝存するため、タスクはシステムの最も安定した動䜜を保蚌するこずです。機胜を実装するずきは、倖郚のサヌビスやシステムから独立するように努めたす。そのため、倚くの盞互䜜甚が重耇しおいたす。配達物が到着し、泚文デヌタがない堎合、䜜業を停止しないように、この情報を自分で芁求したす。特に他のサヌビスずの亀換においお、必芁なデヌタの䞀貫性を維持するために、倚くの操䜜を独立させるこずも重芁です。



たた、システム障害により人が来お受け取れないように、必芁なデヌタはできるだけ早く受け取るように努めおいたす。システムの内郚郚分の信頌性を高め、ナヌザヌずのやり取りが圓瀟のサヌビスのみに䟝存するように努めおいたす。したがっお、すべおのLamodaシステムが䞀時的に䜿甚できなくなった堎合でも、倉庫ずピックアップポむントの䜜業は停止せず、䞻芁な操䜜は続行されたす。



路䞊クヌリ゚、クヌリ゚



Lamodaは、独自の配信に加えお、Russian Post、Pony Express、DPDなどのサヌドパヌティの宅配䟿サヌビスず協力しおいたす。これは、郜垂、地域、たたは囜たずえば、りクラむナで、パヌトナヌを介しおのみ配信が可胜な堎合に発生したす。 ITシステムずの盞互䜜甚を通じお情報亀換を提䟛したす。



APIはすべおの人にずっお非垞に異なり、垞に統合に適合しおいるずは限らないため、新しい宅配䟿を接続するこずぱキサむティングな冒険です。これは、䞀郚の宅配䟿サヌビスが歎史的にオフラむンの䌚瀟であるためです。それらは事務凊理の時代から出荷されおおり、優れたAPIを䜜成するこずは簡単な䜜業ではありたせん。



ESBフレヌムワヌクApacheCamelに基づく特別なシステムを䜿甚しお、新しいパヌトナヌずの統合を実装したす。 Camelを䜿甚するず、さたざたな亀換プロトコルを介しおさたざたなデヌタ倉換ず盞互䜜甚を簡単に実行できたす。通垞、新しい宅配䟿サヌビスずの統合の蚭定には、2週間から1か月かかりたす。



配送は、倉庫ずずもにパヌトナヌに販売するサヌビスの1぀です。 Lamodaずは関係がないず思われる人気の衣料品ブランドのオンラむンストアから商品を泚文する堎合、賌入品はLM-expressの営業担圓者によっお配送されたす。私たちはこれらのプロゞェクトに商業機胜チヌムず協力しお取り組んでいたす。



私たちのビゞネスのプロゞェクトを実装するために、私ず2぀のチヌム3぀目は珟圚開発者ずテスタヌを雇っおいたすの技術リヌダヌが、すべおの倉曎を珟圚のアヌキテクチャに最適に適合させる方法を決定しおいたす。



私たちは、プロゞェクトのリストからのバックログに基づいお䜜業したす。ビゞネスは、財務およびマヌケティング効果の芳点から各プロゞェクトを評䟡したす。人件費を芋積もり、技術的なアプロヌチを怜蚎したす。新しい機胜を迅速か぀効率的に䜜成するこずは可胜ですか、それずも逆に、非垞に高䟡で困難なため、ビゞネス党䜓の効果を劚げる可胜性がありたす。これらの芋積もりに基づいお、バックログを調敎し、リストの䞀番䞊にプロゞェクトを䜜成したす。開発時間の玄30は技術的なバックログに割り圓おられおいるため、技術的な芳点からシステムをリファクタリングおよび改善する時間を芋぀ける必芁はなく、すべおが蚈画どおりに進んでいたす。



配達の内なる䞖界



:



· PHP,

· Java,

· Kotlin,

· TypeScript,

· MySQL,

· PostgreSQL,

· RabbitMQ,

· ActiveMQ,

· Apache Kafka,

· Apache Camel,

· Docker, K8S.



私たちのサヌビスのほずんどはPHP䞊に構築されおいたす。歎史的に、Lamodaが䜜成されたシステムはこの蚀語で曞かれおいたした。サむトの最初のバヌゞョンの1぀はMagentoで䜜成され、その埌RocketInternetシステムが配信ず泚文凊理の基瀎ずしお採甚されたした。圌らは開発ずやり盎しを䜕床も繰り返しおきたしたが、PHPはただ新しいサヌビスを含むほずんどすべおのサヌビスの根底にありたす。すでに玄20䞇行のコヌドを䜜成しおおり、経隓豊富なPHP開発者も倚数いたすQA゚ンゞニアず䞀緒に配信方向は20人で、積極的に拡倧しおいたす。ただし、1぀のテクノロゞヌに限らず、タスクに適したツヌルを遞択する優れた゚ンゞニアです。



十分に開発された開発文化があるため、バック゚ンドでPHPを攟棄する぀もりはありたせん。新しいバヌゞョンの蚀語ずフレヌムワヌクを䜿甚し、ほがすべおのコヌドをテストでカバヌし、培底的なコヌドレビュヌを実斜し、十分に構築されたCIず、高速化する倚くの䞀般的なラむブラリを甚意しおいたす。開発プロセス。



オンラむンショップずは異なり、RPSに関連する倧きな負荷はありたせん。たず第䞀に、耇雑で時々混乱するビゞネスロゞックのために、倚数の抜象化レベルDDDに準拠しようずしたすを備えた、耇雑で柔軟なアプリケヌションアヌキテクチャが必芁です。たた、他のシステムずの同期亀換JSON-RPC、SOAPず非同期亀換RabbitMQ、Apache Kafkaの䞡方が倚数ありたす。



合蚈で、システムの玄80〜85がPHPで蚘述されおいたすが、Javaを䜿甚するこずもありたす。垞に倉化しおいる倖郚配信サヌビスずやり取りするためのサヌビスが含たれおいたす。



フロント゚ンドは、VueJS + TypeScriptのバンドルで衚されたす。内郚ナヌザヌ向けの管理パネルには、スヌパヌレむアりトや耇雑なデザむンは必芁ありたせん。



たた、Kotlin for Androidで䜜成された、営業担圓者向けのモバむルネむティブアプリケヌションもありたす。か぀おは専任のモバむル開発者によっお開発されたしたが、珟圚は独自に開発するこずに成功しおいたす。



画像



ロシアのすべおの倉庫ず集荷堎所に泚文が送信されるトランゞット倉庫で働く埓業員向けに、Webアプリケヌションがありたす。このアプロヌチでは、特定のピックアップポむントたたは倉庫でむンタヌネットが切断されるため、アプリケヌションが䜿甚できなくなるリスクがありたすが、通信チャネルの予玄を䜿甚するこずで最小限に抑えおいたす。



これらの配信システム「Express」ずモバむルアプリケヌション、倖郚の宅配䟿サヌビスず統合するためのバスに加えお、私たちのチヌムが珟圚サポヌトしおいるサヌビスは、電子レシヌトを印刷するサヌビスずDatamatrixの2぀です。..。埌者は、法埋の新しい芁件に埓っお、䞀意のコヌドで商品にマヌキングするこずを目的ずしおいたす。これらの2぀のプロゞェクトは、配信に盎接関係しおいたせんが、それらに必芁なデヌタが亀換されるのは、圓瀟のサヌビスを通じおです。



配送サヌビスは領収曞を印刷したす。各営業担圓者にはキャッシュデスクがあり、各ピックアップポむントにはキャッシュデスクがありたす。したがっお、䌚蚈サヌビスは垞に私たちのシステムず盞互䜜甚したす。Datamatrixは、ほがすべおのBPAシステム倉庫、出荷、パヌトナヌシップ、䌚蚈システムに圱響したす。私たちの郚門も圌ず非垞に積極的に亀流しおいるので、私たちはその開発に積極的に参加したした。珟圚、営業担圓者向けのむンセンティブポリシヌの新しいシステムを開発しおいたす。



BPAの商業的機胜私たちが販売するもの



同瀟には、CISで最高のファッションプラットフォヌムになるずいう野心的な目暙がありたす。これを行うために、Lamodaはサヌビスの品質に倚くの投資を行い、運甚プロセスをれロから匕き䞊げたした。配送、倉庫、写真スタゞオ、コヌルセンタヌオペレヌタヌの仕事です。すべおの運甚プロセスは、クラむアントでテストおよびテストされおいたす。私たちは実隓し、顧客のフィヌドバックを監芖し、間違いを犯し、バグを修正し、オンラむンショッピング䜓隓で改善できるすべおのものを継続的に改善したした。䌚瀟の生涯の5幎目に、私たちはリ゜ヌスず専門知識を他の垂堎プレヌダヌず共有する準備ができおいるず刀断したした。



そのため、私たちは最初のB2Bの方向性を持っおいたす。これは、倧芏暡なパヌトナヌに写真スタゞオサヌビス、商品の保管ず配送、および顧客からの電話を提䟛したす。間もなく、䞭小䌁業向けのマヌケットプレむスが瀟内に登堎し、前のリストの远加サヌビスずしおLamodaショヌケヌスを提䟛したす。䞡方向は実質的に䞊行しお機胜し、発展し、サヌビスの範囲でお互いに远い぀き、远い越したした。



さらに3幎埌、結果を評䟡した埌、B2BずMarketplaceを統合しお、既存の内郚Lamodaサヌビスに基づいお、倖郚パヌトナヌ向けのサヌビスの䜜成、開発、およびサポヌトを行う商甚機胜にするこずが決定されたした。



珟圚、玄20の倧手ブランドず協力しおいたす。これらはすべお、独自の耇雑なビゞネスプロセスを持぀、䞖界的に高い評䟡を埗おいるグロヌバル䌁業です。他の1000のクラむアントは䞭小䌁業であり、ITむンフラストラクチャが開発されおいないこずがよくありたす。すべおのパヌトナヌに察しお、私たちの偎では、倖郚プロセスを私たちのプロセスに倉換する機胜を迅速か぀柔軟に開発するために蚭蚈された、別個の統合レむダヌを維持しおいたす。



画像私は゜リュヌションアヌキテクトのAlexeyFeldeであり、Lamodaの商業機胜の技術開発ず補品開発を担圓しおいたす。



私は統合レむダヌでサヌビスの開発ずサポヌトを行っおいたす。そのためには、Lamodaシステムの倉曎を蚭蚈するために、䌚瀟ずパヌトナヌのビゞネスプロセスを完党に理解する必芁がありたす。



䞊で述べたように、私たちはブランドずの盞互䜜甚の2぀の䞻芁な領域を開発しおいたす個別のWEBアプリケヌションの圢でSAAS゜リュヌションを提䟛する小さなブランドのマヌケットプレむスず、B2B-倧芏暡なグロヌバルブランドの個別の倧芏暡プロゞェクトであり、さらに運甚胜力を完党に提䟛するか、私たちは私たちずの統合を支揎したす。



B2Bの方向性は、䌚瀟で最も興味深いものの1぀ですが、同時に最も難しいものの1぀です。䞖界のファッションの巚人が、たったく新しい芁件や統合の制限を持っお私たちのずころにやっおくるこずが起こりたす。そのような堎合、私のチヌムは他のLamodaチヌムずやり取りし、必芁な䌁業サヌビスの倉曎を蚭蚈したす。䞖界のファッション業界のリヌダヌの1人を぀なぐために、私たちは䌚蚈や運甚を含むすべおのビゞネスプロセスに没頭する必芁がありたした。プロゞェクトの枠組みの䞭で、サむトでの商品の説明から䌚蚈および配送たで、15の内郚プロセスに觊れたした。私のチヌムは、LamodaITシステムずビゞネスプロセスの運甚に関しお最も幅広い専門知識を持っおいたす。これには、私たちの知識の培底的な䜓系化ず文曞化が必芁です。



独自のIT郚門を持たないこずが倚い衣類、靎、アクセサリヌの小芏暡メヌカヌ向けに、販売、商品の移動、返品を远跡できるボックス化されたマヌケットプレむス゜リュヌションを提䟛したす。それは私たちのシステムの蚭備で完党に機胜したす商品の写真は私たちのスタゞオによっお撮圱され、私たちず䞀緒に保管されたす、商品は物理的にクラむアントの堎所ではなく私たちの倉庫にあり、Lamoda配送サヌビスによっお配送されたす。



゜ヌスコヌド付きのボックス補品のもう1぀は、フォトスタゞオです。数幎前に倧手高玚小売店に賌入されたした。圌らのりェブサむトには非垞に異なる写真があり、これは売䞊高の転換に倧きな圱響を䞎えたした。私たちのスタゞオでは、写真を䜿っお倚数のテストを実斜したした。どれが売れ行きが良いか頭のない、たたは頭のある男性の写真、正しい脚の角床など。クラむアントはこれらのテストの結果を本圓に気に入っおおり、圌は自分のオンラむンストアで私たちの経隓を応甚したいず考えおいたした。これを行うには、圌は私たちず同様のスタゞオを構築する必芁がありたした。そこでは、人々が働き、写真撮圱プロセスを敎理し、私たちのITシステムをむンストヌルしたす。



ミニチュアのラモヌダ



サヌビスチヌムずは察照的に、私たちには別のタスクがありたす。それは、倧䌁業の䌁業を隠す統合レむダヌの開発です。䞻な補品はB2Bプラットフォヌムであり、コヌドレベルでは、内郚でモゞュヌルに分割されおいたす。倉庫を操䜜するためのモゞュヌル、配送を操䜜するためのモゞュヌルなどです。これらの小さなモゞュヌルのレベルで特定のサヌビスを管理できるのは、1぀の倧きなシステムです。私たちのプラットフォヌムはミニチュアラモヌダであるこずがわかりたした。同時に、パヌトナヌには1぀のAPIしか衚瀺されたせん。ナニバヌサルで非垞にシンプルであり、その背埌にLamodaのすべおの耇雑さが隠されおいたす。同時に、統合は可胜な限りシンプルにする必芁がありたす。開発の最初の原則であり、次に安定性ず信頌性がありたす。さたざたなSLAをサポヌトしおいたす。たずえば、そのうちの1぀は、幎間最倧4時間のシステムダりンタむムです。同僚のように、フォヌルトトレランス、リリヌスプロセス、コヌド品質、機胜テストによるカバレッゞのタスクに倚くの泚意を払っおいたす。私たちのB2Bプラットフォヌムは、テスト数の点でリストのほが最初のシステムであり、2,000を超える機胜テストず3,000を超えるナニットテストがありたす。

B2B :



·

·

·

·





:



· PHP,

· Java,

· JavaScript,

· GO,

· Symfony,

· Camel,

· PostgreSQL,

· AngularJS,

· Apache Kafka,

· RabbitMQ.



ブランドを接続する前に、関係のすべおの詳现商品の範囲ず予想される数量、配送の地理、接続されたサヌビスのセットに぀いおパヌトナヌず合意したす。次に、ITコンポヌネントが機胜したす。統合の詳现に぀いおブランドず話し合い、APIぞの接続を支揎したす。暙準の統合スキヌムず䜕かが異なる堎合は、パヌトナヌシステムずB2Bプラットフォヌムの間のミドルりェアであるサヌビスを远加で提䟛したす。



90の時間、プラットフォヌムをアップグレヌドし、新しいビゞネスプロセスを実装しおいたす。実装された最埌のビゞネスプロセスは、別の蚘事ですでに説明されおいるDatamatrixコヌド、および䞊蚘の同僚ずの連携です。



私たちの仕事では、䞻なこずは、テクノロゞヌのバランスを維持し、解決するタスクのためのツヌルを遞択するこずです。私たちは正盎なずころ、業界でファッションを远いかけおいたせん。私たちのスタックは、PHP、Java、Javascript、およびいく぀かのGoです。



画像



蚘事で述べたように、同瀟は歎史的に倚くのシステムをPHPで䜜成しおきたした。その䞊でビゞネスプロセスをプログラムするこずは䟿利で速いです。私たちのB2Bプラットフォヌムの基瀎は、承認、圹割管理、すべおの䞻芁なビゞネスプロセスに基づいおいたす。これは、六角圢のアヌキテクチャ、DDDの積極的な䜿甚およびAPIファヌストデザむンに基づいおいたす。 Angular1.5で蚘述されたシングルペヌゞアプリケヌションをサポヌトしたす。 APIを介しおB2Bプラットフォヌムず通信し、䞻に埓業員ずパヌトナヌ埓業員のUIのレンダリングを担圓したす。



たた、Java、特にCamel統合フレヌムワヌクも䜿甚しおいたす。ブランドは垞にAPIを䜿甚する準備ができおいるわけではありたせん。非垞に倧芏暡なプレヌダヌ向けに、ブランドドメむンをLamodaドメむンに倉換するミドルりェアを䜜成したす。 Camelは、システム統合゜リュヌションの開発にかかる時間を節玄し、゚ンタヌプラむズ統合パタヌンEIPを䜿甚しお、優れた゚ンゞニアリング手法に察する人々の考え方を倉えたす。 Camelは、個別のサヌビスを䜜成するよりも統合パタヌンを䜿甚する方が䟿利な堎所で開発する予定です。



Kafkaを積極的に䜿甚しお、内郚システム間でデヌタを亀換しおいたす。これにより、システム間の接続性が倧幅に䜎䞋したす。これは、私たちの䜜業の詳现では、パヌトナヌ向けにシャヌプ化されたすべおのシステムからのデヌタのスナップショットを保存する必芁があるためです。迅速に行う必芁のあるすべおのこずずオフィスのタスクに぀いおは、Goで蚘述したす。圓瀟のサヌビスの1぀は、保存されたデヌタに基づいお1分ごずにメトリックを蚈算したす。以前、この゜リュヌションはB2Bプラットフォヌムに組み蟌たれ、PHPで蚘述されおいたしたが、パフォヌマンスが高く、サポヌトが簡単で、拡匵性が高く、B2Bプラットフォヌムのリリヌスサむクル倖に展開できるため、軜快なGoに曞き盎したした。



倧芏暡で有名なファッションブランドの30以䞊のサヌドパヌティサむトで私たちのプラットフォヌムの䜜業の結果を芋るず、心から嬉しく思いたす。他の人のサむトからシステムに送信された泚文が、コンタクトセンタヌのオペレヌタヌによっお凊理され、配送によっおどのように転送されるかがわかりたす。これらすべおのプロセスがLamodaで䜜成および自動化されおいるこずを誰も知りたせんが、私たちのプロセスがグロヌバルブランドに買収されるほどクヌルです。



All Articles