Skip to content

Choosing a Platform

Choosing a platform to deploy to might seem difficult, because there are many to choose from these days. It's hard to say that any one platform is better than any other, because they all take different approaches to a complex problem - pushing your project to a remote server in a way that lets it run reliably, at a reasonable cost.

django-simple-deploy aims to make it easier to choose a platform by simplifying your first deployments to a variety of hosts. You don't have to do a deep dive into each platform's documentation in order to get a deployment up and running. Typically, you can make an account with the platform you're interested in, install that platform's CLI, install the plugin for that platform, and then push your project. You get a working deployment with very little effort, which makes further exploration of each platform much easier and much less frustrating.

This page summarizes the strengths and potential drawbacks of each platform.

Note: Best efforts are made to keep this page up to date. If you see something that's no longer accurate, please open an issue and include a link to the updated information.

Quick comparison

Fly.io Upsun Heroku
Free trial No Yes No
Free trial length - 15 days -
Credit Cards required for trial - Yes -
Cheapest paid plan $1.94/mo 1 $12/mo 2 $10/mo 3
Company founded 2017 2012 2007
  1. This is for the machine that runs the Django project. With a database and some traffic, the actual amount will likely be higher.
  2. This is the Development plan on Upsun Fixed.
  3. Using a $5/month Eco dyno and a $5/month Essential 0 Postgres database.

Detailed notes

Known for

  • Fly.io automatically deploys your project to physical servers spread around the world. The goal is that your app will be equally responsive to users around the world.

Strengths

  • Offers a public forum for support, and allows you to search for issues (and resolutions) that others have had.
  • The cheapest plan is currently about $2/month, but that machine only has 256MB of RAM. A 1GB is currently less than $6/month.
  • If your total invoice on a personal account is less than $5 for any given month, you won't be billed for that month. It's not a credit though; if your invoice is over $5 you're responsible for the full amount owed.

Issues

  • The distributed server model may not be suitable for all projects.
  • Fly has been growing for a while, and has had some outages along the way that have frustrated some users.
  • The documentation states that you can use a prepaid card to buy credits if you don't have a credit card. However, you need a credit card on file in order to open an account, and if you run out of credits your credit card will be charged.

Links

Using django-simple-deploy with Fly.io

Known for

  • Upsun is a managed hosting platform that focuses on making continuous deployment easy and safe.

Strengths

  • Once you have an environment set up with the Upsun tools, pushing a project and maintaining it is as straightforward as it is on any other comparable platform.

Issues

  • Error messages about resource usage are sometimes unclear.
  • Upsun is a rebrand of the older Platform.sh host. Most workflows have been updated, but there's still some Platform.sh-based names that can be confusing at times.

Links

Using django-simple-deploy with Upsun

Known for

  • Heroku was the original "Platform as a Service:" (PaaS) provider. Heroku pioneered the simple git push heroku main deployment process that most other platforms are trying to build on today.
  • Heroku is known for being more expensive than options such as VPS providers, and AWS. However, they quite reasonably argue that using Heroku requires less developer focus than unmanaged solutions like a VPS or AWS. You get to spend more of your time building your project, and less time acting as a sysadmin.

Strengths

  • Heroku has been managing automated deployments longer than any of the other platforms supported by django-simple-deploy.

Issues

  • Heroku was a great platform in the late 2000s through the mid 2010s, but then it began to stagnate. Packages that were recommended for deployment were archived and unmaintained, even though they were officially still recommended. Heroku "just worked" for a long time, but recently that neglect has caught up to them. They've been restructuring their platform for a long time now, and people are reasonably concerned about Heroku's long-term stability.
  • Heroku has had major incidents and outages in recent years, which they took a long time to resolve and communicated poorly about. This is the more significant reason many people have moved away from them in recent years.
  • Heroku was famous for a very generous free tier, where you could deploy up to 5 apps at a time including a small Heroku Postgres database. This kind of offering sounds nice, but it also draws abuse. Heroku was constantly fighting things like auto-deployed crypto miners. They no longer offer a free tier. Their cheapest plans are still reasonably priced, though, so the end of the free tier should not rule them out as a hosting option.

Links

Using django-simple-deploy with Heroku