elm / elm-lang.org

Server and client code for the Elm website.
http://elm-lang.org/
BSD 3-Clause "New" or "Revised" License
1.99k stars 366 forks source link

Deployment for Scalability and Reliability #430

Closed ivanoats closed 8 years ago

ivanoats commented 8 years ago

Let's think about scaling and reliability as the elm language, and the home page gets more popular.

What's the best Haskell deployment option? I'm not super familiar with this myself. It looks like some people are doing Docker containers on AWS Elastic Beanstalk. Do people think this is a good route?

https://www.reddit.com/r/haskell/comments/33s0vw/how_do_you_run_haskell_on_an_amazon_ec2_cluster/cqo36ee

Heroku also has Haskell buildpacks https://haskellonheroku.com/

evancz commented 8 years ago

Snap has been fine. I used to use HAppStack and it leaked file handles until it crashed, so that was no good. I am not willing to switch to Yesod.

I am paying DigitalOcean $5 per month to host this server and have full control over things. I can use whatever GHC is necessary.

I'm not in love with Haskell for servers though. It's fine when it works, but maybe there is a better route. The nice things about it are:

On start up, the Haskell server compiles all the necessary Elm files, then serves them itself. So we just need to change the second half of that. Maybe put the static files at elm-lang.github.io/elm-lang.org and make elm-lang.org point there. Not sure if that's 100% possible, but it sounds pretty straight-forward.

ivanoats commented 8 years ago

I like the idea of moving the /try to try.elm-lang.org and having the rest of the site static.

Before then I'm happy to help with setting up monit on the current infrastructure. I will learn more about Snap before I comment on that.

mikegehard commented 8 years ago

I'd be happy to help move things to a static site generator if that is the direction that folks want to go.

Hugo is a great one that ships with static binaries so there isn't another language runtime to install. https://gohugo.io/overview/installing/

evancz commented 8 years ago

No more actions to take here.

evancz commented 8 years ago

Some progress has been made on reliability. It may be worth adding the overall project here to https://github.com/elm-lang/projects so it can happen independent of me.