Why You’ll Want to Use Elixir to Replatform Your Legacy Application
Have you heard about the latest weapon in the developer’s arsenal? It’s called Elixir, and it’s a dynamic functional language that operates on the Erlang virtual machine. It’s being used more and more by well-known brands like Pinterest, Bleacher Report, and Discord, who need a programming language that can handle high user volume, while also processing a huge number of requests. Despite it being a fairly new language, Elixir’s popularity is rising quickly, especially for those who want to replatform their aging applications. Here’s why it might be the right solution for your next replatforming effort.
In my recent ‘Tech in 2’ video about Elixir, I mentioned that one of its benefits was the scalability of the language. A solution like Elixir works well for a single programmer writing something that can handle a few users, but needs to scale up during certain times of year, for example, to handle a much larger userbase. However, it also works well for applications with consistently high traffic: a client of ours that utilizes Elixir regularly sees over a million users a day. It helps to process simultaneous requests quickly, without sacrificing performance, which means a great user experience for customers.
Fault tolerance is another huge benefit of Elixir, compared to other programming languages. Errors happen; we know this ahead of time and Elixir makes it easy to design systems with failure in mind. A common phrase in the Elixir community is “let it crash,” because as developers, we can control how processes respond to failure in the appropriate way using Elixir.
Parallelized task efficiency
Do you remember that famous scene in “I Love Lucy” where Lucy and Ethel are working at the chocolate factory, and the conveyer belt becomes overloaded with chocolates, forcing Lucy and Ethel to start eating them as quickly as they can? I’ve heard others compare that scene to the idea of an application’s job pipeline. The person at the beginning of the pipeline can handle an increasing overload fairly easily, but by the time it gets further down the line, you’re going to start seeing bottlenecks. With Elixir, you can spread the application’s various tasks apart without losing efficiency, due to its strength at handling parallelized tasks very quickly.
It’s a fan favorite
Another good reason to use Elixir? Developers love it. Online, you’ll find a growing community of Elixir enthusiasts like me who have embraced the language and never want to go back to a time without it. Combine the ease of learning Elixir with a helpful community who’s constantly sharing tips and tricks, and you’ve got a programming language that us developers are flocking to.
By using Elixir for your next replatforming effort, your application can take advantage of what’s arguably the most efficient and multi-tasking language available today. (Plus, you’ll have a very happy development team.) Learn more about Elixir by watching my Tech in 2 video here.
About the Author
Martin Tice has been a software developer for over seven years, and joined Rural Sourcing when our Albuquerque Development Center opened. He’s spent most of his career using different web development stacks, but has always had a passion for functional programming. Since then, he’s been trying to incorporate it into everything he uses. He caught the Elixir bug in 2018 and has enjoyed using it in his role at Rural Sourcing.