19
52 Comments

Ask IH: Which Hosting Provider Are You Using for Your Side Project?

Hooked on Heroku? Addicted to AWS? Dedicated to DigitalOcean? Dreaming of Docker?

If you've launched (or will launch in the future), I'd love to know what hosting providers you've tried and how they worked out for your product. Who do you love and loathe?

  1. 10

    TBH, It's like asking: do you prefer using wooden spoons, iron spoons or space-grade aluminum spoons to eat?

    AWS, Heroku, Azure, ... They are all kind of the same and yet, a little different.

    You could use the wooden spoon to grab some lettuce out of the bowl, but it doesn't mean the others are better/worse.

    Azure used to be node.js and C#, Heroku was originally more for Ruby, and AWS had a Java party going on.

    If you want serverless architecture, AWS and Azure have had a long run on this and their track record (read maturity) makes them preferable for those matters.
    I love Azure since I got the hang of their admin side, the features and because they acquired Xamarin and making that platform a first-class citizen in the realm of Azure.

    I only know AWS and Huroku from tutorials and some small test setups that I tried back in the day.

    1. 3

      It's like ten thousand spoons when all you need is a knife. And then the next week you work out you could have done it with a spoon anyway. 🥄

    2. 2

      Great answer - I love the spoon analogy!

  2. 5

    Digital Ocean and Vultr for having servers that I use for development.
    I am considering about trying Scaleway and their ridiculously cheap bare metal Intel servers.
    I have used OVH and their brands multiple times, its quite good. Hetzner is the same.
    For Cpanel hosting (it allows me to spin few Wordpress installations in a minute and perform some other testing quickly) I use BuyShared and their reseller option.

    1. 1

      If your business is EU based you can try Hetzner cloud, extremely cheap and good performance, just testing one instance with them

      1. 1

        We are using Hetzner, very pleased with them.

  3. 4

    If your side projects require a page builder and a backend for dynamic content, try AppDrag (https://appdrag.com). It is a CMS that uses templates and a drag-and-drop builder, but unless your project absolutely requires you to code from scratch, you can customize every element at it's source code.

    Then the backend is already connected to your project so all you need to do is write your tables and APIs, then integrate them in the front.

    The best part is that it's an SaaS, so the work is already hosted, and they use AWS. So all you need to do is create an account, open the "side-project" you're doing from your dashboard and start working. Hit "publish" and it's live. You can even purchase domains right then and there.

  4. 3

    Typically, I've deployed front-end code to Netlify and backend code to Heroku.

    My latest side project (https://tntechjobs.com) is all deployed to Netlify. Front-end is a React app and the backend is utilizing Netlify's new Functions (serverless functions deployed via Netlify)

    1. 1

      Netlify is great, just wanted to +1 that, I run the StartupResources.io website on that and it's just such an easy way to have zero worries about your website being up and OK.

  5. 3

    I run a bunch of servers on Digital Ocean using Dokku for deployments.

  6. 3

    I use a mix of Heroku and AWS depending on the needs of my application. Heroku is generally my go to, but AWS has a lot of options that can add some flexibility and save money. For instance, I recently started moving some of code to Amazon's Lambda service which has saved money over having a server always running.

  7. 3

    I'm running Docker containers on Digital Ocean droplets. I've been really happy with DO for years. Plus, they are introducing Kubernetes clusters soon.

    1. 1

      Would be interested in talking about how Docker works on DO - sent you an email :)

      1. 1

        Any questions, feel free to email me too. I have the same setup: Docker and Digital Ocean.

        Even better, post them here so we can educate others.

        1. 2

          Thanks so much, emailed!

          A couple of questions to start:

          • How do you handle scalability? If a container grows too big, do you add another Droplet, resize, etc?
          • How do you handle persistent storage/database for the containers?
          • How do you handle updates and typical sys-admin work?
          • Do you use the DO backups functionality (I understand it is for the whole droplet) or do you back up in a different way?
          1. 1

            Additional point to add to Heliodor's answers

            1. DO makes load balancing traffic trivial. As long as your app is relatively stateless (sessions and uploads stored away from the application docker container) it's easy to spin up a new server with another copy of your app container and add it to the balancer for instant scalability.

            One thing to watch out for though is that updates to your app normally require a rebuild of your container images which can take a few mins if you're doing it as part of a CI process. In my experience you therefore need to be a bit more careful when pushing updates.

          2. 1
            1. Not an issue yet. I can post a maintenance notice and move clients to another droplet or resize it. The idea is to not squeeze every ounce out of the machine, leave breathing room, and not cause myself headaches.

            2. Important stuff is mapped with Docker volumes to DO's block storage for persistence and ease of access.

            3. Docker files point to a specific version for each software so that updates can be carefully deployed. There are deployment scripts so everything can be deployed, re-deployed, and updated easily. Dockerfiles do their magic to deal with the particular software's details. That's assuming you picked or created a quality set of steps in your Dockerfile.

            4. DO's weekly backups for starters. Will deal with daily backups later.

            1. 1

              Thanks for the answers - this seems like a great approach - thanks!

  8. 3

    At the minute i'm using AWS because my project is designed around some of the nice things you get from AWS (like lambdas) i've used all of those providers you've mentioned in production, I like all of them and feel they all have their own use cases, pros and cons

  9. 3

    For me, heroku has been my go-to in terms of ease of use and deploying. That said, I've got my own droplet that my blog runs on that's got plenty of space left so might try move them over there from now on.

    Deploying by git is amazing tho, I really like it. Not sure how to set that up for my droplet, or if it's even possible.

    1. 5

      Check out Dokku. It's basically a docker based PaaS you can install on a linux droplet and use like Heroku. I run my personal site off of it and it works seamlessly.

      1. 7

        Maintainer and user of Dokku here, I'm happy to answer any questions.

      2. 1

        This could be a gamechanger. Nice one!

    2. 1

      Yeah, I love Heroku too but always end up back on DigitalOcean for most projects, using old-fashioned FTP - feels like a bad habit, but it works!

  10. 2

    https://zeit.co/now is the best by far. Super easy to use. It's like Apple-grade quality

  11. 2

    I have the most experience with AWS, so that's what I'm using for most everything.

    I was just recently turned on to Netlify because it has CI for hosting SPAs - pretty slick.

  12. 2

    I'm building on firebase hosting + firebase db + firebase cloud functions (there's a trend here).

    Heavy lifting is done by an auto-scaling cloud of GCP preemptible instances. Preemptibles are super cheap and Google gives a boatload of free credits, enough to keep my service up for more than a year.

  13. 2

    Also, could anyone shed some light on AWS vs. DigitalOcean? I've used AWS for some learning projects, but have heard a lot of good things about digital ocean.

  14. 2

    I mainly use DigitalOcean, but have used hyper.sh as well as now.sh for doing quick one-off type work (if it's docker or Node based). Big providers are either too costly or don't offer the level of "bare-metal" support I'd need, especially with how awesome services like now.sh are (they do HTTPS and other stuff for you out-of-box).

    Oh, definitely netlify for front-end assets as it's also push-button easy

  15. 2

    Honestly would opt for the least complicated and cost-effective option. And switch when it makes sense.

    1. 1

      Same here. Is super easy to dedicate too much time to the tech stack (if you are a techie). Right now I'm using fortrabbit.com

    2. 1

      Does any particular provider = "least complicated and cost-effective option" to you? Or does it depend on the project?

      1. 2

        Often it depends on the project and stack.

  16. 1

    For static websites (html+css+js), nothing beats netlify.

  17. 1

    I use Digital Ocean and Ansible for deployments.

  18. 1

    I'm running a bunch of side-project on Linode through Cloudways.

  19. 1

    I've always found Rackspace Cloud to be very easy to use, secure, and feature-complete.

    I use them for an Alexa top 20k website I run as well as a few smaller sites and dev servers. Not the cheapest but not too pricey. If you don't mind learning the ecosystem, AWS is also feature-complete, but a bit quirky to set up. I've used them for a lot of clients and am presently using S3 to host static sites, because it's the cheapest damn solution for that by far. Cheaper than shared hosting, even, although I've been planning on trying HardyPress' unlimited sites feature, which automatically exports to S3. Take a look if you happen to want to create a static site: https://www.hardypress.com/ I believe they even handle contact forms automatically for free. (No, I'm not affiliated with them, nor have I tried this service before -- buyer beware!)

  20. 1

    I use Docker for local dev and Heroku/Cloudfront for prod on Chatdog (https://chat.dog).

  21. 1

    Linode. For my needs, it offers the best value. Each hosting provider has its own pros and cons so it really depends on the requirements of your side project.

    If you're just starting out, I wouldn't spend too much time fiddling around with infrastructure. If you're not already familiar with AWS, I would recommend using a hosting provider with less of a learning curve like Linode or DigitalOcean.

  22. 1

    I use GCP. I find the UI to be a little bit more accessible than AWS. They have all the services I need and the pricing is competitive.

  23. 1

    In terms of an easy to use solution for building your product, we've been working on a new type of tool called Clay Base: http://base.run that we think really speeds people up in building a large set of products.

    You can think of it as the new generation of Parse / Firebase / Airtable, but with a huge amount of functionality already built in (i.e. you can use APIs, and custom functions as though they're just columns in your database). It's a serverless approach to building web / mobile apps really quickly, and you also get a nice spreadsheet like interface to your data built in.

    We're about to integrate the ability to really quickly spin up your own serverless endpoints too so you'll be able to have the entire backend to power your product in one place. It's been speeding us up on sideprojects we're building, and is a good way to get a project up & we're here to chat to see if we can be helpful with what you're building.

    1. 1

      Looks interesting! Sent you a message in Intercom :)

  24. 1

    AWS... No need for anything else. I did not have a good experience with DO and there's no reason to use a different provider for side projects anyway. AWS can do as much or as little as you need.

  25. 1

    Moved from Vultr to DigitalOcean. Pricing is more or less the same, so that's no concern. I liked Vultr's UI more and it was faster. DO has a delay on every damned screen! However, firewalls had a limit of 50 rules, and that wasn't going to work for me. Also realized that for my product, a reputable brand for hosting is important.

  26. 1

    Written about this before, but my workflow for "hosting" is:

    1. start running an app on a big DO droplet (I host multiple Rails apps on it). I use Hatchbox to make deployments really easy—almost easier than Heroku!.
    2. once an app becomes profitable I'll move it to it's own Heroku team account (including pipeline set up)
      Muna ran as a private beta on the DO droplet, but I've moved before "public launch" to heroku.

    Since I work with a Git workflow, the only steps I need to take are setting up Heroku to listen to the master branch. Export the database from DO and import the data into Heroku, which is really just a few commands.

    This flow is ideal since it's cost effective to start new projects. The DO droplet is paid for already and can easily host multiple medium sized rails apps). It currently runs a few of them. Next to that I have three apps running on Heroku.

  27. 1

    I very often go with OVH for my servers. I start with a small VPS at 3$/m that is equivalent to the 5$ at Digital Ocean (missing a few features) and grow from here. (edit: the VPS servers at OVH doesn't appear to be available on the US :/)

    Almost all my projects are hosted by a single VPS at 3$ since they are not growing much, except one - PDFShift - which is on a load balancer with a more powerful server on the backend to handle PDF conversion.

    1. 1

      Hey Cyril, thanks for the comment! I've used VoilaNorbert before - so great to make the connection!

      I'd be interested to hear what features are missing at OVH/DO and how you handle load balancing and scalability? I guess you've broken up the conversion into some kind of service?

      1. 1

        DO offers backups and snapshot for less than OVH in term of price (and with a simpler interface to do so).
        They also provide a few features that are interesting (floating IPs, Load balancers, etc).

        I took a VPS to handle the Load Balancing thing, and I use uWSGI to handle subscriptions between the LB and the more powerful servers. When I create a new server, it automatically connects to the LB, which in turns sends traffic to it as long as it's working.

        Hope that helps :)

  28. 1

    .NET core/sql server stack so Azure has been a good, reliable, cost-effective fit. I'm super happy with it.

  29. 1

    vultr :)

    works nicely with custom ISO's, I am a big fan of DragonflyBSD and with vultr it is very easy to setup an instance with it.

  30. 2

    This comment was deleted 2 years ago

  31. 1

    This comment was deleted 7 years ago

  32. 1

    This comment was deleted 3 years ago