Opinion - What's best hosting for a simple sites to a startup?

I’m been trying out distillery, edeliver, bootleg, and am currently looking at gigalixir… for simple client work like (mostly) static sites, semi-complex apps, and my own multi-tenant app in development… and I’m wondering what you would recommend.

My preference is to avoid containers like docker, if possible (gigalixir being the exception), but I’m open to being persuaded to use them.

This is also to answer my curiosity about what a startup would choose today for hosting.

Thanks

2 Likes

You will (or should) be using Distillery (eg. proper releases), at least under the covers, for almost any deployment flow… Unless you’re deploying to a Heroku-like platform, or if you use Docker I guess.

As for the specifics, I think that comes down to what you’re experienced with, and what scale you work at.

Distillery on its own, along with some scripting, will do nicely for most scenarios if you don’t want extra dependencies. I’ve also used Edeliver, which was convenient in many ways, and Bootleg seems similar.

If I had a few sites to manage though, with databases etc, I’d go for Puppet to manage the infrastructure, and probably build .deb packages with Distillery that could then be deployed to an internal repo, to be upgraded automatically once Puppet runs again on the application server.

Naturally something like Chef, Ansible or SaltStack would work equally well; Puppet is just what I know best for this type of scenario.

In the end, when starting out at least, just pick something that seems easy to get started with, learn it, and use it.

EDIT: I’m not representing a startup, but whether you’re running a startup or not shouldn’t really have much to do with your deployment tools… Rather it depends on what skill sets are available, and the scale of your environment.

1 Like

This thread might be of help:

I would always recommend dedicated servers tbh - they are cheap enough theses days.

I would have to disagree with @AstonJ on that.
Using dedicated servers or a VPS brings a whole host of problems and responsibilites that you might not want to deal with. While spinning up an Ubuntu VPS and then slapping on a Docker image on DigitalOcean might be easy, securing the system and keeping it up to date is no simple task. Especially if you’re working on your own or with a small team, the money you save from using a VPS or dedicated server over a PaaS is probably not worth your time.

@BarelyFunctional: Is there any particular reason why you’d want to avoid Docker?

Most Linux distros are pretty secure by default :slight_smile: there are also additional things you can do by following online guides; disable root login, passwordless login, change ssh port, install additional security like fail2ban (if you want to) etc

Is it more work? Perhaps… but I think it’s worth it. For me the added complexities (and overhead) of things like Docker are off-putting (the only time I have ever lost data in over 10 years of hosting sites was with a Docker site).

The funny thing is, years ago the most expensive ‘best’ options were in fact dedicated servers or co-locating your own servers in a datacenter :lol:

I’ve been using Gigalixir and I recommend it, if only because it installs and configures your SSL cert for you using Let’s Encrypt, which saves me a few hours for a deploy.

The founder, who sometimes pokes his head around here, has also been super helpful with any problems I run into.

Gigalixir is also not a container – it uses Distillery under the hood, which means you get hot code upgrades, while exposing a Heroku like api.

However, unlike Heroku, it doesn’t restart your app and wipe your disk storage every 24 hours, which is better for long running processes and persisting local state to disk with ets/dts, which has saved me a Redis deployment / S3 solution.

4 Likes

I’ve played with Docker before but didn’t like its networking options, and I’d prefer to avoid the added layer of complexity.

1 Like

Google Cloud Platform free credit :slight_smile: you get 300 USD for 12 months

Pure awesomeness aside, How does Gigaelixir compare to Heroku in Cost over time ?

We use Heroku. Our goals are to minimise any time spent on deployment/infrastructure and Heroku satisfies this 100%.

  • Buildpacks for automatically building phoenix/elixir apps
  • Easily setup with CI tools (e.g. CircleCI) and GitHub
  • Review apps make testing deployed versions of the code super quick
  • Let’s Encrypt built-in

I think the only downside of Heroku is that it becomes expensive at scale, but that’s not a problem most startups have to worry about for a while. Yes, you can get a cheaper dedicated machine, but if you spend a few extra setting up the above you’ve already cost yourself more than the difference in price.

1 Like

Take a look at Nanobox.io, I’ve used them for various projects and they are amazing. They have Slack setup with different rooms per language, staff is always there to help. I like that I can use any number of cloud providers and are not stuck on AWS.

I think it’s identical – $50 / GB RAM / month.


https://gigalixir.com/pricing

But it’s a bit hard to compare. For example, if you want to cluster your machines and have them communicate together Elixir style, Heroku can’t do that, so you end up adding the cost of Redis as well.

Additionally, Gigalixir doesn’th ave all these DB / logging add-ons / CI, so you have to spend time setting up those things as well.

Hi everyone, gigalixir.com founder here.

Just wanted to say that if your app is open source or you add us as a collaborator on your project, we’ll do all the setup work for you and get you up and running on Gigalixir.

We do this because it only takes us about 5 min to do.

We’re also extremely responsive to support requests and you get actual engineers helping you instead of support representatives.

For pricing, our free tier is similar to Heroku’s hobby tier and the standard tiers are about the same. Here is a feature comparison in case it helps.
https://gigalixir.readthedocs.io/en/latest/main.html#gigalixir-vs-heroku-feature-comparison

Aside from features, the biggest difference you’ll notice during setup is that Gigalixir uses Distillery while Heroku uses Mix. This means a little extra setup, but then you get remote console, remote observer, hot upgrades, clustering, smaller slug sizes which mean faster deploys, and all the other benefits of distillery.

eDeliver is more suited for people familiar with devops and don’t mind spending time managing their own infrastructure and dealing with fires. You’ll also have to set up your own monitoring, firewalls, load balancing, TLS encryption, log aggregation, etc. It is cheaper though so makes sense if you have a lot of machines.

6 Likes