Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Mercari Micorservices Platform ...

Introduction to Mercari Micorservices Platform Team

taichi nakashima

July 19, 2018
Tweet

More Decks by taichi nakashima

Other Decks in Technology

Transcript

  1. 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?
  2. 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
  3. 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)
  4. 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!
  5. 11 Organization in Monolith Develop Monolith QA Deploy Operate QA

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

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

    team SRE team QA Backend Team A Backend Team B Backend Team C
  8. 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
  9. 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
  10. 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.
  11. 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
  12. 18 Role of Platform Team • Kubernetes cluster admin •

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

    • We automate everything • We document everything
  14. 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
  15. 22 Work style We follow OSS development style • Everything

    is in GitHub Issue base • Everything is reviewed by GitHub PR
  16. 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