I am a fairly recent user of Nameko - and new to the micro-service architecture/philosophy. So far, I am pretty amazed by how easy it has been to build our makeshift data API (our use case) thanks to Nameko. Great job!
Apologies if question is a duplicate, feel free to remove it if that’s the case.
I would like to have people’s feedback with regards to deploying a Nameko-based system in production. I am looking for readings/links/opinions/package recommendations on matters like how to monitor the system, message myself in case of a service going down, have some stats on how the services are used… Any kind of hint/direction to look at is greatly appreciated.
Thanks in advance
I use Nameko in production, and use Sentry for exception tracking, and just started using ScoutAPM for performance monitoring.
Sorry for the slow response and thanks for the kind words
The Nameko docs could do with a section on this because it comes up pretty often. In production we use:
- Sentry for exception tracking, via https://github.com/nameko/nameko-sentry
- An ELK cluster for service tracing, combined with https://github.com/nameko/nameko-tracer
Sentry is excellent and I can’t recommend it enough for visibility into problems with individual services. Service tracing is really required to understand what is happening across a cluster though. When a single action involves a combination of multiple services it’s essential to be able to see where the time is spent.
Unfortunately nameko-tracer doesn’t include everything you need out of the box. You have to set up an ELK cluster obviously, and the configs for logstash and kibana are not included in that project. What nameko-tracer gives you is a blob trace data as JSON in the logs, to be processed as you see fit.
An alternative and probably better tracing solution would be to generate traces in the opentracing format. Then you could use any of the multitude of the opentracing tools to explore your traces.
Zipkin is yet another distributed tracing tool and I know that nameko-zipkin exists, but I’ve not used it.
Like Geoff I’m also pretty excited about the recently released Scout APM integration for Nameko.