57: Scaling Live Chat with Cade Ward

We sat down with co-host Cade Ward to hear how he and his team tackled a problem of hosting live web chats with crowds of 120K+ users coming together for live events. On the show, we have talked with a couple guests with similar bursting high-load situations. Cade had been through it too so it was time to dig in and cover how this situation can be solved. We cover the different attempts and temporary solutions used and the final solution that has been working really well. In fact it works so well, during a recent event, the auto-scaling didn’t kick in and everything was still fine! Show Notes online - http://podcast.thinkingelixir.com/57 Elixir Community News https://github.com/phoenixframework/phoenix/pull/4377 – Phoenix v1.6 will officially use esbuild! https://twitter.com/sorentwo/status/1417462054114537476 – Parker Selbert identified the issue counts linked to JS packaging... ~30% of total issues! https://twitter.com/mcrumm/status/1417141537541033985 – Phoenix View can now be used as a separate package https://utils.zest.dev/gendiff – David's tool for diffing generated projects. Includes support for the different flags. https://hexdocs.pm/k8s/changelog.html#1-0-0-2021-07-19 – The "k8s" library was updated and got a 1.0 release tag https://pragprog.com/titles/lmelixir/testing-elixir/ – The Book "Testing Elixir" launched in Beta https://twitter.com/remote/status/1414919265841557510 – Remote raises $150M and is using Elixir https://github.com/livebook-dev/livebook/pull/418 – Livebook UX improvement to restart runtime when Mix.install packages changed https://github.com/livebook-dev/livebook/pull/449 – Support for "branching sections" added to Livebook notebooks https://github.com/wojtekmach/notebooks/blob/main/client_server.livemd – Wojtek Mach created a notebook using branching sections to create a client-server setup in a single notebook https://github.com/livebook-dev/livebook/pull/441 – Livebook notebooks can link to each other https://erlang.org/pipermail/erlang-questions/2021-July/101209.html – Frank Hunleth of the Nerves project encountered performance issue when shutting down a node. Interesting discussion with the OTP Team. https://github.com/erlang/otp/pull/5032 – OTP PR opened for speeding up controlled shutdowns https://github.com/fhunleth/nerves_livebook/releases/tag/v0.2.14 – Nerves 1.7.9 is out with minor updates to all systems and toolchain https://nervesconf.com/ – Nerves Conf October 11 in Austin Texas, timed with ElixirConf Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://elixirforum.com/t/implementing-a-distributed-users-counter/39609 – Link to Cade's Elixir Forum post with discussion https://gist.github.com/cadebward/c24fc4aced526d9d35bb00a6a8140784 – Gist of the Cade's working solution https://www.vidangel.com/ – First incarnation of company before pivot https://invest.angel.com/ – Angel Studios kickstarter like projects https://elixirforum.com/ http://angel.com/apply – Angel Studios is hiring! Guest Information https://twitter.com/cadebward – on Twitter https://github.com/cadebward/ – on Github Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Om Podcasten

The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community. Whether you are already experienced with Elixir or just exploring the language, this show is created with you in mind. We discuss community news, Functional Programming, transitioning from OOP, coding conventions, and more. Guests visit the show to help challenge our assumptions, learn about new developments and grow in the process. Subscribe to join us on this journey!