Simplify your stack with Elixir

Applications typically leverage many tools to get the job done. These additions aren’t free - they add complexity and the need for specialized skills.

The cool thing about Elixir is that you can replace many of those tools with just one — plain vanilla Elixir.

That means your developers’ impact level has just increased tremendously!

Here are some things Elixir can replace:

  1. Firstly, it’ll replace your programming language (duh).
  2. The actor model is an in-memory cache of your DB, it replaces tools like Memcache & Redis.
  3. The actor model makes delayed execution very easy. So you likely won’t need tools like Resque & RabittMQ.
  4. Each actor runs concurrently, so async execution is easy as pie.
  5. Tools like gen_stage make it easy to do event ingestion & processing, it can replace tools like Fink, Spark & Kafka.
  6. The actor model is great at publish/subscribe, you can easily build & distribute events in an event bus topology.
  7. The BEAM is a distributed virtual machine, that means you don’t need to build write RPC code or wrappers to glue your systems together. Calling a local object or remote object is nearly identical.
  8. The BEAM contains a builtin distributed storage engine called Mnesia, (though RDBMS & NOSQL work great too).
  9. The BEAM understands releases, its built to be always-on, so you can hot upgrade without stopping your system.
  10. I’ll think of one more later…. :D

This is why it’s such a cool language, it opens up way more possibilities than the languages that currently dominate. I encourage you to check it out, if you haven’t already.

This is the book that got me into it: https://pragprog.com/book/elixir/programming-elixir

Like what you read? Give joshnuss a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.