Slide 1

Slide 1 text

Platform Engineering at Mercari Platform Engineering Kaigi 2024

Slide 2

Slide 2 text

Taichi Nakashima @deeeet / @tcnksm VP of Platform Engineering

Slide 3

Slide 3 text

Agenda
 ● Overview Of Mercari Developer Platform ● How did we evolve Platform Engineering? ● Future of Platform Engineering at Mercari

Slide 4

Slide 4 text

Overview of Mercari Developer Platform

Slide 5

Slide 5 text

Mission of Platform Engineering at Mercari
 Providing core infrastructure, toolings and workflows for Mercari Group developers so that they can deliver new value and experience to Mercari customers quickly and reliably.

Slide 6

Slide 6 text

Mission of Platform Engineering at Mercari
 Providing core infrastructure, toolings and workflows for Mercari Group developers so that they can deliver new value and experience to Mercari customers quickly and reliably.

Slide 7

Slide 7 text

Platform

Slide 8

Slide 8 text

Mission of Platform Engineering at Mercari
 Providing core infrastructure, toolings and workflows for Mercari Group developers so that they can deliver new value and experience to Mercari customers quickly and reliably.

Slide 9

Slide 9 text

Build Test Deploy Operate Infrastructure Network Interface Documentation On-support Production readiness check Service catalog Template project Language package/library Protobuf management CI platform QA environment & automation Cloud administration Kubernetes administration Terraform & Kubernetes monorepo CDN administration Cloud & physical network Service mesh Delivery platform Experimentation platform Supply Chain Security protection Delivery configuration management Observability platform Production access managements

Slide 10

Slide 10 text

Service C Service D Service B Service E Service A Mercari, Merpay, Hallo services Google Kubernetes Engine 200+ Microservices 4000+Kubernetes Pods 3 main business

Slide 11

Slide 11 text

How did we evolve Platform Engineering?

Slide 12

Slide 12 text

How we evolve Platform Engineering?
 ● Startup phase (2017-2020) ● Expansion phase (2020-2024)

Slide 13

Slide 13 text

Startup Phase 2017-2020

Slide 14

Slide 14 text

Why Platform Engineering?

Slide 15

Slide 15 text

Microservices architecture migration

Slide 16

Slide 16 text

QA team SRE team Test Deploy Operate Build Monolith Backend Team

Slide 17

Slide 17 text

QA team SRE team Test Deploy Operate Build Monolith Backend A Team Backend B Team Backend C Team

Slide 18

Slide 18 text

Product A Team QA team SRE team Build Service A Product B Team Build Service B Product C Team Build Service C Test Deploy Operate

Slide 19

Slide 19 text

QA team SRE team Test Deploy Operate Product A Team Product B Team Product C Team Build Service A Build Service B Build Service C

Slide 20

Slide 20 text

Test Deploy Operate Test Deploy Operate Test Deploy Operate Product A Team Product B Team Product C Team Build Service A Build Service B Build Service C

Slide 21

Slide 21 text

Test Deploy Operate Test Deploy Operate Test Deploy Operate Platform Platform Team Product A Team Product B Team Product C Team Build Service A Build Service B Build Service C

Slide 22

Slide 22 text

How did we approached initial development?

Slide 23

Slide 23 text

Start from “Collaboration”

Slide 24

Slide 24 text

Collaboration X-as-Service / Self-service Product Teams Platform Team

Slide 25

Slide 25 text

Old Infrastructure Monolith System

Slide 26

Slide 26 text

API Gateway New Platform Old Infrastructure Monolith System Service A

Slide 27

Slide 27 text

API Gateway Listing New Platform Old Infrastructure Monolith System

Slide 28

Slide 28 text

API Gateway Listing Merpay API New Platform Old Infrastructure Monolith System

Slide 29

Slide 29 text

Start from “Collaboration”
 ● Easy Discovery: Platform team can actually facing the issue as Stream-aligned team and understand it clearly ● Easy Validation: Platform team can get feedback directly from the team and iterate quickly ● Business contribution: Platform team can produce some business value when collaboration is completed

Slide 30

Slide 30 text

How we evolve Platform Engineering?
 ● Startup phase (2017-2020) ● Expansion phase (2020-2024)

Slide 31

Slide 31 text

Expansion Phase 2020-2024

Slide 32

Slide 32 text

Expansion Phase
 ● Updating Platform Engineering Organization ● Moving toward Single Platform

Slide 33

Slide 33 text

Updating Platform Engineering Organization

Slide 34

Slide 34 text

Problems raised by the platform team at the team off-site

Slide 35

Slide 35 text

Strategies
 ● Teams for Software Development Lifecycle (SDLC) ● Platform teams for platform teams ● Team for Platform interface

Slide 36

Slide 36 text

Build Test Deploy Operate

Slide 37

Slide 37 text

Build Test Deploy Operate Platform DX Observability CI/CD

Slide 38

Slide 38 text

Platform Infra Network Infrastructure Network Build Test Deploy Operate Platform DX Observability CI/CD

Slide 39

Slide 39 text

Team Team Team Team Team Team

Slide 40

Slide 40 text

Component Component Component Component Component Component

Slide 41

Slide 41 text

Component Component Component Component Component Component Product B Team Product C Team Product A Team

Slide 42

Slide 42 text

Team Team Team Team Team Team Platform Product B Team Product C Team Product A Team

Slide 43

Slide 43 text

Team Team Team Team Team Team Platform Platform DX ● Documentation system ● Support ticket system ● Abstraction system Product B Team Product C Team Product A Team Interface

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

https://www.flickr.com/photos/docsearls/5500714140/

Slide 46

Slide 46 text

Expansion Phase
 ● Updating Platform Engineering Organization ● Moving toward Single Platform

Slide 47

Slide 47 text

Moving toward Single Platform

Slide 48

Slide 48 text

Platform

Slide 49

Slide 49 text

MK Platform FT Platform Hallo Platform MK Platform Team FT Platform Team H Platform Team

Slide 50

Slide 50 text

Moving toward Single Platform
 ● Migrating legacy systems ● Enabling new business

Slide 51

Slide 51 text

Migrating legacy systems

Slide 52

Slide 52 text

API Gateway New Platform Old Infrastructure Monolith System

Slide 53

Slide 53 text

API Gateway New Platform Monolith System

Slide 54

Slide 54 text

Migrating legacy system
 ● Removing additional operation cost ● Assigning the members to the new areas ● Using the same tooling for legacy system development

Slide 55

Slide 55 text

Moving toward Single Platform
 ● Migrating legacy systems ● Enabling new business

Slide 56

Slide 56 text

Enabling new business

Slide 57

Slide 57 text

New business = New technologies?

Slide 58

Slide 58 text

Isolation?

Slide 59

Slide 59 text

💪

Slide 60

Slide 60 text

https://www.flickr.com/photos/alasdairjmckenzie/8154861542/

Slide 61

Slide 61 text

How we evolve Platform Engineering?
 ● Startup phase (2017-2020) ● Expansion phase (2020-2024)

Slide 62

Slide 62 text

Future of Platform Engineering at Mercari

Slide 63

Slide 63 text

Two Dimensions of Platform evolution
 ● Horizontal ○ Expanding our capability for new opportunities ○ e.g., Enabling new business, migrating legacy system ● Vertical ○ Improving & enhancing existing capabilities ○ e.g., Migrating self hosted CI system

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

Moving toward “Global” Single Platform

Slide 66

Slide 66 text

How did we evolve Platform Engineering?

Slide 67

Slide 67 text

Thank you