Django Hosting & Deployment Options
Django websites can be deployed on any number of hosting providers. The first choice is deciding whether to use a Platform-as-a-service (PaaS) option or a virtual private server (VPS). A PaaS is an easier albeit more expensive option that can handle many deployment issues with minimal configuration. A VPS is less expensive and provides total control but requires more knowledge and effort to setup.
Until recently Heroku offered a generous free tier but as of November 2022 that is no longer the case. As a result, you will need to pay for most hosting now but a basic site shouldn't cost more than a few dollars a month on most platforms.
Fly is a newer hosted option that has physical servers across the globe to be closer to users. It is fully hosted with PostgreSQL clusters and a tiered pricing scheme. Check out the Django docs to get started quickly with a new site or deploy an existing site there.
Render is also a newish but quite popular cloud option that allows for deploys directly from Github or Gitlab, similar to Netlify. It options for hosted databases, cron jobs, and more. Check out its Django guide for more information.
Heroku is the original PaaS that features a robust add-on ecosystem for additional services like database hosting, caching, logging, and more. Check out the Heroku Django Getting Started Guide.
Digital Ocean's App Platform rolls everything you need into an easy-to-use UI. Check out this tutorial to get up and running quickly with hosted database and fast deploys.
Railway is a newer hosting provider that comes with pre-made templates for a number of frameworks including Django.
Recently acquired by Anaconda, PythonAnywhere is another PaaS option that specializes in online Python environments. Plans start at $5/month. Deploying an existing Django app is straightforward and also demonstrated as part of the excellent DjangoGirls Tutorial.
Appliku is a Django-focused service makes it easier to deploy on either AWS or Digital Ocean. Add your server, Git repo, and deploy in five minutes.
A managed PaaS option that includes a nice video tutorial series with my DjangoChat podcast co-host Carlton Gibson.
Google provides multiple PaaS options starting with App Engine and more advanced options including Kubernetes and Compute Engine.
A lightweight, open source Docker-powered PaaS that promises to be cheaper than alternatives. There are some good tutorials on using it.
CapRover is a free and open source PaaS that can be used on top of a Digital Ocean droplet.
Virtual Private Servers
If you're comfortable doing basic server configuration, for as little as $5/month you can host your entire Django project on Digital Ocean. They have fantastic documentation and one-click installs for common setups like Ubuntu.
Linode is another very popular VPS provider also starting at $5/month that has fantastic customer support.
Amazon's AWS is famously complex and Lightsail bills itself as the "easiest way to get started" by offering virtual servers, storage, databases, and networking in a monthly plan. Appropriate for small applications.
AWS Elastic Beanstalk
Elastic Beanstalk is an orchestration tool that provides a layer of abstraction over AWS's 100+ services. It does all the work to create an EC2, install apps, provides a load balancer, and so on. Lightsail is designed for prototypes while Elastic Beanstalk is more suited to scaling an existing application. It is likely more expensive than raw EC2, which is just a remote Linux machine.