We have hosted Django applications on AWS EC2, PythonAnyWhere and now on DigitalOcean as well. Here is a brief comparison of all.
AWS EC2:
- Offers pay-as-you-go compute capacity
- This is a large service that provides resizable compute capacity
- Free for 12 months (750 hours of CPU usage)
- Can use a custom domain in free tier plan (Extra charges may apply)
- SSH access available
- Browser-based SSH connection available
- The developer needs to set up everything from scratch. Intermediate level of expertise required
- Root level access available
- Can install and use whatever tool/software is required
- Highly scalable
- The developer needs to manage the webserver
- Pricing https://aws.amazon.com/ec2/pricing/
- Create a free account
- Hosting the Django app on EC2
- Easiness to use: 5/10
- Control over application and server: 10/10
PythonAnyWhere:
- Offers fixed price shared hosting starting with $5 per month
- Small Paas (platform as a service) provider which supports only Python web apps
- Always free plan available. 100 CPU seconds per day. 512 MB space
- Can not use a custom domain with free plan. The app will be hosted on username.pythonanywhere.com. All paid plans support custom domains.
- SSH access available
- Browser-based terminals available
- The application setup is extremely easy.
- Root level access not available
- Apart from web hosting, Only MySQL, Postgres and schedule tasks support is provided
- Good for small to medium traffic apps
- The developer needs to take care of code
- Pricing https://www.pythonanywhere.com/pricing/
- Create a free account
- Hosting the Django app on PythonAnyWhere
- Easiness to use: 9/10
- Control over application and server: 5/10
Digital Ocean:
- Offers pay-as-you-go compute capacity capped at the fixed price starting with $5/month.
- This is a small service that provides resizable compute capacity
- Free $100 credit if the account is created using this link.
- Simple and easy interface to manage security and billing.
- Relatively easier to use than AWS EC2 and better control over application and system if compared with PythonAnyWhere.
- We can use a custom domain.
- SSH access available.
- No browser-based SSH connection available
- The developer needs to set up everything from scratch. Intermediate level of expertise required.
- Root level access available
- Can install and use whatever tool/software is required
- Highly scalable
- The developer needs to manage the webserver.
- A floating IP address is given free of cost.
- Pricing https://www.digitalocean.com/pricing/
- Create a free account
- Hosting the Django app on Digital Ocean (article coming soon)
- Easiness to use: 9/10
- Control over application and server: 9/10
If you want to add points, please comment below.
So far my favorite is DigitalOcean. If you have a small application to host without requiring anything except MySQL, go for PythonAnyWhere else go for DigitalOcean.
If you need any help in setting up your application on DigitalOcean or PythonAnyWhere, feel free to reach out to us.
Host your Django Application for free on PythonAnyWhere. If you want the full control on your application and server, you should consider DigitalOcean. Create an account with this link and get $100 credits.