Yeah, that was a bad pun, but on this talk we’ll go over how to build an umbrella app in Elixir and Phoenix. As a bonus we’ll also cover a few of the differences between umbrella apps and microservices as well as how the Elixir community is moving towards a more thoughtful architecture for apps.

1 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist

Outline/structure of the Session

Umbrella apps are a type of Elixir (and Erlang) application that allow you to have nested OTP applications as part of the same bigger ecosystem. You can think of them as a sort of microservice architecture in which the bulk of the infrastructure work is handled for you by the VM. It makes super nice and easy to handle inter dependencies, integration testing, different scaling needs, distribution, etc… A part of extracting multiple apps is thinking where to define the boundaries, that’s where DDD, bounded contexts and aggregates come into play, and even though they are not something that came out of the Elixir or Erlang communities is something that is being discussed a lot as a way to build more maintainable, scalable and adaptable application.

Learning Outcome

Having come from the Rails world, this separation of concerns and clear cut boundaries was something somewhat foreign to me, but it has been extremely fun to learn and think about this things. Also, I believe I have taken some of this into my Rails’ apps, making them more modular and less coupled, even if still drinking the whole majestic monolith kool aid. That's what I hope people will come out of the talk with, a sense that it's good to think about this things and to question the status quo.

Target Audience

Anyone that is interested in talking and thinking about structuring applications for the long haul

schedule Submitted 2 months ago

Comments Subscribe to Comments

comment Comment on this Proposal