Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

@deeeet / @tcnksm Blog / deeeet.com Tech Lead at Mercari Microservices Platform Team

Slide 3

Slide 3 text

Microservices at Mercari

Slide 4

Slide 4 text

4 While we had lots of benefits of monolith architecture, its codebase is getting larger and complex... ● Difficult to implement new idea ● Difficult to on-boarding ● Difficult to try new technologies Why Microservices?

Slide 5

Slide 5 text

5 Even business & organization growth, we want to ● Avoid velocity stalled but rather provide new features faster ● Increase each developer productivity Why Microservices? Started to migrate Microservices architecure

Slide 6

Slide 6 text

6 Microservices? An application is built as independent components that run each function as a service. ● Autonomous ○ Developed, deployed, operated and scaled independently ● Specialized ○ Do one thing well (UNIX philosophy)

Slide 7

Slide 7 text

7 Benefits of Microservices ● Easy to test ● Easy to deploy ● Easy to on-boarding ● Easy to isolate failure We can achieve great agility of service development!

Slide 8

Slide 8 text

Microservices Platform Team

Slide 9

Slide 9 text

Why Platform Team?

Slide 10

Slide 10 text

10 Organization in Monolith Develop Monolith QA Deploy Operate QA

Slide 11

Slide 11 text

11 Organization in Monolith Develop Monolith QA Deploy Operate QA Backend Team A Backend Team B Backend Team C

Slide 12

Slide 12 text

12 Organization in Monolith Develop Monolith QA Deploy Operate QA Backend Team A Backend Team B Backend Team C QA team

Slide 13

Slide 13 text

13 Organization in Monolith Develop Monolith QA Deploy Operate QA team SRE team QA Backend Team A Backend Team B Backend Team C

Slide 14

Slide 14 text

14 Organization in Microservices Develop Service B QA Deploy Operate QA team SRE team Backend Team A Backend Team B Backend Team C Develop Service A Develop Service C

Slide 15

Slide 15 text

15 Organization in Microservices Develop Service B QA Deploy Operate Service Team A Service Team B Service Team C Develop Service A Develop Service C QA Deploy Operate QA Deploy Operate

Slide 16

Slide 16 text

16 Why Microservices Platform? To help each service team to reliably develop, deploy and operate by themselves To automate things done by SRE like infra bootstrap & provisioning, monitoring setup and so on.

Slide 17

Slide 17 text

17 Microservices Platform We build our platform top on Kubernetes ● Deploy containerized application ● Prepare required resources like DB ● Integrated with logging, monitoring & on-calling service

Slide 18

Slide 18 text

18 Role of Platform Team ● Kubernetes cluster admin ● Providing core components and tools ○ e.g., API gateway, Kubernetes controller ● Support development of reliable Microservices

Slide 19

Slide 19 text

19 Principle of Platform Team ● We utilize cloud service ● We automate everything ● We document everything

Slide 20

Slide 20 text

20 Work style Our SRE organization has an advertised goal of keeping operational work (i.e., toil) below 50% of each SRE’s time. At least 50% of each SRE’s time should be spent on engineering project work that will either reduce future toil or add service features. https://landing.google.com/sre/book/chapters/eliminating-toil.html

Slide 21

Slide 21 text

21 Work style ● Use 50% for platform improvement ● Use 50% for support & operations

Slide 22

Slide 22 text

22 Work style We follow OSS development style ● Everything is in GitHub Issue base ● Everything is reviewed by GitHub PR

Slide 23

Slide 23 text

23 Project management We also improve project management style by ourseflves for each Q In this Q, we’re trying 2 week sprint agile style project management

Slide 24

Slide 24 text

24 Project management We are trying ZenHub for project management

Slide 25

Slide 25 text

25 Team @deeeet @masartz Tech Lead Engineering Manager

Slide 26

Slide 26 text

26 Team @b4b4r07 @spesnova @dtan4 @vbanthia_

Slide 27

Slide 27 text

27 Team from @_zchee_ @tjun_ @knnksk

Slide 28

Slide 28 text

Technical Stack

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Work In Progress

Slide 33

Slide 33 text

Work In Progress

Slide 34

Slide 34 text

We’re hiring!

Slide 35

Slide 35 text

No content