Workshop: Scaling Elixir and Phoenix

Marcos Almonacid
Lead Elixir Developer at Inaka, Open Source Author/Contributor

Target Audience: Software Developers and Engineers, with a focus on providing web-based services

Pre-requisites: Prior experience with Elixir and Phoenix (3 to 6 months), familiarity with building web services helpful (i.e. REST interfaces).

Objectives:

  • How to organise, grow and maintain an application with multiple responsibilities
  • How to test and statically check an application to minimise integration issues
  • How to integrate resilience patterns to provide partial availability despite outages

Course Outline:

Students will go through analysis and refactor of an existing codebase to improve decoupling, isolation, testability and resilience. The course will cover the following topics:

  • Approaching an existing codebase (code structure, OTP structure)
  • Basic resilience testing
  • Extracting commands for reusability
  • Type specifications and domain borders
  • Extraction to umbrella layout
  • Effective unit and integration testing
  • Client/Server patterns via adapter
  • OTP and circuit breakers to guarantee availability

With a total of 5 years on the software industry, Marcos (@m_amilkr) has being working at Inaka on big erlang projects like Whisper and TV TuneIn (for MTV and VH1). 

He enjoys mentoring developers, tackling new technologies, and, in short, creatively solving tough problems. And he worked with different technologies in a wide variety of environments and scenarios (C, C++, Ruby, Node.js, Erlang).
He is author and contributor of some open source projects such Classifier (an Erlang Bayesian Filter and Text Classifier) and Edis (an Erlang implementation of redis).


Back to conference page