Slide 1

Slide 1 text

@tjun 20190522 Merpay Microservices On Microservices Platform

Slide 2

Slide 2 text

2 About me @tjun SRE at Merpay Engineering Manager

Slide 3

Slide 3 text

3 ● Intro: Merpay and microservices ● Developing Merpay microservices ● Operating Merpay microservices ● About Merpay SRE ● Summary

Slide 4

Slide 4 text

Introduction to Merpay and Microservices

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

8 Clients Merpay API Gateway API- serviceY ServiceA ServiceB ServiceC API- serviceX Web- serviceZ GKE

Slide 9

Slide 9 text

Developing Merpay Microservices on Microservice Platform

Slide 10

Slide 10 text

10 ● Start with microservices-starter-kit ● Create GCP and Kubernetes resources ● Write microservice application ● Deploy service with Spinnaker

Slide 11

Slide 11 text

11 Start with microservice-starter-kit ・ ・ ・ Developing Merpay microservices GCP project for GKE Centralized cluster Namespace: Service A Service A RBAC: Team A

Slide 12

Slide 12 text

12 Create GCP and Kubernetes resources ・ ・ Developing Merpay microservices

Slide 13

Slide 13 text

13 Write microservice application ・ ・ Developing Merpay microservices

Slide 14

Slide 14 text

14 Deploy application with Spinnaker ・ ・ Developing Merpay microservices Centralized cluster Namespace: Service A

Slide 15

Slide 15 text

Operating Merpay Microservices

Slide 16

Slide 16 text

16 ● SLO and Alerts ● Monitoring Microservices ● Incident handling

Slide 17

Slide 17 text

17 SLO and Alerts ・ ・ Operating Merpay microservices

Slide 18

Slide 18 text

18 Monitoring merpay microservices ・ Operating Merpay microservices

Slide 19

Slide 19 text

19 Monitoring merpay microservices ・ Operating Merpay microservices endpointA endpointB endpointC endpointD endpointE

Slide 20

Slide 20 text

20 Monitoring across microservices Operating Merpay microservices Datadog APM and Distributed Tracing with Go middlewares

Slide 21

Slide 21 text

21 Incident handling ・ ・ ・ Operating Merpay microservices

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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!!