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

Microservices Observability Zup Open Talks

Microservices Observability Zup Open Talks

Nesta talk falamos sobre Observability para microservices e como podemos fazer Canary Releases usando uns dos Pilares, as metricas

More Decks by Claudio Eduardo de Oliveira

Other Decks in Programming

Transcript

  1. Hello! I am Cláudio Oliveira Technical Lead API Team Book

    Author @luizalabs Java, Golang, k8s & microservices 2
  2. 4

  3. Glossary 5 Telemetry How to collect data that will provide

    observability (sensors) Observability Monitoring, Alerting and Visualizations, Distributing tracing and Log Aggregation
  4. Glossary 6 Monitoring Is the practice of collecting signals, aggregating

    them, and matching them against some predefined criteria
  5. Fallacies of Distributed Computing 9 • Network is Reliable •

    Latency is Zero • Bandwidth is Infinite
  6. 10 • Understand how microservices connect each other • Network

    latencies can be a bottleneck (intense IPC • Network can be unreliable • Control the UP and Running instances • Increase the non-functional requirements Microservices implies “some” challenges
  7. 11

  8. “ The benefits of treating each service the same, from

    a monitoring perspective, is scalability in your operations teams 18
  9. 20

  10. 21

  11. How it works??? 23 • Assign external Unique ID •

    Passes it to all services that are involved • Includes the Request ID in Log Messages • Record times information e.g start and end time
  12. OpenTracing OpenTelemetry 24 • Cloud Native Computing Foundation CNCF •

    It standardizes the instrumentation of apps for distributed tracing
  13. OpenTracing OpenTelemetry Concepts 25 • Trace tells the story of

    a transaction • Span represents a single call • Distributed Tracing systems collecting and we can see the graph in a nice interface
  14. 26

  15. 30

  16. 32

  17. 33

  18. 37

  19. Concerns about observability in the app 39 • Increase the

    size of application • Configuration should be done inside the application • It will consume the application resources • More control to “customize” metrics and distributed tracing • There is no sidecar involved
  20. 41

  21. Concerns about observability with sidecar 43 • One more thing

    to care about • Control Plane should configure the sidecars • Not so intrusive • The developers can focus on business rules • It is a kind of industry standard today
  22. 44

  23. Progressive App Delivery 46 • Rolling out new features gradually

    • Avoid downtime as much as possible • Stateless Application is mandatory • The versions should be backwards compatible • Blue-Green, Canary Release and others
  24. 48

  25. 49 Argo Rollouts is a Kubernetes controller and set of

    CRDs which provide advanced deployment capabilities such as blue-green, canary, canary analysis, experimentation, and progressive delivery features to Kubernetes.
  26. 51

  27. 54 HTTP Calls with Status Code ~2.* should be more

    than 95% Release is good to go!!! Else Ohhh sh****!!!
  28. 55

  29. 57