「Amazon Japan Tech Night #2」に参加してきた
amazonjapantechnight2.splashthat.com
Amazonのサービスを開発している方の話を聞けるのが珍しいので、参加してきました。
以下の目的で、四半期に1回ぐらいのペースでやっていく予定だそうです。
東京拠点の開発チームは主に4つあるそうです。
- marketplace
- INTech(小売)
- Search
- device(Alexa/Kindleなど)
発表内容以外の点で、他のミートアップと違うと感じたところは下記です。
- NDA契約が必要
- 確認したところ、スライドのシェア等は大丈夫で、懇親会等で知り得た機密情報とかが禁止という意味だそうです。
- 閉会のときに抽選会があり、Kindle系の商品が貰える
- 途中で帰らないインセンティブを与えるため?
発表
※ 客観的に記述したつもりですが、私の理解不足等で誤っている可能性もありますので、予めご了承ください。
Amazon Points
Amazon Pointsチームという、ポイント関連の開発を行ってる方々の発表でした。
登壇者
Matsuiさん
- 2019/4入社
- 前職:Linkedin
- ロッククライミング
komodaさん
The Feature
- Japan-first
- 東京がメインのチーム
- 顧客視点から見た機能
- 商品ページのポイント表示
- キャンペーン(本のまとめ買いなど、PrimeDay)
- クレカのポイントバック
The Tech
デザイン
- SOA, Microservices
- 他のサービスと密接なcollaboration
- 他システムと疎結合にすること
- 求められるスキル
- 他のサービスを含めコードを読むことが多いため、素早く理解すること
- 大規模システムにおけるハイレベルな設計
インフラ面
Fulfilment By Amazon Preorder Enhancement
自己紹介
JP Seller Tech Team
- 前職: KDDI
- 2016年入社
- チームは10人以上いる
Mission
Innovate on behalf of third-party sellers and to improve both cusromer and seller ecperiences across Amazon Marketplaces
最近の事例
FBAの予約注文の改善
背景
- 予約商品が売りづらい
- 発売日の設定、変更がseller自身でできない
解決方法
- SNSと SQSQueueでサーバレスなのでスケーラブル
- Downstreamがサブスクライブして処理を行う
- DeadLetterQueueに失敗したメッセージを突っ込む
DynamoDBにrequestを保存することで、workflowで複数の通知を一つにまとめることができる
Customer Service By Amazon
自己紹介
JP Seller Tech Team
- 日本に9年
- 1年間は群馬にいた
CSBA Overview
- sellerのCS代行サービス
- 中国のsellerが日本で販売するときなど
Seller
- sellerが適切かどうか
- アクティベーションのバッチJOB
Notification
考慮したこと
- セキュリティ
- 個人情報などはNotificationサービスでは持たない
- スケーラビリティ
- Queueを使って非同期にしたり、サービスを分割して適切にリリースを調整できるように
Tech1 Release Gating
リリース時の下のような課題に対して、QAゲートを使って解決
fn existingMethod() { ... if (releaseGate.useFeature("new_feature_42")) { newFeature.doStuff(); } ... }
Gradual Release
- 何%か指定することができる
- 本番環境でE2Eテストするために、QAだけに許可できる
- 障害が起こった際に影響を最小限に抑えるために、徐々にリリースできる
Tech2 Service Mocking
たくさんの他のマイクロサービスに依存したり、環境が異なったりして辛い。
そこで、依存しているサービスのモックをフレームワークによって作成して解決。
Katana
Applied Scientist
Katana
はJapanese Text Tokenizerのこと。
既存のトークナイザーは辞書を持っているタイプのものが多く、以下の要件に対応できない。
- MultiDomain(Product,音声デバイスなど)
- (検索ワードなどの)新しい言葉などに対応しないといけない