Elixir is a functional and dynamic programming language based on Erlang. Created in 2011, it is still a relatively new programming language, however, it has quickly been gaining popularity in various industries thanks to concurrency, scalability and high fault tolerance. Banking, advertising, eCommerce, telecoms, IoT or instant messaging are all recognizing its potential and replacing their old technologies with Elixir.
The demand for Elixir developers has also been growing. In this article, I will present the top 10 companies that decided to use Elixir to handle their large-scale applications.
Why Elixir?
There are many advantages to using Elixir. Among the most commonly mentioned benefits coming from using it are:
- concurrency
- for industries handling millions of users or with systems with a high number of requests generated eg. social media or news services
- reliability and scalability
- recognized by companies looking to scale or grow
- maintainability and easy development
- for those wanting a fast development, bug fixing and ease of use
- Phoenix framework
- the most popular framework for Elixir, similar to the way Ruby operates with Rails
- fault-tolerance
- Elixir provides built-in safety mechanisms that ensure the product works even when something goes wrong
Worth mentioning here are also multiple additional architectures, services and frameworks that build upon Elixir. Some examples include:
- Phoenix
- a framework for creating REST APIs and HTML applications
- Ecto
- a database wrapper and query language
- Mox
- a mocking library great to use in automated tests
- ExUnit
- built-in unit testing frameworks
- Exq
- a job-processing library
10 successful companies using Elixir
If you are thinking about switching to Elixir and still need to be convinced to do so, take look at the list of highly successful companies that boosted their business thanks to Elixir.
1. Pinterest
Pinterest is a social media web and mobile application designed to be a catalogue of ideas. It allows users to browse and save pictures, graphics, short videos etc. to personalized boards.
Being one of the most popular platforms for finding inspirations from hobbies, interior design to fashion and recipes, Pinterest handles around 30 000 events every second and has more than 200 million users!
This is why they are using Elixir to handle the routing of events thanks to BEAM and its ability to deal with big amounts of concurrent connections.
What is more, Pinterest managed to reduce the number of code lines, which means they are using fewer servers and lowered their operating costs.
2. PepsiCo
PepsiCo - this giant does not have to be introduced to anyone. At one of the Elixir conferences, the eCommerce team at PepsiCo shared that Elixir has become the core part of their software stack and is crucial for powering business solutions. This is a huge deal that a company this big is proudly speaking about the benefits of using Elixir.
In May 2020, the company launched Snacks.com and Pantryshop.com, two direct-to-consumer websites for ordering their products online with a home delivery service. Those projects were launched as a response to the global Covid-19 pandemic and changing shopping habits. Both of them took less than 30 days to launch.
Pepsico eCommerce has also been experimenting with IoT development, applying Elixir and its dedicated framework.
3. Slack
A workplace communication tool meant for instant messaging, video chats, file sharing etc. Slack provides its users with lots of add-ons and allows group chatting within channels as well as direct messaging.
Slack utilizes Elixir to build a media server for p2p and group calls.
4. Bleacher Report
A division of Tuner Sports - the second-largest sports website in the world with up to 1.5 billion page views a month and more than 3 billion push notifications sent.
Initially, the service was built using Ruby on Rails but the growing traffic proved the service to be no longer scalable. Another great challenge was connected to supporting concurrent streaming in the Team Stream application. The website had to be able to handle big spikes in traffic at peak times on mobile devices and after trying out other solutions, the development team decided to go with Elixir. The switch brought significant improvements in performance, a cleaner code and an increase in development speed.
The lead engineer Ben Marx said:
Elixir has proven so efficient that testing the limits of our services became a challenge unto itself, requiring investment in new benchmarking tools and strategies. In a recent test, for example, our most heavily trafficked service was able to handle 8x our average traffic load, without autoscaling, before the database proved to be a bottleneck.
5. Discord
Free voice and text chat directed towards the video gaming community, supporting text, image, video and audio communication between users. Discord is the leading provider of chat solutions for gamers and they allow up to 300 000 (!) users to join the same voice call - making Elixir a perfect match.
Thanks to Elixir, they are successfully handling over 5 million concurrent users and millions of events per second. In 2019 Discord used Rust to solve the problem of immutable data structures in Elixir, which helped them reach 11 million concurrent users.
6. Postmates
An American logistics company operating food delivery services.
Postmates uses Elixir in their internal projects like inventory system, tools portal and is planning on sourcing a Thumbor library.
7. Toyota Connected
A company founded by Toyota in 2000 launched a Mobility Service Platform for connecting their cars and sending events like traffic information or driver behaviours in real-time. Hui offers a new care share program available 24/7. The cars can be reserved through the mobile app that supports a range of fleet management tools, driver authentication and payment management. Due to a large number of vehicles creating concurrent traffic by regularly sending events to the cloud Elixir was an obvious choice.
Toyota Connected Connected is using Elixir as part of the back-end system that makes up the MSPF. It provides the API for mobile and web app and handles geoprocessing.
Powell Kinney, the Chief Product Owner at Toyota Connected, gave a keynote at Code Elixir LDN 2018 titled ‘Elixir for the Long Haul’, where he discusses designing with Elixir and Erlang/OTP for a platform that will empower mobility at a global scale for many years to come.
8. Moz Pro
Moz Pro is one of the leading SEO analytics companies in the world. They were looking for alternatives to MySQL databases as well as to improve performance and speed, scale their tool and add new features like campaign history of flexible in-app data segmentation. After switching to Elixir to were able to create a distributed indexing data system using 63 times less disk space on average, improved the speed of responses from 800ms to 50ms and achieved 30 times faster build speeds.
This was possible thanks to Elixir’s ability to be distributed across different nodes while maintaining clear communication between them, which has a major impact on speed. You can read more about it on the Moz Pro blog.
9. Financial Times
An international daily newspaper focused on business and economic news started using Elixir to provide the GraphQL API for their internal subscription and user management system as their front-end had to be able to call multiple micro-service REST APIs to render certain pages. They also made use of Elixir’s meta-programming ability and the Absinthe framework to develop DSLs for schema maintenance.
The Financial Times now also have another major application built in Elixir, which has proved to be robust. They enjoy the low memory usage as well as building, testing and debugging in Elixir.
Their senior software developer said that Elixir was ‘easy to pick up by their team and that the learning curve is rather low’.
10. Lonely Planet
A great example of using Elixir with Phoenix Framework by a website handling millions of users while managing requests to external booking websites. Lonely Planet is a worldwide travel side and travel guide publisher with a lot of rich content distributed on their website, mobile app and 3rd party services.
Lonely Planet needed to be able to upload their content to the web and mobile apps quickly and at scale. After several failures, they decided to hire a development team that creates several microservices, including some written in Elixir. One of them was an Elixir microserver with an API sub-service using the Phoenix web framework. Another one serves as the inventory of books and ebooks from a custom eCommerce system backed by a Microsoft SQL server.
Elixir allows developers to create a pool of workers to access external APIs while Phoenix is a perfect system for building complex websites.
Summary
As you can see, companies from various different industries are using Elixir to gain speed, reliability and performance. It is ideal for websites accepting heavy traffic, high numbers of requests or need to be seamlessly integrated with 3rd party solutions.
In many popular enterprises, the switch to Elixir resulted in more capable apps and services as well as better scalability. For businesses, this means more users, more customers and a higher ROI. However, if those are not applicable to your project, you can still enjoy the ease of use of Elixir, which can compete with well-known languages like Ruby.
If you want to find out more information about why you should consider Elixir as your next programming language, read our related post Why choose Elixir.