Introduction to Mercari Micorservices Platform Team

Introduction to Mercari Micorservices Platform Team

Ecb3acc2d246962361a4f8b3f7a6dd12?s=128

taichi nakashima

July 19, 2018
Tweet

Transcript

  1. None
  2. @deeeet / @tcnksm Blog / deeeet.com Tech Lead at Mercari

    Microservices Platform Team
  3. Microservices at Mercari

  4. 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?
  5. 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
  6. 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)
  7. 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!
  8. Microservices Platform Team

  9. Why Platform Team?

  10. 10 Organization in Monolith Develop Monolith QA Deploy Operate QA

  11. 11 Organization in Monolith Develop Monolith QA Deploy Operate QA

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

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

    team SRE team QA Backend Team A Backend Team B Backend Team C
  14. 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
  15. 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
  16. 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.
  17. 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
  18. 18 Role of Platform Team • Kubernetes cluster admin •

    Providing core components and tools ◦ e.g., API gateway, Kubernetes controller • Support development of reliable Microservices
  19. 19 Principle of Platform Team • We utilize cloud service

    • We automate everything • We document everything
  20. 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
  21. 21 Work style • Use 50% for platform improvement •

    Use 50% for support & operations
  22. 22 Work style We follow OSS development style • Everything

    is in GitHub Issue base • Everything is reviewed by GitHub PR
  23. 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
  24. 24 Project management We are trying ZenHub for project management

  25. 25 Team @deeeet @masartz Tech Lead Engineering Manager

  26. 26 Team @b4b4r07 @spesnova @dtan4 @vbanthia_

  27. 27 Team from @_zchee_ @tjun_ @knnksk

  28. Technical Stack

  29. None
  30. None
  31. None
  32. Work In Progress

  33. Work In Progress

  34. We’re hiring!

  35. None