Merpay Microservices On Microservice Platform 20190522

5de063e47d0da381a3848e761a059a7a?s=47 tjun
May 22, 2019

Merpay Microservices On Microservice Platform 20190522

Introduce how we develop and operate Merpay's Microservices on Microservices Platform #mercari_microservices meetup on 2019/05/22

5de063e47d0da381a3848e761a059a7a?s=128

tjun

May 22, 2019
Tweet

Transcript

  1. @tjun 20190522 Merpay Microservices On Microservices Platform

  2. 2 About me @tjun SRE at Merpay Engineering Manager

  3. 3 • Intro: Merpay and microservices • Developing Merpay microservices

    • Operating Merpay microservices • About Merpay SRE • Summary
  4. Introduction to Merpay and Microservices

  5. 5 Mobile payment service that can be used through the

    marketplace app Mercari. Released 2019-02. Providing - iD(NFC) payment - Code payment - Payment inside mercari - Deferred pay(あと払い) - Coupon - Bank charge
  6. 6 • Merpay with microservice architecture ◦ Almost all merpay

    services are on the microservices platform ◦ Over 40 microservices (Go, Node.js) ◦ Examples: ▪ Internal services: payment-service, bank-service ▪ Service with Web: coupon-service and coupon-web-service ▪ Service with API: nfc-service and nfc-api-service
  7. 7 Merpay handles payment transactions • A lot of batches

    (ref: iD決済を支える技術 by @hiraku) • Connect with many external partners ◦ bank, merchants, iD payment provider, payment gateway... • Restricted ownership for developers
  8. 8 Clients Merpay API Gateway API- serviceY ServiceA ServiceB ServiceC

    API- serviceX Web- serviceZ GKE
  9. Developing Merpay Microservices on Microservice Platform

  10. 10 • Start with microservices-starter-kit • Create GCP and Kubernetes

    resources • Write microservice application • Deploy service with Spinnaker
  11. 11 Start with microservice-starter-kit ・ ・ ・ Developing Merpay microservices

    GCP project for GKE Centralized cluster Namespace: Service A Service A RBAC: Team A
  12. 12 Create GCP and Kubernetes resources ・ ・ Developing Merpay

    microservices
  13. 13 Write microservice application ・ ・ Developing Merpay microservices

  14. 14 Deploy application with Spinnaker ・ ・ Developing Merpay microservices

    Centralized cluster Namespace: Service A
  15. Operating Merpay Microservices

  16. 16 • SLO and Alerts • Monitoring Microservices • Incident

    handling
  17. 17 SLO and Alerts ・ ・ Operating Merpay microservices

  18. 18 Monitoring merpay microservices ・ Operating Merpay microservices

  19. 19 Monitoring merpay microservices ・ Operating Merpay microservices endpointA endpointB

    endpointC endpointD endpointE
  20. 20 Monitoring across microservices Operating Merpay microservices Datadog APM and

    Distributed Tracing with Go middlewares
  21. 21 Incident handling ・ ・ ・ Operating Merpay microservices

  22. 22 • Infra resources across applications ◦ Ingress, CDN ◦

    Capacity planning, Security • Production releases and operations ◦ Improve microservices operations ◦ Improve relialibity with reviewing SLO, terraform, Kubernetes yaml, datadog dashboard, monitor ◦ Incident handling
  23. 23 • Microservice platform helps Merpay microservices development • Common

    tech stack is important for microservices, especially in operations We are hiring members to improve Merpay service Infra, operations and microservice platform!!