Our Practices of Delegating Ownership
in Microservices World
Daisuke Fujita (@dtan4)
Mercari, Inc.
Microservices Platform Team
June 14, 2019
SREcon19 Asia/Pacific Lightning Talk
Slide 2
Slide 2 text
delegating ownership?
At Mercari Microservices
Slide 3
Slide 3 text
Monolith (-2018)
Good at first, but not scalable
Need to change the system &
organization, before growing up more
- Complexity
- Velocity
Slide 4
Slide 4 text
Scale the organization &
Maximize output
Microservices at Mercari
small / autonomous /
cross-functional teams
strong ownership by the teams
Slide 5
Slide 5 text
Ownership by Microservice Team
...how?
Service teams
write code, deploy it, run it
by themselves
Slide 6
Slide 6 text
Q: How to prepare
microservice’s infrastructure?
Slide 7
Slide 7 text
Monorepo for Terraform Configurations
Slide 8
Slide 8 text
Monorepo for Terraform Configurations
terraform/microservices
|-- mercari-echo-jp
| |-- development
| `-- production
| |-- backend.tf
| |-- google_bigquery_dataset.tf
| |-- google_spanner_database.tf
| |-- module_microservice_starter_kit.tf
| |-- providers.tf
| `-- variables.tf
`-- mercari-listing-jp
|-- development
`-- production
Slide 9
Slide 9 text
Q: What are the microservices
requirements in production?
Slide 10
Slide 10 text
Production Readiness Checklist
Slide 11
Slide 11 text
Production Readiness Checklist
- Maintainability
- Durability
- Observability
- Reliability
- Security
- Accessibility
- Sustainability
- Data Storage
Slide 12
Slide 12 text
Production Readiness Checklist
TODO: automated regular check
GitHub issue-based check & review process
Slide 13
Slide 13 text
Conclusion
Ownership by microservice teams
- Monorepo for provisioning microservice
infrastructure
- Production Readiness Checklist
It contributes to organizational expansion with
microservices
https://careers.mercari.com