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
What Are We Doing as Merpay Architect
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yuki Ito
December 14, 2021
Programming
1.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
What Are We Doing as Merpay Architect
Yuki Ito
December 14, 2021
More Decks by Yuki Ito
See All by Yuki Ito
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
3.6k
Modular Monolith Go Server with GraphQL Federation + gRPC
110y
1
1.1k
Modular Monolith + Go @ newmo
110y
1
1.3k
Go + GraphQL @ newmo
110y
3
980
Architect / Platform Team at KAUCHE
110y
1
700
Cloud Run + Observability / Reliability @ KAUCHE
110y
0
670
Cloud Run CI/CD + QA @ KAUCHE
110y
1
670
Microservices on Cloud Run @ KAUCHE
110y
0
310
KAUCHE Loves Go
110y
0
530
Other Decks in Programming
See All in Programming
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
130
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
260
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
13
6.3k
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
220
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.8k
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
130
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.8k
Contextとはなにか
chiroruxx
1
370
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
360
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
160
Oxcを導入して開発体験が向上した話
yug1224
4
340
The NotImplementedError Problem in Ruby
koic
1
950
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
870
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
WCS-LA-2024
lcolladotor
0
660
A Tale of Four Properties
chriscoyier
163
24k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
400
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
750
A designer walks into a library…
pauljervisheath
211
24k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
330
Marketing to machines
jonoalderson
1
5.5k
Transcript
What Are We Doing as Merpay Architect? Yuki Ito (@mrno110)
Merpay / Mercoin Architect Mercari Microservices Platform CI/CD Yuki Ito
@mrno110
Agenda ɾArchitectur e ɾ׆ಈ༰
Agenda ɾArchitecture ɾ׆ಈ༰
Microservices Cloud Spanner Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
Architecture Cloud Spanner QR Payment Service XXX Service ZZZ Service
YYY iD Payment Gateway Authority ɾɾɾ
Go Cloud Spanner QR Payment Service XXX Service ZZZ Service
YYY iD Payment Gateway Authority ɾɾɾ
gRPC Cloud Spanner QR Payment Service XXX Service ZZZ Service
YYY iD Payment Gateway Authority ɾɾɾ
Google Cloud Platform Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Spanner Cloud Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
Kubernetes Cloud Spanner Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
Istio Cloud Spanner Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
Agenda ɾArchitecture ɾ׆ಈ༰
Agenda ɾArchitectur e ɾ׆ಈ༰
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
ٕज़తͳҙࢥܾఆ e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ
ٕज़తͳҙࢥܾఆ e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ Gateway
ٕज़తͳҙࢥܾఆ e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ BFF
ٕज़తͳҙࢥܾఆ e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ Services
ٕज़తͳҙࢥܾఆ mercari / mercari-microservices-example
ٕज़తͳҙࢥܾఆ e.g. ΧϯύχʔؒͷγεςϜ࿈ܞํ Merpay Mercoin
ٕज़తͳҙࢥܾఆ 🧑💻 Architect 🙋 Exec (ܦӦ) 🙋 ϦʔΨϧ 🙋 ϦεΫཧ
🙋 ίϯϓϥΠΞϯε 🙋 Identity Platform 🙋 SRE 🙋 Product Engineer 🙋 ηΩϡϦςΟ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
৫తͳ՝ͷநग़ɾղܾ e.g. QAڥͷރׇ
৫తͳ՝ͷநग़ɾղܾ e.g. QAڥͷރׇ 🧑💻 Architect 😢 QA 😢 Developer ώΞϦϯά
৫తͳ՝ͷநग़ɾղܾ e.g. QAڥͷރׇ
৫తͳ՝ͷநग़ɾղܾ
৫తͳ՝ͷநग़ɾղܾ e.g. QAڥͷރׇ 🧑💻 Architect 😄 QA 😄 Developer ಋೖࢧԉ
৫తͳ՝ͷநग़ɾղܾ e.g. QAڥͷރׇ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
Design Doc ͷϨϏϡʔ Microserviceͷ։ൃϑϩʔ 📝 Design Docͷ࡞ 👀 Design DocͷϨϏϡʔ
📝 API (gRPC) ఆٛ 🧑💻 ࣮
Design Doc ͷϨϏϡʔ Microserviceͷ։ൃϑϩʔ 📝 Design Docͷ࡞ 👀 Design DocͷϨϏϡʔ
📝 API (gRPC) ఆٛ 🧑💻 ࣮
Design Doc ͷϨϏϡʔ Design Doc ͷ༰ ɾΞʔΩςΫνϟ ɾೝূɾೝՄ ɾσʔλ (Database,
PII ) ɾґଘαʔϏε ɾηΩϡϦςΟ ...
Design Doc ͷϨϏϡʔ Microserviceͷ։ൃϑϩʔ 📝 Design Docͷ࡞ 👀 Design DocͷϨϏϡʔ
📝 API (gRPC) ఆٛ 🧑💻 ࣮
Design Doc ͷϨϏϡʔ 📝 Design Doc 🧑💻 Architect 🧑💻 Security
🧑💻 SRE 🧑💻 Security
Design Doc ͷϨϏϡʔ Microserviceͷ։ൃϑϩʔ 📝 Design Docͷ࡞ 👀 Design DocͷϨϏϡʔ
📝 API (gRPC) ఆٛ 🧑💻 ࣮
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
API Gateway ͷ։ൃ Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Spanner Cloud Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
API Gateway ͷ։ൃ Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Spanner Cloud Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
API Gateway Pattern https://docs.microsoft.com/en-us/dotnet/architecture/microservices/architect-microservice-container-applications/direct-client-to- microservice-communication-versus-the-api-gateway-pattern
API Gateway Pattern ɾAuthentication / Authorizatio n ɾDomain / IP
Managemen t ɾTLS Terminatio n ɾData Format Transcodin g etc... Microservice ʹڞ௨͢Δͷղܾ
API Gateway ͷ։ൃ Cloud Spanner Cloud Spanner Cloud Spanner Cloud
Spanner Cloud Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
API Gateway ͷ։ൃ CDN Cloud Load Balancer (Ingress) API Gateway
Server
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
ٕज़ͷඪ४Խɾಋೖࢧԉ e.g. Istio ͷಋೖ Cloud Spanner Cloud Spanner Cloud Spanner
Cloud Spanner Cloud Pub/Sub QR Payment Service XXX Service ZZZ Service YYY iD Payment Gateway Authority ɾɾɾ
ٕज़ͷඪ४Խɾಋೖࢧԉ e.g. Istio ͷಋೖ 🧑💻 Architect 🧑💻 Microservice Platform 🧑💻
Developer
׆ಈ༰ ɾٕज़తͳҙࢥܾఆ ɾ৫తͳ՝ͷநग़ɾղܾ ɾDesign Doc ͷϨϏϡʔ ɾAPI Gateway ͷ։ൃ ɾٕज़ͷඪ४Խɾಋೖࢧԉ
Vision ࣄۀΛࢧ͑ಘΔγʔϜϨεͰ৴པੑͷߴ͍ ΞʔΩςΫνϟΛઃܭ͠ɺೳಈతʹΤϯδχΞϦϯάΛઌಋ͢Δɻ
Vision
એ 1 https://gihyo.jp/book/2022/978-4-297-12519-6
એ 2 https://meety.net/matches/CbIudcYbsTNu