Deploying To Production

How To Choose A Hosting Provider

There are many factors you can consider when choosing a hosting provider for your SaaS product. The majority of them are not permanent decisions and can be changed later. Instead, focus on the following.

  • Make sure you are able to switch providers when the need arises. Keep your data stores separate from your services. When possible choose managed database services, these will usually come with a GUI for backups downloads.
  • Pick a provider that you are most familiar with and requires the least amount of investment so you can focus on scaling your product.

Providers

Here is a short comparison summary of some of the providers we use or have looked into.

Heroku

Popularised Platform-as-a-Service solutions (PaaS). Innovation has stalled and they have had their security issues in the past. However, this is still considered the 'safe' choice by a lot of enterprises and developers. The platform also has a large ecosystem of providers and community resources, just by virtue of being around for 15+ years.

Render

Render.com is Heroku's spiritual successor with modern features, and responsive customer support, and is cheaper. It has a good dashboard & overall great developer experience. They provide hosting for different service types including, static sites, web servers, background workers, cronjobs, and Postgres and Redis data stores. Each service comes with TLS certificates, a global CDN, and DDoS protection. You also have the ability to auto-scale your applications.

DigitalOcean

Like Heroku and Render, DO offers a fully managed solution (App platform). In addition to that, you can also spin up your own droplets(VMs). Droplets require that you manage everything yourself but are much cheaper. Creating and managing infrastructure can be simplified with tools like packer and terraform.

Fly.io

Fly.io offers similar services to the above but in addition, your apps, including your database will be hosted in different regions. Effectively this means your monolithic server-side apps built with Flask/Django/Rails etc can run 'on the edge'. Combined with tools like HTMX, Hotwire & caching with redis, your apps can (probably) be as fast as the latest frontend frameworks. We are currently testing this service and will post an update here.

Railway

We will update this soon.

AWS & GCP

We would only recommend this if you are using one of the container services to run your app, for example, Google Cloud Run or AWS Elastic Beanstalk. This can be cheaper in the long if you have an experienced team/experience to take care of your dev ops and manage pricing etc.

A quick price comparison

ProviderMachinePrice
HerokuStandard 2x (1gb ram)$50
RenderStandard Plus (3gb ram, 1.5x cpu)$50
Digital Ocean4gb ram/ 2cpu (app platform)$40
Digital Ocean (droplet)4gb ram/2cpu - droplet $24
Fly.io 4gb ram/2cpu (charged in hours)$62

Recommendation

Most of our latest apps and services are deployed on Render.com.

We have some legacy apps on Heroku and still use the service for demos and Postgres hosting.

We use GCP Cloudrun for services that need auto-scaling or clients with complex requirements, for example, clients that require Site to Site IPSec VPN.

For context, our work is primarily on small to medium-sized applications i.e. not Facebook, or Google. The providers below should be more than enough to handle your app's needs. Big optimizations can be gained from in-app changes such as database architecture, caching, and more.

If you need more info, get in touch with us below.