axelson

axelson

Scenic Core Team

Here’s the last ElixirConf 2017 video of day one!

ElixirConf 2017 - Scaling up Elixir at TpT - by @shanti

Introducing a new language into an organization with a large existing codebase is a major effort. Teachers Pay Teachers recently made that transition from PHP to Elixir and NodeJS last year, and I’ll share the process, the struggles, and the triumphs we experienced, and the lessons we learned.

Audience: Beginner

All talks are available in the Elixir Conf 2017 Talks List or via the elixirconf2017 tag

Showing Posts 1 to 5

krapans

krapans

Great talk, however, I would love to know more about their production setup, servers, and architecture overall.

axelson

axelson OP

Scenic Core Team

Yeah I’m really curious if they’re using clustering/distributed erlang at all.

shanti

shanti

Hi there! Sorry for the super-delayed followup.

We’re currently building on an internally-managed Kubernetes cluster, and we have multiple pods housing our API servers, which are all written in Elixir. The client-facing code executes on JS in the Browser + on Node.js workers and hits the API via intra-cluster RPC calls. We run with 8-12 pods on normal daily traffic, spiking to dozens during sale days. For the most part the servers themselves are somewhat-stateless, and we use MySQL as our primary data store. We also use message queues backed by Redis. The legacy system’s PHP codebase and Memcache sometimes access but are never accessed by the API.

shanti

shanti

We’re not using any distributed erlang facilities right now. If we had to set up a distributed lock manager, we’d probably rely on either Kubernetes’ built-in etcd instance or create a ZK instance. In-memory caches would be a strong contender for distribution within our API cluster, but we have no current need to consider those approaches.

In both cases, the additional operational overhead is a major factor against adopting more involved distributed architectures.

krapans

krapans

Is there any plans for making blog post about how you set up Kubernetes + Elixir for production with tips and tricks what other should know? :slight_smile:

— All posts loaded —

Where Next? Top

Trending in Talks Top

CodeSync
That’s a wrap on Code BEAM Europe 2026! Thanks to everyone who came to Haarlem or joined online, and to our speakers, trainers and sponso...
New
CodeSync
The Graveyard of Good Ideas - Quinn Wilton | ElixirConf US 2026 Comments welcome! View the <span class="hashtag-icon-plac...
New
CodeSync
Building High-Performing Engineering Teams | Christian Koch | ElixirConf US 2026 Rountable <span class="hashtag-icon-placeholder"></span>...
New
CodeSync
LT: Process Dictionary Debugger - Andrew Glassman | ElixirConf US 2026 https://www.youtube.com/watch?v=ATN67Hj0C-8 Comments welcome! V...
New
CodeSync
LT: E-mail is broken! | Zach Supalla | ElixirConf US 2026 https://www.youtube.com/watch?v=BoHx136rgbE Comments welcome! View the <span...
New

Other Trending Topics Top

dominicletz
Hey there, I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first. ...
New
raa-ziq
Hi everyone :waving_hand: I wanted to share something I’ve been building — NowBlind, a random chat app designed to help people discover ...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
OndrejValenta
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly) AI dream has many faces, but general...
New
kip
Localize is the next generation localisation library for Elixir. Think of it as ex_cldr version 3.0. The first version will be released ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews