Monitoring in a Microservices World

Fabian Stäber from Instana, gives a really informative talk about how to tackle monitoring with microservices.

Watch again:

https://docker.events.cube365.net/docker/dockercon/content/Videos/ynr2xuTtb9wMhAGEh

Lots of things to consider:

  • Automation of monitoring to avoid bottlenecks with deploying microservices.
  • The underlying data

Metrics

More than health checks which are more common with monoliths.

Define what does it mean for my application to be healthy.  Discussing how you take this time series data and apply it to the additional dimensions that microservices bring.

  • Aggregation horizontal metrics
  • Vertical checks – what is going on in the stack Java, JVM, Docker, K8 node, hardware itself.

Distributed tracing

  • Ensure new and legacy services also provide tracing
  • Tie together traces to error logs.

Further reading

Fabian helpfully points out these three Site Reliability Engineering books from Google that are available for free.

 

Docker

James

Google input

Even finance companies are considering it

Only a young project

What

Packaging
1 app = 1 container

What’s the diff

Uses less space,  only store what is necessary

Start instantaneously

Use cases :
Development
Test prod architecture
Can combine with Jenkins CI CD

Can use base images
And then keep the docker configuration file clean

Is command line tool,  but can use other tools to make simpler

Fig is a helpful tool for creating an infrastructure

Possible mention to http://deis.io/overview/ and Heroku

Almost no down time,  if upgrading a component

Look at mounting volumes for running local dev code

Can use another app to orchestrate the dockers apps