Adoption of Elixir in production by top companies
In the rapidly evolving world of software development, choosing the right programming language is essential for the success and growth of your business.
A few words about Elixir
Elixir, a functional programming language, is highly regarded for its productivity. This language optimizes coding efficiency, allowing less to be written while delivering more functionality - a trait reminiscent of the productivity strengths of Ruby. Despite its official release in 2014, Elixir leans on the extensive history and maturity of Erlang, providing it a robust foundation for handling high-availability applications. It's trusted by industry giants like Discord and WhatsApp, and its Phoenix framework equips developers with the tools to create sturdy web applications and sophisticated APIs. Bolstered by a secure and predictable programming environment along with a supportive community, Elixir stands as a formidable contender in the world of programming languages.
The rising popularity of Elixir
Elixir has been gaining significant traction in recent years as a functional programming language running on the Erlang virtual machine. Known for its scalability, fault tolerance, and performance, it is the ideal choice for building large and fast systems that can handle numerous tasks concurrently. Without further ado, let's present some of the very interesting companies that successfully adopted Elixir as one of their core technologies.
Some of them we described here:
Stord's backend infrastructure relies entirely on Elixir services implemented with the Phoenix framework. Their comprehensive logistics offerings encompass multiple products, among which is an order management system responsible for efficiently handling and organizing company orders and inventory. Acting as an intermediary between upstream systems like Shopify or other e-commerce platforms, the order management system seamlessly directs orders to the relevant downstream facility or warehouse management system (WMS). While Stord collaborates with various WMS providers, they have also developed their own WMS in-house, empowering their network of facilities with enhanced control and optimization capabilities.
It is a leader of e-commerce platforms in Poland that allows users to buy and sell second-hand goods locally. Allegro Lokalnie was created as an extension of Allegro, Poland's largest online marketplace. The company was also listed in the world's top 10 online retailers in 2020, with almost 194 million traffic and 283 million 2 years later. We could find there such companies as Amazon, eBay, AliExpress or Shopee. Allegro Lokalnie is a quite new product from Allegro, and it uses Elixir and Phoenix in its web frameworks because of its scalability and performance, as well as its ability to handle many concurrent users.
Founded in 2018 by Alberto Rizzoli and Simon Edwardsson, V7 is a web platform that grants software engineers and machine learning specialists the tools to develop computer vision projects, automating visual tasks and driving efficiency in numerous industries. The platform leverages Elixir, Phoenix, and Cowboy to handle immense data and orchestrate Python nodes for machine learning tasks.
V7's platform is revolutionizing several sectors, from routine inspection of infrastructure and medical examination to agriculture and farming. The automation of visual tasks is not just improving efficiency, but also reducing error rates. It's made possible by using neural networks, which V7 automates, thus accelerating the creation of high-quality training data.
The platform uses Elixir to coordinate these tasks with a Vue.js application as the front-end, communicating with a Phoenix-powered API. To ensure the smooth execution of machine learning tasks, it uses a cluster of Python nodes controlled by an Elixir application running the Cowboy webserver. The whole case study about using Elixir in V7 you can read here.
A company that became the first edtech unicorn in the UK. Elixir was chosen by an external agency building the initial platform, but the Multiverse Senior Software Engineering Manager Razvan considers this as a fortunate coincidence, as Elixir turned out to be a robust tool that aids scaling and fosters healthy development. The language stands out with its robust environment, cohesiveness, easy navigation, useful documentation, and robust tooling.
Multiverse uses Elixir with Phoenix and LiveView frameworks, which are well-received by their engineers. While Elixir is still considered niche, it is steadily gaining popularity. Hiring for Elixir remains a challenge due to the small community; however, Multiverse focuses on hiring great engineers regardless of Elixir experience and provides comprehensive onboarding and resources to help new hires get acquainted with the language.
One of the Multiverse developers, a tech lead Chris Gregori was a guest on the Engineers podcast, where he told about the details of "Building Multiverse with Elixir" and how their elixir developers work.
A platform for managing distributed teams, is another company that has embraced Elixir for its backend infrastructure. The choice of Elixir was made by Marcelo Lebre, the CTO and co-founder, who brought his prior experience with the language. Elixir was perceived as a progression from Ruby, maintaining a similar development experience philosophy, strong community and offering superior performance and future resilience. Today, Remote is using a Phoenix monolith with a set of 3rd party libraries such as Phoenix, Ecto, Oban and several others. As an active community member, Remote and Remote’s engineers contribute back by sponsoring and speaking at Elixir events and supporting several OSS packages.
A real-time collaborative application for knowledge base and team wiki that uses Elixir programming language and the Phoenix web framework. It was created by Jason Chen in 2016, who had previously built collaborative web applications in Rails and Node.js but found issues with scalability and real-time processing.
He chose Elixir and Phoenix because of their developer experience and their ability to build web apps with real-time capabilities. Elixir and Phoenix were used to implement major features such as real-time comments and asynchronous processing, and Erlang/OTP was used to solve synchronization problems for multiple users editing the same document.
The Slab team values Elixir's ability to build complex systems with fewer dependencies and moving parts, making it easier to operate and update libraries. They also focus on onboarding new developers and offer learning resources to help them become productive with the technology. If you're interested in more information, check the case study.
Hubs Cloud allows users to run their own instance of Hubs with a single click, with Amazon CloudFormation instantiating Hubs inside the user’s account. The Hubs team is quite general, and learning Elixir happens organically while developing new features. Overall, the bet on Phoenix was successful, and the team highlights that Elixir and Phoenix reduced the effort needed to cause the largest impact across their whole product. The entire case study about using Elixir in Mozilla Hubs is described here.
A platform provides services and tools to build, run, and scale web applications, has two of its engineering teams, the Front-end team and the Vault team, actively utilizing the language. Initially, the Vault team employed Elixir for an internal service rewrite, proving successful and leading to further utilization. The Front-end team used Elixir to replace a problematic analytics service, and gradually migrated their numerous Node.js microservices into a single main Elixir application, drastically simplifying their operations.
Heroku uses Elixir for its productivity, ease of maintenance, and the seamless integration of the Phoenix web framework. While the shift from Object-Oriented languages to Functional Programming posed initial learning challenges, the team agrees the benefits outweigh the difficulties, and Elixir's adoption continues to grow organically within the company.
The increasing popularity of Elixir as a functional programming language is evident in its adoption by various top companies and industries worldwide. Its scalability, fault tolerance, and performance make it an excellent choice for building large and fast systems that handle multiple tasks concurrently. The examples provided, such as Stord, Allegro Lokalnie, V7, Multiverse.io Remote.com and Slab, Mozilla Hubs, Heroku demonstrate the versatility and effectiveness of Elixir in meeting the diverse needs of these businesses.
Its functional programming paradigm makes writing scalable and maintainable code simpler and more efficient. These attributes have proven to be invaluable in industries that require large-scale data handling, high concurrency, and fault tolerance.
The success stories mentioned above illustrate the immense potential of Elixir in powering businesses across various sectors, from e-commerce and online gambling to remote team management.
In a rapidly evolving technological landscape, choosing the right programming language can make all the difference in ensuring the success and growth of your business. As showcased by the companies discussed in this article, Elixir's robust capabilities and versatility make it a prime candidate for businesses seeking to enhance their technological infrastructure and stay ahead of the curve. If you want to learn more about it check: Why Elixir & Phoenix is a great choice for your web app.
Need an IT partner? How can we help?
As a Curiosum software development company, we specialize in Elixir programming language. We know how to use its greatest advantages and meet customers' expectations. Is there anything we can do for you? We help with: