Best way to host a julia webapp?

I want to host a Julia webapp. But I would like to avoid having to use my own server on the Web. Are there commercial Website hosting services for Julia-based applications?

You can probably host just about anywhere. I don’t know what’s best, I’m not even sure there are many differences, at least for Julia.

Proof: Deploy Your Dash App | Dash for Julia Documentation | Plotly

Dash Enterprise is Plotly’s commercial product for deploying Dash Apps on your company’s servers or on AWS, Google Cloud, or Azure.

That’s if you use Dash.jl for frontend web, now with company support (Dash was originally, and still also is for Python, and is also for R). The guy, @waralex, who built Dashboard.jl is now behind Dash.jl.

I’ve seen a web app for Heroku (probably first place I saw used with Julia).

Here’s one example: https://juliadash.herokuapp.com (uses older Dashboard.jl, I suppose Heroku still supported with Dash.jl). Note, you do not get your own domain, only a sub-domain, but that may just be the default. That’s free, and they provide e.g. PostgreSQL database that they set up for you, should be easy to use from Julia.

I found that example app from a tutorial Deploying Julia projects on Heroku.com | by Kim Fung | Towards Data Science

Another option for frontend is Stipple.jl and it builds on Genie.jl, @essenciary is the guy behind both. Genie.jl is for backend if you want to use that only, or both together.

See e.g. Deploying to Heroku with Buildpacks · Genie - The Highly Productive Julia Web Framework

This tutorial shows how to host a Julia/Genie app using a Heroku Buildpack.

and:

All the main so-called “clouds”, have support, see e.g. (and Amazon lambda):

but it’s not clear you need any of the packages under that umbrella, these clouds are not just used with Julia for webapps, also distributed computing:

I myself am just using one of the frontend webapp solutions above (and their dependencies), and not having to set up a server or anything, while Genie allows for Nginx. I’m not going to use a cloud so I’m somewhat ignorant of the possibilities, but feel free to fill me in.

2 Likes

Hi @Jojo_Dad
I was wondering if you made any progress with this?
I looked into Heroku, but my slug size is too big (presumably because of Julia deps such as Conda, PyCall and the likes). So I was wondering whether you found an alternative solution.

brief update: Azure web app (and probably its competitors just as well) works fine with Dash.jl and Docker, once configured properly.