axelson

axelson

Scenic Core Team

19) ElixirConf 2017 - Scaling up Elixir at TpT - Shanti Chellaram

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

Most Liked

krapans

krapans

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

axelson

axelson

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.

Where Next?

Popular in Talks Top

axelson
Let’s Talk Process Dictionary - @gregvaughn Well, the first rule of Fight Club, I mean: process dictionary is that we don’...
New
axelson
ElixirConf US 2018 – Meet Virtuoso: The Chatbot Orchestration Framework Built with Elixir – Justus Eapen (@justuseapen) ...
New
ShalokShalom
So, there is another Erlang VM on the way :hugs:
New
Lawrence_elixir
@keathley - Senior Engineer Bleacher Report and Elixir Outlaws presenter Talk: Building Resilient Systems with Stacking Talk in three w...
New
CodeSync
Code Sync: Keynote: The Road To LiveView 1.0 by Chris McCord | ElixirConf EU 2023 Comments welcome! View the <span class="hashtag-icon-p...
New
ElixirConf
ElixirConf: ElixirConf 2023 - Charlie Holtz - Building AI Apps with Elixir Comments welcome! View the <span class="hashtag-icon-placehol...
New
axelson
ElixirConf US 2018 – Building Video Chat with Elixir &amp; Phoenix – Anil Wadghule (@anildigital) In this t...
New
axelson
ElixirConf 2017 - Closing Keynote - @chrismccord All talks are available in the Elixir Conf 2017 Talks List o...
New
axelson
ElixirConf US 2018 – Docker and OTP: Friends or Foes? – Daniel Azuma (@dazuma) Docker is the hot deployment...
New
axelson
ElixirConf 2017 - Building Realtime Mobile Apps with React Native and Elixir - Osayame Gaius Obaseki Buildin...
New

Other popular topics Top

axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 48475 226
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 42158 114
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
Lily
In templates/appointment/index.html.eex: &lt;%= for appointment &lt;- @appointments do %&gt; &lt;tr&gt; &lt;td&gt;&lt;%= appoi...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New

We're in Beta

About us Mission Statement