From Rails to Elixir - Pusher Clone Training
Join Wavell Watson and learn how to integrate a real-time component into your legacy Rails application with Elixir!
The integration of microservices, the Internet of Things, and context-aware (e.g. location and environment) systems are forcing our development efforts to become distributed, fault-tolerant, scalable, soft real-time (predictable response and latency), and highly available. When approaching this difficult task, problem areas in legacy systems can often be integrated with high availability components instead of undergoing a complete rewrite.
An example of this is a legacy Rails application that needs to integrate a chat component. Rails is great for productivity, especially for small and mid-size applications. When adding a (soft) real-time messaging social component, the best practice is to use a third-party service such as Pusher to get started. This is because it is better to leverage a different architectural model, Publish/Subscribe, instead of the regular client/server polling model for performance. For more privacy, control, or custom additions, we can use Elixir/Erlang for this performance and availability without using a third party. In this course, we will talk about the distributed, fault-tolerant, scalable, soft real-time, and highly available properties of Elixir/Erlang while creating a clone of the Pusher service.