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.

 

Hands-on Helm

Jessica Deen gives a great introduction to Helm and then goes on the show the differences between Helm 2 and Helm 3.

Great news Helm has graduated.

Here goes nothing:

brew install helm

Watch again later:
https://docker.events.cube365.net/docker/dockercon/content/Videos/ZbxZrH75SKqf78x2S

Take aways:

  • Helm 3 has been rewritten to be more k8 native, simpler and more flexible.
  • There are changes to
    • cli
    • CRD
    • Release metadata
  • Also need to explicitly create namespaces.

Jessica Deen also demonstrates migrating with the use of helm-2to3 plugin

The live demo made use of codefresh CI/CD a tool designed for deploying to k8

References:

https://v3.helm.sh/docs/faq

 

Building a Docker Image Packaging Pipeline Using GitHub Actions

Gareth Rushgrove, from Snyk, gave us an overview of some more advanced features in Dockerfiles which can promote the reuse of Dockerfiles.  This is turn can be combined with neat github actions.

References

Watch again at: https://docker.events.cube365.net/docker/dockercon/content/Videos/SPWM3BdnCZWPN4fN9

Slides: