boddhisattva

boddhisattva

Resources on how to build and structure Umbrella Projects using Phoenix 1.3

Greetings everyone,

At my current workplace we’re evaluating different ways of building a microservices architecture for some parts related to our existing apps and with the Umbrella apps approach it looks like one doesn’t necessarily have to manage them in separate repositories, release management also gets easier(in terms of which PR’s get merged first) and I believe one can also take the advantage of having all microservices in one language(if Elixir is a good fit for a given problem at hand) and still having good amount of separation of concerns.

I’ve been able to find this information by looking up some of the below resources and videos around Umbrella Projects:

  1. Lonestar ElixirConf 2017- KEYNOTE: Phoenix 1.3 by Chris McCord
  2. Elixir Umbrella - Microservices or Majestic Monolith? Georgina McFadyen - Elixir.LDN 2017
  3. ElixirConf 2016 - Building Umbrella Project by Wojtek Mach
  4. ElixirDaze 2017- Using Your Umbrella by Chris Bell
  5. Create an Elixir umbrella project containing a phoenix app and build a release with Distillery
  6. Designing scalable application with Elixir: from umbrella project to distributed system
  7. Structuring Elixir projects
  8. Dependencies and umbrella projects
  9. Umbrella Projects - Elixir School

From my research so far, I’ve found that there are hardly enough books, tutorials that cover best practices around building umbrella apps from ground up in at least some more depth in a step by step manner and having more materials(Books, Tutorials, Best Practices, Tips, Lessons learnt and other resources) around this would be really helpful at a time when we’re considering an umbrella app structure as a way of doing things. In the meantime, I plan to also learn more about umbrella projects from my end via trial and error.

Currently, I plan to closely follow the questions related to Umbrella projects based on those that have the umbrella tag as part of Elixir Forum and also follow relevant questions via other platforms like - Elixir lang Slack, Stack Overflow etc.,.

If there any books, tutorials, best practices, tips, lessons learnt the hard way(this can be really valuable to fellow readers like me) and other gotchas that you think could be worth sharing from your experiences of building an umbrella project at your workplace or through your side projects, please do share them here via relevant links or your own experiences as a reply to this thread here as I think we all could benefit from each others experiences given that there are limited resources/documentation available on this topic currently.

Also if you’re planning to write a new blog on your experience of building an Umbrella project, please do link to those posts as part of this thread.

Thank you.

Most Liked

AstonJ

AstonJ

If you’re interested in microservices or the Replaceable Component Architecture, you might like PragDave’s online course :003:

oldpond

oldpond

He does not use umbrella projects in his course. However, he does an excellent job of factoring his application into concerns that are clear and intuitive.

AstonJ

AstonJ

He goes a step beyond umbrellas and builds his project as a series of fully independent (and replaceable) apps - pretty much everything you learn will be useful to you if you use umbrellas :023:

Bo_Gs

Bo_Gs

I have been trying to move from Ruby to Phoenix/Elixir and for me learning is by doing. Have been tinkering with Elixir but I am having a hard time trying to understand umbrella projects. Waiting on the new phoenix book but agree not enough resources :thumbsup: imo for what it is worth :003:

prodis

prodis

Two more resources about how to decide using umbrella projects:

  1. Adopting Elixir book (see “Dividing Applications” page): https://books.google.nl/books?id=F_tUDwAAQBAJ&pg=PT131&dq=adopting+elixir+“dividing+applications”&hl=en&sa=X&ved=0ahUKEwilruDj3r_eAhVJjqQKHdaFD-AQ6AEIKjAA#v=onepage&q=“dividing%20applications”&f=false

  2. Umbrellas: only when it rains? (Elixir School blog post): https://elixirschool.com/blog/umbrellas-just-when-it-rains/

Where Next?

Popular in Chat/Questions Top

roshan
Hi everyone, I’m looking for a book on Phoenix server hosting / deployment like the following books for Rails, Docker for Rails Develop...
New
Fl4m3Ph03n1x
Background Hello all! So after my controversial introduction with Learning Elixir, frst impressions ( plz don’t kill me ! ) - I saw a ton...
New
Emily
Preface: I’m not sure if thise is the right place, because this is not direclty Elixir related… but I’ve always got some of the best advi...
New
zeroexcuses
Besides Basic types - The Elixir programming language are there any other well recommended “elixir by example” style resources / books ? ...
New
RKC07
I’m new to elixir. I did some coding in python and C. I want to learn elixir for starting my career in web development. I need suggestion...
New
New
asfand
I already created an Elixir Phoenix app for learning purpose. In this app students of our collage will create profiles, and will chat wit...
New
Fl4m3Ph03n1x
Background After following the communitiy suggestion, I bought the Elixir in Action 2nd Edition book and I am about to finish it now. I ...
New
younes-alouani
I'm studying Phoenix Framework but I want to understand basics first. Which book/mooc explains better the Design of Network-based Softwar...
New
SavagePixie
I was wondering if there are any beginner-friendly, exercise-based resources for learning Elixir out there. I’m looking for something lik...
New

Other popular topics Top

stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30048 115
New
Tee
can someone please explain to me how Enum.reduce works with maps
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
New

We're in Beta

About us Mission Statement