<story><title>Elixir and Phoenix can do it all</title><url>https://fly.io/phoenix-files/elixir-and-phoenix-can-do-it-all/</url></story><parent_chain><item><author>shijie</author><text>We’re experiencing this at my place of work. Our backend stack is Python, and coming from an Elixir&amp;#x2F;Phoenix background, adding a durable queue to our infrastructure &lt;i&gt;should&lt;/i&gt; be trivial but because of the nature of Python, it is all but impossible to run the queue in the same codebase and application server.&lt;p&gt;Elixir and the BEAM make it so easy and pleasant to run extremely complicated infrastructure in the same codebase and in the same application context. Hard problems made easy.&lt;p&gt;I miss it.</text></item></parent_chain><comment><author>thibaut_barrere</author><text>Something I often &amp;quot;draw&amp;quot; to other developers when showing Elixir is the difference in terms of &amp;quot;boundaries&amp;quot;.&lt;p&gt;It is common to have:&lt;p&gt;frontend &amp;lt;-JSON-&amp;gt; backend &amp;lt;-db&amp;#x2F;queue-&amp;gt; background jobs&lt;p&gt;Each boundary introduces complexity (marshalling &amp;#x2F; impedance mismatch &amp;#x2F; but also different HR&amp;#x2F;recruiting needs).&lt;p&gt;In Elixir you can more or less do:&lt;p&gt;front&amp;#x2F;back&amp;#x2F;background&lt;p&gt;with no boundaries or reduced boundaries (e.g. using LiveView &amp;amp; OBAN in the same process, even if going through Postgres as a queue).&lt;p&gt;Someone coined the term &amp;quot;deepstack engineer&amp;quot; as well recently I think, which I could draw as:&lt;p&gt;frontend &amp;lt;-&amp;gt; backend &amp;lt;-&amp;gt; background &amp;lt;-&amp;gt; machine learning&lt;p&gt;Now with Elixir you can do everything in the same process (but with isolation as required):&lt;p&gt;front&amp;#x2F;back&amp;#x2F;background&amp;#x2F;ml&lt;p&gt;And this is something I find really interesting about this stack.</text></comment>
<story><title>Elixir and Phoenix can do it all</title><url>https://fly.io/phoenix-files/elixir-and-phoenix-can-do-it-all/</url></story><parent_chain><item><author>shijie</author><text>We’re experiencing this at my place of work. Our backend stack is Python, and coming from an Elixir&amp;#x2F;Phoenix background, adding a durable queue to our infrastructure &lt;i&gt;should&lt;/i&gt; be trivial but because of the nature of Python, it is all but impossible to run the queue in the same codebase and application server.&lt;p&gt;Elixir and the BEAM make it so easy and pleasant to run extremely complicated infrastructure in the same codebase and in the same application context. Hard problems made easy.&lt;p&gt;I miss it.</text></item></parent_chain><comment><author>Yoric</author><text>Every time I see microservices, or Kafka, or Redis, ... I can&amp;#x27;t help being disappointed because we seem to be stuck reinventing BEAM&amp;#x2F;Erlang (and Elixir) 30 years after the fact, except with technologies that are slower, more fragile, more complicated to use and harder to deploy.&lt;p&gt;:sigh:</text></comment>