Scaling Elixir and Phoenix
21-22 March (2 day course)
- Trainer: Claudio Ortolina
- 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