Launching Elixir and LiveView on a Large Scale with Lessons from Cars.com

156
clicks
Launching Elixir and LiveView on a Large Scale with Lessons from Cars.com
The presentation by Zack Kayser at ElixirConf 2022 details the journey of re-platforming the Cars.com legacy system using Elixir, Phoenix, and LiveView. Starting with a significant traffic transition from zero to full capacity, Kayser outlines the challenges, 'roll cages' (resilience strategies), 'pit stops' (learning opportunities), and the 'victory lap' (successes post-launch). The talk emphasizes the learning opportunities discovered post-launch, such as dealing with CPU utilization spikes, diagnosing crashes, and interaction with Elasticsearch during deploys. The role of BEAM’s preemptive CPU scheduling is highlighted as a critical resilience factor, which allowed the site to function under duress. Adjustments to infrastructure were made to handle traffic, resulting in a stable platform. Two key incidents are discussed: the mystery of sustained CPU utilization due to deployment-related LiveView process crashes, and Elasticsearch overload caused by form change events during rollouts. Resolutions involved strategic code patches, better monitoring, and adjusting LiveView's auto-recovery features. The experience showcased the scalability of LiveView, cost reductions, and improved visibility and SEO benefits offered by Elixir.

© HashMerge 2024