# Flame – rethinking serverless

**URL:** <https://forum.elixirforum.com/t/flame-rethinking-serverless/60209>\
**Category:** Discussions\
**Tags:** serverless, flame\
**Created:** [December 6, 2023, 6:18pm UTC](https://forum.elixirforum.com/t/flame-rethinking-serverless/60209 "2023-12-06T18:18:28Z")\
**Posts on this page:** 1\
**Showing post:** 15

<div class="post-metadata">

**Author:** ![lud](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lud/32/14382_2.png) [@lud](https://forum.elixirforum.com/u/lud)\
**Post date:** [December 8, 2023, 8:55am UTC](https://forum.elixirforum.com/t/flame-rethinking-serverless/60209/15 "2023-12-08T08:55:54Z")

</div>

```elixir
  @doc false
  def __open__ (%File.Stream{path: path, node: node}, modes) when node == node() do
    :file.open(path, modes)
  end

  @doc false
  def __open__ (%File.Stream{path: path, node: node}, modes) do
    :erpc.call(node, :file_io_server, :start, [self(), path, List.delete(modes, :raw)])
  end

```

Alright, the node is stored in the stream struct and the file stream implementation will just ask the right node to do the work.

Indeed this is so simple and Just Works™ 😃

---

_[View the full topic](https://forum.elixirforum.com/t/flame-rethinking-serverless/60209)._
