DEV Community

Will Vincent for Learn Django

Posted on • Edited on • Originally published at learndjango.com

"Django Hosting 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.

Platform-as-a-Service Options

Heroku

Heroku is the original PaaS. It has a free tier for small projects and progressive pricing as a site grows in size. There is also a robust add-on ecosystem for additional services like database hosting, caching, logging, and more. Check out the Heroku Django Getting Started Guide.

PythonAnywhere

PythonAnywhere is another PaaS option that specializes in online Python environments. It also features a free tier and upgraded plans that start at $5/month. Deploying an existing Django app is straightforward and also demonstrated as part of the excellent DjangoGirls Tutorial.

Divio

Divio is a Django-specific platform that comes with pre-configured projects including Django CMS and Wagtail.

Microsoft Azure

A managed PaaS option that includes a nice video tutorial series with my DjangoChat podcast co-host Carlton Gibson.

Render

Render is a new but quite popular cloud option that allows for deploys directly from Github or Gitlab, similar to Netlify. Has options for hosted databases, cron jobs, and more.

Google Cloud

Google provides multiple PaaS options starting with App Engine which is where to start but continuing with multiple more advanced options including Kubernetes and Compute Engine.

Dokku

A lightweight, open source Docker-powered PaaS that promises to be cheaper than alternatives. There are some good tutorials on using it.

Virtual Private Servers

Digital Ocean

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

Linode is another very popular VPS provider also starting at $5/month that has fantastic customer support.

AWS Lightsail

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.

Top comments (9)

Collapse
 
uhttred profile image
Uhtred M.

William, this is just amazing ✨!
Thanks, Amazon CodeStar it’s new for me, and I think this it’s what I’m looking for! 😍

Right now, I’m using Google Cloud Run... but I got some issues with celery! And other worker that a try to use.

I will take a look at CodeStar 🚀

Collapse
 
marcorichetta profile image
Rich

Hi Will.
Thanks for the post, I'm taking a look to Divio now! 👀

Just to note, Zeit is now Vercel, but more important is that the link you posted redirects to a Vercel repo with examples and there's no one with Django.

There are ways to deploy a Python project on Vercel but I'm not sure how easy it is to do it with Django.

Collapse
 
wsvincent profile image
Will Vincent

Hmm, true. Things change fast. After perusing the link you sent I agree it's the closest to a description of Django deployment but is still very hands off. Need to see if I just remove the section from the list now.

Collapse
 
amlana24 profile image
amlan

You may need to review the content for Amazon Codestar. Its not a replacement for Elastic Beanstalk. Two are separate services serving different purposes. The description seems similar but they serve different purpose.

Collapse
 
wsvincent profile image
Will Vincent

Thanks for the tip. Reviewing now!

Collapse
 
codeperfectplus profile image
Deepak Raj

Happy to see you on Dev too, You have amazing tutorials on your website.

Collapse
 
wsvincent profile image
Will Vincent

Thanks! I'm cross-listing them here with originals still over at LearnDjango.com.

Collapse
 
mattschwartz profile image
Matthew Schwartz

I've been a Linode user for many many years. It's a great service and extremely easy to use.

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

That's a great resource on it. I had never heard about the other type of resources.