Erlang/OTP by Example
As someone who has worked two jobs now writing, deploying, and operating Erlang clusters, I recommend switching to Rust. Erlang requires a lot of TLC to get right, it&#x27;s super slow, and it&#x27;s hard to burst. Like, super hard to burst. Erlang nodes are meant to cluster as a k graph and never go down. Modern ops, especially container ops, does availability through ephemerality of services. The BEAM just doesn&#x27;t like to be treated like cattle. Also Erlang has notoriously bad error messages, very little abstraction, and converting between binary strings and lists is a pain. Gaining Erlang operational knowledge also takes a while. We eventually had to rewrite things like gen_server, ditch mnesia etc. as we scaled.<p>So why Rust? Like Erlang, it&#x27;s damn good at concurrency and enables functional programming. It also enables event driven programming through tokio, which is a better fit for web servers than green threads (you&#x27;re mostly waiting on the network). Unlike Erlang, it&#x27;s super fast (even at math), has a great type system, amazing error messages, low memory usage, and the community is already quite a bit bigger.