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
Trending in Talks
Elixir’s Configuration Layers: A Visual Journey - Stephanie Lane | ElixirConf US 2025
Comments welcome! View the <span cl...
New
Leaving a BEAM cluster (basically) unattended for 2 years - Yuri Oliveira | ElixirConf US 2025
Comments welcome! View the...
New
Introducing Elixir Observer - Juan Manuel Azambuja | ElixirConf US 2025
Comments welcome! View the <span class="hashtag-i...
New
Beyond Safe Migrations: Better Practices for Ecto + PostgreSQL - Joe Harrow | ElixirConf US 2025
Comments welcome! View t...
New
How LiveDebugger makes your life easier - Krzysztof Nalepa | ElixirConf US 2025
https://www.youtube.com/watch?v=MzvauYjQgdQ
Comments w...
New
Lightning Talk: Jacob Swanner - Put your Scaller (Named Correctly) | ElixirConf US 2025
Comments welcome! View the <span ...
New
Elevating Phoenix with OpenRiak - Robert Carbone | Code BEAM Europe 2025
Comments welcome! View the <span class="hashtag-...
New
Other Trending Topics
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #phoenix_html
- #iex
- #graphql
- #ai
- #genstage
- #elixirconf-us
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex










Showing Posts 1 to 5- Show Best Posts
- Show All Posts (oldest first)
- Show All Posts (newest first)
krapans
Great talk, however, I would love to know more about their production setup, servers, and architecture overall.
axelson
Yeah I’m really curious if they’re using clustering/distributed erlang at all.
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
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
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?