Which companies are using Elixir, and why? #MyTopdogStatus
As Francesco mentioned in the Erlang blog of our #MyTopdogStatus series, you could start by asking why a language was created. This will help ensure that you’re choosing a language designed to fix a problem suited to your needs. On a number of occasions, José Valim has stated he wanted to give the power and productivity of Erlang to more developers.
Another great tip for choosing a language is to look under the hood and see what powers it. For that, the previously mentioned Erlang blog gives you a great insight into the OTP and Virtual Machine (VM) that helps make Elixir the powerful language that it is.
Lastly, you can look at case studies to see how other companies have used the language, why they’ve chosen it, and what they were able to achieve. In practice, it’s not easy to find this information, as we still don’t know exactly how many companies use Elixir or their exact use case.
Need to grow or scale – If you have a service that you expect to be used by millions, then you’ll benefit from the reliability and scalability of the BEAM VM.
Handling a lot of incoming requests – Even if you don’t have millions of users, if all of your users make intense use of the system and generate a high volume of requests, you will need a system built for concurrency.
Easy to develop and maintainable – One of the priorities of Erlang and Elixir is keeping the code simple. As a result, one of the advantages most companies will see is ease of usage and fast development for everything from fixing bugs to adding new features.
Now, without further ado, let’s look at who’s using Elixir and how.
Event handling by Pinterest
Have you heard that Pinterest are using Elixir? Well, now you have. They use it to handle the routing of the events generated in their system. Think about all of the actions taking place on Pinterest in a day. How many do you think there are? The answer is around 30 thousand events per second that need to be processed. In addition, they have over 200 million active users.
Faster distributed data by Moz Pro
Companies often look for alternatives to SQL for data storage. In the case of Moz Pro, one of the leading SEO analytics companies in the world, they decided to replace their traditional MySQL databases with a distributed indexing data system built in Elixir. In doing this, they managed to get responses of 50ms, significantly quicker than the previous +800ms.
Proxying requests by Lonely Planet
This example shows the ability of an Elixir and the Phoenix Framework to create a project that can handle massive spikes and loads from their millions of users while managing the flow of requests to external sites like booking.com and HostelWorld.
GraphQL by Financial Times
The Financial Times made fantastic use of the Absinthe framework in Elixir, and Elixir’s meta-programming ability to create DSLs (Domain Specific Languages). Ellis Pritchard, the Senior Software Developer at the time said:
Mobility Services by Toyota Connected
Toyota Connected launched its Mobility Service Platform (MSPF) which connects their cars, allowing them to send real-time events. Functional uses for this include sharing information on traffic patterns or driver behaviours.
It is a platform that is expected to have millions of connected vehicles sending events to the cloud regularly. This kind of concurrent traffic makes Elixir an obvious choice for the project. In addition, Toyota Connected features an API that third-parties can use to create apps and website integrations. This allows third parties to take advantage of the data and create a better user experience for their drivers.
Custom Sports News by Bleacher Report
Bleacher Report is a sports news service that serves 1.5 billion pages per month to its users. They offer a customised service to ensure push notifications are relevant to each individual. That in itself is difficult because it means you cannot cache the content between users.
Microservices for Games by SquareEnix
The increase in massive-multiplayer online gaming has seen a huge shift in the way games are developed. Now, digital environments must consider the way they can handle millions of concurrent players at once. To handle this, SquareEnix is using Elixir for authenticating players, in-game communication and the CMS (Content Management System).
Chat for gamers by Discord
Another huge use for Elixir in gaming is the chat systems. Discord, a leading provider of chat for gaming have built their systems in Elixir. Their app can allow huge groups (up-to 300 thousand in theory) to join the same voice call. You can read about how they upgraded to be able to handle 11 million concurrent users here.ECommerce by PepsiCo
The ECommerce team at PepsiCo told ElixirConf US 2019 “We view Elixir – which is a core part of our software stack – as a nimble and reliable building block for powering critical business solutions.” It is fantastic to see companies of PepsiCo’s size proudly speaking about the benefits of Elixir. We hope to add many more companies of their size to this list over the coming years.
Is it time for you to join the pack?
Leading companies in a variety of industries are already taking advantage of Elixir. They’re doing it to reduce the cost of their physical hardware, improve the reliability of their site when dealing with high volumes of concurrent users, to scale up data while reducing the time to access it, to allow for fault-tolerant third-party integration, even when dealing with high volumes of traffic and to create reliable micro-services, even when dealing with extremely high numbers of request.
Even if the above requirements aren’t needed for your current project, you can still benefit from the future-proofing, ease of use, available documentation and tooling that Elixir offers