to help with transition to Elixir

Updated 2019-10-08

We are planning introducing Elixir into our toolbox. This page summarizes key resources we have user / are using for learning Elixir and pushing it to production. Feel free to propose changes via pull-request.

Deployment & Containers/Kubernetes

Motivation is to be able to deploy apps leveraging OTP to k8s (and running in containers). Especially important piece of having a support for OTP is to be able to use things like long-running GenServer processes, migrate state etc. Valuable resources for this topic are

This leads into the following key building blocks:

Distributed systems / data-types

Best practices

Code/Development

typical suspect - credo mix credo --strict

spend time writing documentation in code with ExDoc write typespecs as they are pulled by ExDoc but also used by tools like dialyzer deploy dialyzer from the very beginning of the project

use official formatter in your projects mix format --check-formatted

nice writeup about putting these tools together - https://itnext.io/enforcing-code-quality-in-elixir-20f87efc7e66

Code Design

Ops/Infrastructure/Monitoring