ElixirConf 2023 - Kimberly Erni - Scaling Up Travel with Elixir

Discover how Travel Pass utilized Elixir to scale their platform, leveraging its concurrency, parallelism, and fault tolerance to achieve a 10x team growth, improved debugging, and cost-effective development.

Key takeaways
  • Travel Pass uses Elixir to scale their platform, mentioning the language’s advantages in concurrency, parallelism, and fault tolerance.
  • They compared Elixir to Ruby, stating that Elixir made it easier to debug and that Ruby required a lot of if-else statements.
  • The company grew their team 10 times last year and are still scaling up.
  • Ecto’s design patterns, such as separating the idea of the process machinery and failure, were appreciated.
  • They liked the Ruby-like syntax of Elixir and the simplicity of getting started with the language.
  • The company also appreciated the speed and extensibility of Elixir, allowing them to build quickly and evolve over time.
  • They use Kino, an AWS service, to send data to their data services.
  • Debugging in Elixir is made easier due to its pattern matching and the ability to run multiple processes concurrently.
  • Elixir’s concurrency helped alleviate the pressure of scaling the platform, making it easier to manage.
  • The company plans to continue innovating and extending their platform.
  • Some members of the team find Elixir easier to learn than other languages, mentioning the importance of developer happiness.
  • They appreciated the cost-effective benefits of using Elixir, allowing them to scale without breaking the bank.
  • The company has seen a significant decrease in the time it takes to get rates back, from 15 minutes to 3 seconds.
  • They use a mix of Quartz, GenServer, andbeam to schedule tasks and manage concurrency.
  • The company’s initial back end was a monolith, but they migrated to Elixir to take advantage of its scalability and performance.
  • They agree that Elixir’s concurrency and parallelism make it a great language for building scalable systems.