Planning for Overload

Fred Hebert
Engineer on Heroku's Routing Team, Distributed Systems Enthusiast

All applications that make it to production and will be under considerable stress sooner or later, and the strategy taken to survive overload will define how catastrophic the event was.  In this talk, we show the two broad strategies to handling overload (load-shedding and back-pressure), and different ways to make them work in Erlang, in order to stop having nodes going out of memory and giving you a crash dump every time demands goes too high. We also discuss why that decision should be made explicit and as early as possible in your system's design.

Talk objectives: 

- Show the importance in design of planning for overload, and provide recommendations, guidelines, and libraries to do so.  

Target audience:

- Anyone designing an Erlang system that will be subject to high traffic or load. 


Fred Hebert is the author of 'Learn You Some Erlang for Great Good!', a free online (also paid for, on paper) book designed to teach Erlang, and of 'Erlang in Anger', a follow-up ebook about operating Erlang systems in production. He works as a lead member of technical staff on Heroku’s routing components, helping design, program, maintain, and operate large scale distributed systems in the cloud, more often than not written in Erlang, and is one of the maintainers of Rebar3. 

Prior to that, he worked at AdGear, helping develop and operate a real-time bidding service in Erlang, right after having spent a year writing training material and teaching Erlang professionally.

GitHub: ferd

Twitter: @MononcQc

Back to conference page