Skip to content

Latest commit

 

History

History
71 lines (54 loc) · 2.88 KB

README.md

File metadata and controls

71 lines (54 loc) · 2.88 KB

Erlang Ecosystem for Elixir devs

List of content

Erlang & Elixir

Erlang & Elixir GOTO Conf - Graphic Recording1

Design Patterns in Elixir

Design patterns in Elixir - Graphic Recording2

Elixir

  • Elixir anti-patterns to guide the community
  • A pattern describes a problem.
  • Book: Design paterns elements of reusable object-oriented software.
  • Objects are about: behaviour, mutability and state.
  • Design Patterns in OO are solved by functional programming: mediator, facade, startegy, interpreter, adapter, decorator, proxy, observer.

Observability

Observability at scale - Graphic Recording3

Erlang Elixir

Observability is the measure of how well a system's internal states can be inferred from its external outputs. It's also the ability to address failures before they happen. Observability needs to be designed.

  • Observability needs to be designed.
  • It's about past, present and future: logs, metrics and alarms.
  • Design is the key.
  • Logging
    • Detect failures and errors
    • What happened in your project?
    • Design your logs.
    • Avoid mess.
    • Record complimentary information about the errors.
  • Metrics
    • Performance indicators in live systems.
    • Metrics are not free.
    • Types: business, product, and system.
    • Management and development should collaborate together.
    • Design your metrics.
    • Avoid vendor lock-in.
    • Understand your system.
    • Keep your metrics tidy.
  • Alarms
    • Come from logs or metrics.

Notes and references

Footnotes

  1. Erlang & Elixir, GOTO Conf 2023, Francesco Cesarini & Andrea Leopardi. Drawings by @carlogilmar @visual_partner.

  2. Design Patterns in Elixir, ElixirConf EU 2024, Jose Valim. Drawings by @carlogilmar @visual_partner.

  3. Observability at scale, Code BEAM Europe Berlín 2023, Natalia Chechina. Drawings by @carlogilmar @visual_partner.