20. echo-service
echo-service
Use internal-tool called starter-kit based on terraform to manage microservice team
Centralized GKE Cluster Pub/Sub
Spanner
IAM
...
RBAC
starter
kit
Cloud Build
Container
Registry
29. Bootstrap
● echo service
○ GoLang template service for microservice
● starter kit
○ Internal tool based on Terraform to create / manage infrastructure
as code
30. echo service
This creates a new microservice foo-service with features:
● Application logs
● Datadog integration
● Sentry integration
● CI/CD scripts
● ….
31. starter-kit
This creates terraform resource files for:
● GCP Project
● Github Team
● Kubernetes namespace
● GCP service account and Kubernetes Secrets
● ….
https://speakerdeck.com/b4b4r07/terraform-ops-for-microservices
32. Centralized GKE Cluster Pub/Sub
Spanner
IAM
RBAC
...
foo-service
starter-kit will create all these resources
starter
kit
37. ● Custom kubernetes controller which creates new deployment
whenever a new pull request is created for a microservice
● Help developers in developing, debugging and testing microservice
in cluster itself
● Enables developers to change environment variables, dependent
microservices etc for their pull request
pull request replication controller
https://www.slideshare.net/VishalBanthia1/kubernetes-controller-for-pull-request-based-environment
38. ● microservices at mercari generally uses gRPC for all
inter-microservices communication
● This tool transparently converts gRPC to JSON
● Mostly used by QA to test microservice using tools such as Postman
grpc translator
40. ● Microservice Developers themselves handle on-call
for their microservice
Post-Release
● Monitoring ~ Error Tracing ~ On-Call
○ Use Datadog for monitoring
○ Use Sentry for error tracing
○ Use PageDuty for on-call
42. There can be multiple reasons for death of a microservice:
● Feature is deprecated
● Service has been replaced with a newer one
Starter-Kit
● Use starter-kit to delete all resources for a dead microservice
Death
43. ● Microservices architecture enables you to move faster but it
also add complexity to system. If not done well, it can be hell!
● With proper planning, tooling & best practices microservices
platform team at mercari is providing a smooth path for this
big transition
Conclusion
44. ● Microservices architecture enables you to move faster but it
also add complexity to system. If not done well, it can be hell!
● With proper planning, tooling & best practices microservices
platform team at mercari is providing a smooth path for this
big transition
● Microservices Platform team to automate all the complexity
and let developers focus only on coding part
Conclusion
alias microservice=”end to end ownership”
45. ● “Microservices promote innovation whereas monolith add
technical-debt”
● “Once I started doing microservice, it’s hard to move back”
Some Feedback from developers