$30 off During Our Annual Pro Sale. View Details »

What Are We Doing as Merpay Architect

Yuki Ito
December 14, 2021

What Are We Doing as Merpay Architect

Yuki Ito

December 14, 2021
Tweet

More Decks by Yuki Ito

Other Decks in Programming

Transcript

  1. What Are We Doing


    as Merpay Architect?
    Yuki Ito (@mrno110)

    View Slide

  2. Merpay / Mercoin


    Architect


    Mercari


    Microservices Platform CI/CD
    Yuki Ito


    @mrno110

    View Slide

  3. Agenda
    ɾArchitectur
    e

    ɾ׆ಈ಺༰

    View Slide

  4. Agenda
    ɾArchitecture
    ɾ׆ಈ಺༰

    View Slide

  5. Microservices
    Cloud Spanner
    Cloud Spanner Cloud Spanner
    Cloud Spanner Cloud Pub/Sub
    QR Payment
    Service XXX Service ZZZ
    Service YYY
    iD Payment
    Gateway Authority
    ɾɾɾ

    View Slide

  6. Architecture
    Cloud Spanner
    QR Payment
    Service XXX Service ZZZ
    Service YYY
    iD Payment
    Gateway Authority
    ɾɾɾ

    View Slide

  7. Go
    Cloud Spanner
    QR Payment
    Service XXX Service ZZZ
    Service YYY
    iD Payment
    Gateway Authority
    ɾɾɾ

    View Slide

  8. gRPC
    Cloud Spanner
    QR Payment
    Service XXX Service ZZZ
    Service YYY
    iD Payment
    Gateway Authority
    ɾɾɾ

    View Slide

  9. 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
    ɾɾɾ

    View Slide

  10. Kubernetes
    Cloud Spanner
    Cloud Spanner Cloud Spanner
    Cloud Spanner Cloud Pub/Sub
    QR Payment
    Service XXX Service ZZZ
    Service YYY
    iD Payment
    Gateway Authority
    ɾɾɾ

    View Slide

  11. Istio
    Cloud Spanner
    Cloud Spanner Cloud Spanner
    Cloud Spanner Cloud Pub/Sub
    QR Payment
    Service XXX Service ZZZ
    Service YYY
    iD Payment
    Gateway Authority
    ɾɾɾ

    View Slide

  12. Agenda
    ɾArchitecture
    ɾ׆ಈ಺༰

    View Slide

  13. Agenda
    ɾArchitectur
    e

    ɾ׆ಈ಺༰

    View Slide

  14. ׆ಈ಺༰
    ɾٕज़తͳҙࢥܾఆ
    ɾ૊৫తͳ՝୊ͷநग़ɾղܾ
    ɾDesign Doc ͷϨϏϡʔ
    ɾAPI Gateway ͷ։ൃ
    ɾٕज़ͷඪ४Խɾಋೖࢧԉ

    View Slide

  15. ׆ಈ಺༰
    ɾٕज़తͳҙࢥܾఆ
    ɾ૊৫తͳ՝୊ͷநग़ɾղܾ
    ɾDesign Doc ͷϨϏϡʔ
    ɾAPI Gateway ͷ։ൃ
    ɾٕज़ͷඪ४Խɾಋೖࢧԉ

    View Slide

  16. ٕज़తͳҙࢥܾఆ
    e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ

    View Slide

  17. ٕज़తͳҙࢥܾఆ
    e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ
    Gateway

    View Slide

  18. ٕज़తͳҙࢥܾఆ
    e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ
    BFF

    View Slide

  19. ٕज़తͳҙࢥܾఆ
    e.g. ϚΠΫϩαʔϏεͷΞʔΩςΫνϟ
    Services

    View Slide

  20. ٕज़తͳҙࢥܾఆ
    mercari / mercari-microservices-example

    View Slide

  21. ٕज़తͳҙࢥܾఆ
    e.g. ΧϯύχʔؒͷγεςϜ࿈ܞํ਑
    Merpay Mercoin

    View Slide

  22. ٕज़తͳҙࢥܾఆ
    🧑💻
    Architect
    🙋
    Exec (ܦӦ)
    🙋
    ϦʔΨϧ
    🙋
    ϦεΫ؅ཧ
    🙋
    ίϯϓϥΠΞϯε
    🙋
    Identity Platform
    🙋
    SRE
    🙋
    Product Engineer
    🙋
    ηΩϡϦςΟ

    View Slide

  23. ׆ಈ಺༰
    ɾٕज़తͳҙࢥܾఆ
    ɾ૊৫తͳ՝୊ͷநग़ɾղܾ
    ɾDesign Doc ͷϨϏϡʔ
    ɾAPI Gateway ͷ։ൃ
    ɾٕज़ͷඪ४Խɾಋೖࢧԉ

    View Slide

  24. ׆ಈ಺༰
    ɾٕज़తͳҙࢥܾఆ
    ɾ૊৫తͳ՝୊ͷநग़ɾղܾ
    ɾDesign Doc ͷϨϏϡʔ
    ɾAPI Gateway ͷ։ൃ
    ɾٕज़ͷඪ४Խɾಋೖࢧԉ

    View Slide

  25. ૊৫తͳ՝୊ͷநग़ɾղܾ
    e.g. QA؀ڥͷރׇ໰୊

    View Slide

  26. ૊৫తͳ՝୊ͷநग़ɾղܾ
    e.g. QA؀ڥͷރׇ໰୊
    🧑💻
    Architect
    😢
    QA
    😢
    Developer
    ώΞϦϯά

    View Slide

  27. ૊৫తͳ՝୊ͷநग़ɾղܾ
    e.g. QA؀ڥͷރׇ໰୊

    View Slide

  28. ૊৫తͳ՝୊ͷநग़ɾղܾ

    View Slide

  29. ૊৫తͳ՝୊ͷநग़ɾղܾ
    e.g. QA؀ڥͷރׇ໰୊
    🧑💻
    Architect
    😄
    QA
    😄
    Developer
    ಋೖࢧԉ

    View Slide

  30. ૊৫తͳ՝୊ͷநग़ɾղܾ
    e.g. QA؀ڥͷރׇ໰୊

    View Slide

  31. ׆ಈ಺༰
    ɾٕज़తͳҙࢥܾఆ
    ɾ૊৫తͳ՝୊ͷநग़ɾղܾ
    ɾDesign Doc ͷϨϏϡʔ
    ɾAPI Gateway ͷ։ൃ
    ɾٕज़ͷඪ४Խɾಋೖࢧԉ

    View Slide

  32. ׆ಈ಺༰
    ɾٕज़తͳҙࢥܾఆ
    ɾ૊৫తͳ՝୊ͷநग़ɾղܾ
    ɾDesign Doc ͷϨϏϡʔ
    ɾAPI Gateway ͷ։ൃ
    ɾٕज़ͷඪ४Խɾಋೖࢧԉ

    View Slide

  33. Design Doc ͷϨϏϡʔ
    Microserviceͷ։ൃϑϩʔ
    📝
    Design Docͷ࡞੒
    👀
    Design DocͷϨϏϡʔ
    📝
    API (gRPC) ఆٛ
    🧑💻
    ࣮૷

    View Slide

  34. Design Doc ͷϨϏϡʔ
    Microserviceͷ։ൃϑϩʔ
    📝
    Design Docͷ࡞੒
    👀
    Design DocͷϨϏϡʔ
    📝
    API (gRPC) ఆٛ
    🧑💻
    ࣮૷

    View Slide

  35. Design Doc ͷϨϏϡʔ
    Design Doc ͷ಺༰
    ɾΞʔΩςΫνϟ
    ɾೝূɾೝՄ
    ɾσʔλ (Database, PII
    )

    ɾґଘαʔϏε
    ɾηΩϡϦςΟ
    ...

    View Slide

  36. Design Doc ͷϨϏϡʔ
    Microserviceͷ։ൃϑϩʔ
    📝
    Design Docͷ࡞੒
    👀
    Design DocͷϨϏϡʔ
    📝
    API (gRPC) ఆٛ
    🧑💻
    ࣮૷

    View Slide

  37. Design Doc ͷϨϏϡʔ
    📝
    Design Doc
    🧑💻
    Architect
    🧑💻
    Security
    🧑💻
    SRE
    🧑💻
    Security

    View Slide

  38. Design Doc ͷϨϏϡʔ
    Microserviceͷ։ൃϑϩʔ
    📝
    Design Docͷ࡞੒
    👀
    Design DocͷϨϏϡʔ
    📝
    API (gRPC) ఆٛ
    🧑💻
    ࣮૷

    View Slide

  39. ׆ಈ಺༰
    ɾٕज़తͳҙࢥܾఆ
    ɾ૊৫తͳ՝୊ͷநग़ɾղܾ
    ɾDesign Doc ͷϨϏϡʔ
    ɾAPI Gateway ͷ։ൃ
    ɾٕज़ͷඪ४Խɾಋೖࢧԉ

    View Slide

  40. ׆ಈ಺༰
    ɾٕज़తͳҙࢥܾఆ
    ɾ૊৫తͳ՝୊ͷநग़ɾղܾ
    ɾDesign Doc ͷϨϏϡʔ
    ɾAPI Gateway ͷ։ൃ
    ɾٕज़ͷඪ४Խɾಋೖࢧԉ

    View Slide

  41. 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
    ɾɾɾ

    View Slide

  42. 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
    ɾɾɾ

    View Slide

  43. 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

    View Slide

  44. API Gateway Pattern
    ɾAuthentication / Authorizatio
    n

    ɾDomain / IP Managemen
    t

    ɾTLS Terminatio
    n

    ɾData Format Transcodin
    g

    etc...
    Microservice ʹڞ௨͢Δ໰୊ͷղܾ

    View Slide

  45. 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
    ɾɾɾ

    View Slide

  46. API Gateway ͷ։ൃ
    CDN
    Cloud Load Balancer (Ingress)
    API Gateway Server

    View Slide

  47. ׆ಈ಺༰
    ɾٕज़తͳҙࢥܾఆ
    ɾ૊৫తͳ՝୊ͷநग़ɾղܾ
    ɾDesign Doc ͷϨϏϡʔ
    ɾAPI Gateway ͷ։ൃ
    ɾٕज़ͷඪ४Խɾಋೖࢧԉ

    View Slide

  48. ׆ಈ಺༰
    ɾٕज़తͳҙࢥܾఆ
    ɾ૊৫తͳ՝୊ͷநग़ɾղܾ
    ɾDesign Doc ͷϨϏϡʔ
    ɾAPI Gateway ͷ։ൃ
    ɾٕज़ͷඪ४Խɾಋೖࢧԉ

    View Slide

  49. ٕज़ͷඪ४Խɾಋೖࢧԉ
    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
    ɾɾɾ

    View Slide

  50. ٕज़ͷඪ४Խɾಋೖࢧԉ
    e.g. Istio ͷಋೖ
    🧑💻
    Architect
    🧑💻
    Microservice Platform
    🧑💻
    Developer

    View Slide

  51. ׆ಈ಺༰
    ɾٕज़తͳҙࢥܾఆ
    ɾ૊৫తͳ՝୊ͷநग़ɾղܾ
    ɾDesign Doc ͷϨϏϡʔ
    ɾAPI Gateway ͷ։ൃ
    ɾٕज़ͷඪ४Խɾಋೖࢧԉ

    View Slide

  52. Vision
    ࣄۀ੒௕Λࢧ͑ಘΔγʔϜϨεͰ৴པੑͷߴ͍

    ΞʔΩςΫνϟΛઃܭ͠ɺೳಈతʹΤϯδχΞϦϯάΛઌಋ͢Δɻ

    View Slide

  53. Vision

    View Slide

  54. એ఻ 1
    https://gihyo.jp/book/2022/978-4-297-12519-6

    View Slide

  55. એ఻ 2
    https://meety.net/matches/CbIudcYbsTNu

    View Slide