
Ask HN: Is deploying Erlang web applications to a public PaaS viable? - vezzy-fnord
For the sake of argument, let&#x27;s assume Heroku. Although plenty of buildpacks exist, many are outdated or have various idiosyncrasies in how they mandate project structure and environments, though this can be addressed by modification.<p>Practical Erlang deployments have all been complicated, large-scale endeavors, involving multi-node setups, clustering and so forth.<p>Yet the deployment and provisioning convenience of a PaaS cannot be understated, despite the inherent loss of flexibility and being subordinate to high level quotas set by the provider.<p>I know for a fact that hosting Erlang apps on Heroku means you lose said multi-node advantages, along with incurring limits on concurrent connections.<p>My question is: Is it worth it for an end-user facing web app built on the platform with rather special considerations that is Erlang (whether it be driven by a raw web server like Cowboy or Yaws, or a framework such as N2O, Nitrogen or Chicago Boss) to be hosted on and withstand moderate traffic on a PaaS like Heroku, or will the operations and debugging costs prove too great? What detailed list of caveats must I be aware of? Any successful stories of such setups?<p>Thank you in advance.
======
JoachimSchipper
I have no serious experience with Erlang, but what are you looking for? E.g.
if you're running a chat server that keeps all data in-process, Erlang _is_
your platform, and PaaS isn't much more convenient than a cloud or a dedicated
server. If you want to pay someone to manage PostgreSQL and Redis clusters for
you, a PaaS provider may be more interesting.

Do note that AWS offers a _lot_ of services; using e.g. AWS RDS isn't going to
lock you in worse than using Heroku.

~~~
vezzy-fnord
A rather standard CRUD app backed by PostgreSQL. If I were using Mnesia, I'd
go the IaaS route and do sysadmin/ops work manually, most likely.

Thanks for the heads-up.

------
toast0
> I know for a fact that hosting Erlang apps on Heroku means you lose said
> multi-node advantages, along with incurring limits on concurrent
> connections.

Why would you choose Erlang, and then remove some of its major advantages?

You may be able to postpone a lot of operational complexity by just scaling up
the hardware on a single server (or a single pair of servers). You can do a
lot with a 2690 and 512GB of ram, and it's not that expensive to build.

------
fenollp
Check out this French company [https://www.clever-
cloud.com/en/](https://www.clever-cloud.com/en/)

They have support for Erlang although I don't see it advertised there anymore.

