Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Fulfillment by ZOZOと中国版ZOZOTOWNでのAWS活用事例 / Case...
Search
mokamoto12
July 22, 2020
Technology
1
1.5k
Fulfillment by ZOZOと中国版ZOZOTOWNでのAWS活用事例 / Case of using AWS in FBZ and ZOZOCHINA.
mokamoto12
July 22, 2020
Tweet
Share
More Decks by mokamoto12
See All by mokamoto12
店舗在庫連携のCQRSを支えるメッセージング周りの技術 / Messaging and Patterns in DynamoDB for CQRS
mokamoto12
3
2.4k
Other Decks in Technology
See All in Technology
第9回情シス転職ミートアップ_テックタッチ株式会社
forester3003
0
160
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
240
OpenHands🤲にContributeしてみた
kotauchisunsun
0
250
Prox Industries株式会社 会社紹介資料
proxindustries
0
210
~宇宙最速~2025年AWS Summit レポート
satodesu
1
1.4k
rubygem開発で鍛える設計力
joker1007
1
140
IIWレポートからみるID業界で話題のMCP
fujie
0
740
MySQL5.6から8.4へ 戦いの記録
kyoshidaxx
1
100
フィンテック養成勉強会#54
finengine
0
120
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
2
160
Model Mondays S2E02: Model Context Protocol
nitya
0
200
Azure AI Foundryでマルチエージェントワークフロー
seosoft
0
150
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Embracing the Ebb and Flow
colly
86
4.7k
Statistics for Hackers
jakevdp
799
220k
Why Our Code Smells
bkeepers
PRO
337
57k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Gamification - CAS2011
davidbonilla
81
5.3k
What's in a price? How to price your products and services
michaelherold
245
12k
It's Worth the Effort
3n
184
28k
We Have a Design System, Now What?
morganepeng
52
7.6k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Being A Developer After 40
akosma
90
590k
Transcript
Fulfillment by ZOZOと中国版 ZOZOTOWNでのAWS活用事例 株式会社ZOZOテクノロジーズ BtoB事業部 岡元 政大 Copyright ©
ZOZO Technologies, Inc.
© ZOZO Technologies, Inc. 株式会社ZOZOテクノロジーズ BtoB事業部 岡元 政大 • 宮崎生まれ、宮崎育ちのエンジニア。
• Fulfillment by ZOZOの開発、中国版ZOZOTOWNのバック エンドの開発に従事。 • 宮崎のことがそこそこ大好き。 2
© ZOZO Technologies, Inc. アジェンダ • サービス紹介 • Fulfillment by
ZOZO(FBZ)と 中国版ZOZOTOWN(ZOZOCHINA)の構成 • FBZの問題点 • ZOZOCHINAの工夫と課題 • まとめ 3
© ZOZO Technologies, Inc. https://fbz.zozo.com/ • ZOZOTOWN出店企業の自社ECのフルフィルメント支援サービス • 自社EC運営のための撮影・採寸・梱包・配送などの各種フルフィルメン
ト業務を、ZOZOTOWNの物流センター「ZOZOBASE」が受託 • 設備投資・人件費・在庫保管料などの負担なしで、自社ECの運営が可 能 • 各販売チャネル(自社EC・店舗・ZOZOTOWN)の在庫連携が可能。これ により、商品欠品による販売機会の損失を最小化 4
© ZOZO Technologies, Inc. https://zozo.cn/ • 商品の販売に限らず、日本のファッション文化も発信する「ファッション メディアEC」 • 出店ショップ・ブランドの世界観を発信
• 商品は、日本国内の「ZOZOBASE」から中国へ越境発送 • 出店ショップの中国展開をサポート 5
© ZOZO Technologies, Inc. • 「中国アプリ」と「ZOZO」の間のデータ連携に困っていた • FBZで提供している機能とマッチしていた → FBZの開発を行っていたBtoB事業部が開発に関わる
BtoB事業部とZOZOCHINAの関係 6
© ZOZO Technologies, Inc. FBZ、ZOZOCHINAの構成 • サーバーレス • Serverless Framework
• Python • Lambda ◦ FBZ: 約400個 ◦ CHINA: 約90個 7
© ZOZO Technologies, Inc. FBZ、ZOZOCHINAの構成 8
© ZOZO Technologies, Inc. FBZとZOZOCHINAの違い • ミクロで見ると同じ構成 • ZOZOCHINAでは、FBZで課題となっていた点の解決を図った 9
© ZOZO Technologies, Inc. • 1度のリリースに1時間かかる ◦ 1つのサービスに約400個のLambda ◦ CloudFormationスタックにリソースが入り切らない
▪ 10数個のスタックに分けて更新を行っている FBZの問題点 10
© ZOZO Technologies, Inc. FBZの問題点 11
© ZOZO Technologies, Inc. • サービスを小さく分ける ◦ 更新があったサービスだけリリースできる ZOZOCHINAの構成 12
© ZOZO Technologies, Inc. ZOZOCHINAの構成 13
© ZOZO Technologies, Inc. ZOZOCHINAの構成 14
© ZOZO Technologies, Inc. ZOZOCHINAの構成 15 注文サービス 商品サービス 注文登録 販売可能チェック
© ZOZO Technologies, Inc. ZOZOCHINAの構成 16 注文サービス 商品サービス 注文登録 販売可能チェック
© ZOZO Technologies, Inc. • Lambdaを使うメリット(API Gatewayと比べて) ◦ IAMによる認証認可が楽 ▪
API Gatewayでは • リクエストの署名が必要 ▪ Lambdaでは • AWS SDK(boto3)がリクエストの署名を行ってくれる ZOZOCHINAの構成 17
© ZOZO Technologies, Inc. • Lambdaを使うメリット(API Gatewayと比べて) ◦ 管理が楽 ▪
API Gatewayの場合 • エンドポイント、パス、メソッドを指定する必要がある ▪ Lambdaの場合 • Lambdaの名前を指定することで呼び出し可能 ZOZOCHINAの構成 18
© ZOZO Technologies, Inc. • 保守性が上がる ◦ サービス内の構成を把握しやすい • 変更したサービスのみリリースが可能(やろうと思えば)
ZOZOCHINAの構成でよかったこと 19
© ZOZO Technologies, Inc. • 実は変更したサービスだけをリリースしていない ◦ 複数のサービスを1つのリポジトリで管理してる ▪ 仕組み作りに工夫が必要
◦ 言い訳:現状リリースの時間は10分程度と長くはない ZOZOCHINAの課題 20
© ZOZO Technologies, Inc. • FBZ、ZOZOCHINAではAWS Lambdaを活用してる • Lambdaが増えると構成によっては、リリースに時間がかかる •
ZOZOCHINAではサービスを小さく分けた ◦ 個別でリリース可能 ◦ 保守性の向上 • 実際に個別でリリースを行うのは今後の課題 まとめ 21
None