Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
リプレイスを通して実現した、 より高度なサービス改善 / Service improvemen...
Search
Kazuma Arimura
July 28, 2021
Programming
0
5.3k
リプレイスを通して実現した、 より高度なサービス改善 / Service improvement process through the system replacement
https://zozotech-inc.connpass.com/event/217488/
Kazuma Arimura
July 28, 2021
Tweet
Share
More Decks by Kazuma Arimura
See All by Kazuma Arimura
Query Rulesの現在地
pakio
0
190
言語モデルを用いたQuery Categorizationへの取り組み / LM-based query categorization for query understanding
pakio
0
1.1k
Search platform migration at MercariUS/Mercari USにおけるElasticsearchへの検索基盤移行:マイグレーションの知見と課題
pakio
0
670
Shard Balancingについて理解したい/Understanding shard rebalancing in Elasticsearch
pakio
0
1.1k
Rallyで支えるバージョン追従
pakio
0
1.2k
CUEを使ったJSONテンプレート管理
pakio
0
980
宣言的かつ安全に管理するElasticsearch/Declarative management for Elasticsearch
pakio
0
1k
8.0からのkNNはどう変わったのか / How kNN search changed in the Elasticsearch 8.0
pakio
1
2.2k
マッピング設定最適化によるパフォーマンス改善の取り組み + match_only_textのパフォーマンス検証 / Improving indexing performance by specifying mapping properties.
pakio
0
530
Other Decks in Programming
See All in Programming
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.3k
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
1.7k
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
3.8k
マスタデータ問題、マイクロサービスでどう解くか
kts
0
120
Java 25, Nuevas características
czelabueno
0
110
Cap'n Webについて
yusukebe
0
150
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
AIコーディングエージェント(skywork)
kondai24
0
200
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
150
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
250
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
5
710
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
890
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
Why Our Code Smells
bkeepers
PRO
340
57k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
0
22
GraphQLとの向き合い方2022年版
quramy
50
14k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
2
2.8k
Designing for humans not robots
tammielis
254
26k
Technical Leadership for Architectural Decision Making
baasie
0
180
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
510
How Software Deployment tools have changed in the past 20 years
geshan
0
30k
How to Talk to Developers About Accessibility
jct
1
85
Test your architecture with Archunit
thirion
1
2.1k
Transcript
リプレイスを通して実現した、 より高度なサービス改善 ZOZO Tech Meetup 〜マイクロサービス化に取り組む、16年目のZOZOTOWN〜 株式会社ZOZOテクノロジーズ EC基盤本部/検索基盤部 検索基盤チーム
有村 和真 Copyright © ZOZO Technologies, Inc.
© ZOZO Technologies, Inc. 株式会社ZOZOテクノロジーズ EC基盤本部/検索基盤部 検索基盤チーム 有村 和真
2019年4月 新卒入社 スパイスカレーにハマり中。プランター菜園で唐辛子栽培始 めました。 Twitter: @paki0o / GitHub: @pakio 2
© ZOZO Technologies, Inc. https://zozo.jp/ • 日本最大級のファッション通販サイト • 1,400以上のショップ、8,200以上のブランドの取り扱い(ともに2021年3月 末時点)
• 常時83万点以上の商品アイテム数と毎日平均2,900点以上の新着 商品 を掲載 • コスメ専門モール「ZOZOCOSME」や靴の専門モール 「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン 「ZOZOVILLA」を展開 • 即日配送サービス • ギフトラッピングサービス • ツケ払い など 3
© ZOZO Technologies, Inc. 4 ※ 実際のリプレイス作業の話ではなく、 リプレイス前後で何が変わったのかという話がメインです
© ZOZO Technologies, Inc. • 前提 : 「サービス改善」の定義 • リプレイス/マイクロサービス化によって実現したサービス改善
• まとめ 5 目次
© ZOZO Technologies, Inc. 「サービス改善」の定義 6 ※ 今回の発表のため定義したものであり、組織やチームでこう定義している、というものではありません
© ZOZO Technologies, Inc. 「サービス改善」の定義 ※ 今回の発表のため定義したものであり、組織やチームでこう定義している、というものではありません 7
サービス改善 ↓ 出来なかったことができるようになる
© ZOZO Technologies, Inc. 「サービス改善」の定義 ※ 今回の発表のため定義したものであり、組織やチームでこう定義している、というものではありません 8
サービス改善 ↓ 出来なかったことができるようになる 例) ユーザ 重たい処理が高速化され、ストレスなくサイトの閲覧が可能になる マネージャ 実装工数が減ることで、より多くの改善に着手できるようになる 開発 システム的制約が減ることにより、クリーンな実装や技術的な挑戦が可能になる
© ZOZO Technologies, Inc. 9 そもそもリソースが… どこが遅いのか… 機能Aやりたいけど VBじゃ難しそう リプレイス/マイクロサービス化前の課題
© ZOZO Technologies, Inc. 10 • どこが遅いのか分析できない ◦ 言語的・環境的制約でロギングやパフォーマンス計測が困難 •
言語的制約(Classic ASP)でできない ◦ JSON操作など標準的な機能が欠けている • リソースを増やすための仲間集めが難しい ◦ 対外的なアピールがしづらい リプレイス/マイクロサービス化前の課題 - やりたいけどできないことが割とある
© ZOZO Technologies, Inc. 11 • どこが遅いのか分析できない ◦ 言語的・環境的制約でロギングやパフォーマンス計測が困難 •
言語的制約(Classic ASP)でできない ◦ JSON操作など標準的な機能が欠けている • リソースを増やすための仲間集めが難しい ◦ 対外的なアピールがしづらい ⇒ リプレイス/マイクロサービス化により改善した リプレイス/マイクロサービス化前の課題 - やりたいけどできないことが割とある
© ZOZO Technologies, Inc. リプレイスによって目指すシステム像 12 1. サービスの分析ができる 2. 機能の実装、改善が素早くできる
3. 仲間集めができる
© ZOZO Technologies, Inc. 実際に改善できたのか 13
© ZOZO Technologies, Inc. 実際に改善できたのか 14 1. どこが遅いのか分析できない ↓
分析できる世界へ 事例 : 検索リクエスト集約
© ZOZO Technologies, Inc. 分析できる世界へ - 検索リクエスト集約 15 ZOZOTOWN検索機能のマイクロサービス化への取り組み -
ZOZO Technologies TECH BLOG https://techblog.zozo.com/entry/zozotown-search-microservice マイクロサービス化前
© ZOZO Technologies, Inc. 分析できる世界へ - 検索リクエスト集約
マイクロサービス化後 16 ZOZOTOWN検索機能のマイクロサービス化への取り組み - ZOZO Technologies TECH BLOG https://techblog.zozo.com/entry/zozotown-search-microservice
© ZOZO Technologies, Inc. 分析できる世界へ - 検索リクエスト集約
17 API Gateway
© ZOZO Technologies, Inc. 分析できる世界へ - 検索リクエスト集約
18 API Gatewayによるマイクロサービスへのアクセス制御 https://speakerdeck.com/takenakaj/api-gatewayniyorumaikurosabisuhefals eakusesuzhi-yu 分散トレーシングによって、 必要な情報が一意なIDで特定可 Amazon Athena
© ZOZO Technologies, Inc. リプレイスによって目指すシステム像 19 1. ✓サービスの分析ができる 2. 機能の実装、改善が素早くできる
3. 仲間集めができる
© ZOZO Technologies, Inc. 実際に改善できたのか 20 2. 言語的制約(Classic ASP)でできない
↓ 効率よく開発できる世界へ 事例 : サジェスト改善
© ZOZO Technologies, Inc. 効率よく開発できる世界へ - サジェスト改善
21 ユーザーログを活用したZOZOTOWNの検索サジェスト改善 https://techblog.zozo.com/entry/zozotown-search-suggestion リプレイス前 • 数十行の文字列結合処理 • HTTPクライアントを用いた通信 リプレイス後 • Elasticsearch公式のクエリビルダ • Elasticsearch公式のクライアント
© ZOZO Technologies, Inc. 効率よく開発できる世界へ - サジェスト改善
22 ユーザーログを活用したZOZOTOWNの検索サジェスト改善 https://techblog.zozo.com/entry/zozotown-search-suggestion リプレイス前 • 数十行の文字列結合処理 • HTTPクライアントを用いた通信 リプレイス後 • Elasticsearch公式のクエリビルダ • Elasticsearch公式のクライアント ⇒ 大幅な工数削減/実装の高度化
© ZOZO Technologies, Inc. リプレイスによって目指すシステム像 23 1. ✓サービスの分析ができる 2. ✓機能の実装、改善が素早くできる
3. 仲間集めができる
© ZOZO Technologies, Inc. 実際に改善できたのか 24 3. リソースを増やすための仲間集めが難しい ↓
自信を持って仲間集めに動ける世界へ 事例 : 外部発信の強化
© ZOZO Technologies, Inc. 25 Q. テックブログの執筆にあたり、何にハードルを感じますか? 自信を持って仲間集めに動ける世界へ - 外部発信の強化
社の代表として発表するので、内容を濃いものにする必要がある点。 内容的に外だしできるハードルが高そうなイメージがあります。 普段の業務からテックブログにかける内容が見つけにくい、執筆のための時間を確保しにくい とにかく多くの人目に晒されるので自分の発信能力では追いつかない感がある。 ※社内で実施したテクニカルライティング勉強会のアンケート結果
© ZOZO Technologies, Inc. 26 Q. テックブログの執筆にあたり、何にハードルを感じますか? 自信を持って仲間集めに動ける世界へ - 外部発信の強化
社の代表として発表するので、内容を濃いものにする必要がある点。 内容的に外だしできるハードルが高そうなイメージがあります。 普段の業務からテックブログにかける内容が見つけにくい、執筆のための時間を確保しにくい とにかく多くの人目に晒されるので自分の発信能力では追いつかない感がある。 ※社内で実施したテクニカルライティング勉強会のアンケート結果 ⇒ アウトプットを増やすには、ある程度チャレンジングなことが必要
© ZOZO Technologies, Inc. 自信を持って仲間集めに動ける世界へ - 外部発信の強化 27 種別 採用技術
利用箇所 開発言語 Java (Spring Boot) 検索API Python チーム内ツール全般 ミドルウェア Elasticsearch 検索エンジン 監視 Datadog 監視全般 Sentry エラー監視/管理 関連ツール SonarCloud 静的解析 … 検索APIで採用している技術 ⇒ 標準的な技術スタックをベースとしたうえで、改善に取り組める環境
© ZOZO Technologies, Inc. 自信を持って仲間集めに動ける世界へ - 外部発信の強化
28
© ZOZO Technologies, Inc. リプレイスによって目指すシステム像 29 1. ✓サービスの分析ができる 2. ✓機能の実装、改善が素早くできる
3. ✓仲間集めができる
© ZOZO Technologies, Inc. まとめ • リプレイス/マイクロサービス化によって開発者体験向上 • スピーディーな改善が可能に
• 技術的なプレゼンスの向上/仲間集めにも貢献 30
© ZOZO Technologies, Inc. We are hiring! 31 ZOZOTOWN 検索エンジニア
None