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

How to keep your services available by monitori...

How to keep your services available by monitoring its metrics

It’s not a secret that microservices enhance many things in your project: including its complexity.

Imagine that beautiful picture: a lot of services stopping in domino, and you can’t figure out where it started, what happened, and who will be the next one to fail. Nightmare!

That’s why there are metrics and monitoring processes. They allow you to not be “reactive” (#jokealert). Instead, you can be prepared for anything.

Join us to understand how to use metrics to keep your services available and how it can be done by using MicroProfile.

Elder Moraes

October 02, 2019
Tweet

More Decks by Elder Moraes

Other Decks in Technology

Transcript

  1. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | 2 How to keep your services available by monitoring its metrics Elder Moraes | @elderjava Developer Advocate October, 2019
  2. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation.
  3. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | –  M. Conway (Conway’s Law) 6 “Organizations which design systems (…) are constrained to produce designs which are copies of the communication structure of these organizations”
  4. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | Microservices should first scale people, not software 8
  5. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | 9 https://martinfowler.com/articles/microservices.html
  6. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | 10 https://martinfowler.com/articles/microservices.html
  7. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | Metric is any measure that you use to evaluate, to control and/or to select quantitatively: a person, a process, an event or an institution 14
  8. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | 17 •  Punch power: 100% •  Bleeding: 0 ml/s •  Sight view: 100% •  Sweating: 1 ml/s •  Self confidence: 10 •  Speaking: Adrian! •  Punch power: 0,5% •  Bleeding: 100 ml/s •  Sight view: -10% •  Sweating: 2.000.000 ml/s (!!!) •  Self confidence: 0 •  Speaking: Ãnhãnãããnnnn
  9. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | MicroProfile: 3 types of metrics •  base – JVM – Threads – Thread Pools – Classloading – SO •  vendor •  application 19
  10. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | 21 REST API /metrics /metrics/base /metrics/vendor /metrics/application
  11. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | All formats have an equivalent for Prometheus 27
  12. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | 30 Annotation Apply to Description @Counted M, C, T Counts the requests to the object @Gauge M Shows the object value @Metered M, C, T Measures the request frequency @Timed M, C, T Measures how much time the object lives (C=Constructor, M=Method, T=Type)
  13. Copyright © 2019, Oracle and/or its affiliates. All rights reserved.

    | •  It’s a set of APIs for microservices development using Java •  Open Source (Apache 2.0) •  Helidon SE: microframework •  Helidon MP: MicroProfile 32