Discover the pros and cons of each of the four deployment options.
- When you've completed a Django project and you're ready to ploy it out for everybody to enjoy, there's a big question you ask yourself, "Where should I deploy my project?" Now in this course, I'm going to be showing you four different places that you can do that and you can pick which one you'd like to use, personally I'd recommend going through each so that you can personally see the pros and cons of each and decide which one's best for you but I'd like to show you the pros and cons of each platform and then you can decide if there's one specific one you want to jump to that you can do that. So, let's go ahead and start first with DigitalOcean. One of the greatest pros about DigitalOcean is, it's a very hands-on option. DigitalOcean gives you a virtual machine and we're going to fire up an Ubuntu linux server and rewrite all the code to make everything happen so we're going to get the postgres database up and running, we're going to use something called Gunicorn, to get our server working. You see how everything works and you're completely hands-on. If something changes, you can always switch to a different linux server and you'll be more than fine. The platform on DigitalOcean is extremely simple, so they make it very easy to spin up a server, within literally 30 seconds, you can have a new server ready to rock 'n roll. Now, the cons with DigitalOcean is that when something breaks, it's completely on you. If your database is locking up for some reason, gets hit with too many requests, it's on you to figure out how to scale that and if you need to make things bigger, deploy things to have a load balancer and stuff, things can get very complex, very quickly. Now, let's talk about AWS Beanstalk, so this is Amazon's app-based architecture for deploying your project. One of the greatest pros of AWS is it's the cheapest option out there, AWS is so massive and they're always trying to drive down their costs, there's really no one that can touch Amazon when it comes to cost. Also, what's great about AWS is that you can deploy your whole project straight from the command line. Now, this brings us to our cons, while you will do most things from the command line, you will also have to jump into AWS's ecosystem which is very large and very complex, being the largest Web Provider on the internet, they have so many different services and it's very easy to get lost quickly and mess something up and not even know what it is that you just broke. Also, another con of AWS is that, your code is completely in AWS's control or for any reason something goes wrong and you need to move your project, you can't simply just fire up another virtual machine, you'd have to sort of bring back your project that has been customized specifically for Amazon and make it generic again. Let's talk about Heroku, one of the greatest pros of Heroku is, it's very simple to deploy, in fact, I'd say out of all of four options, it's the simplest and also Heroku has a truly free tier if money is tight or if you want to feel confident in something before you move forward, Heroku allows a free tier that can run on forever, while it's not going to be providing a website that can handle thousands and thousands of requests, it'll be great for your testing needs. Now, the cons with Heroku, is that it can become expensive quick, yes it starts out extremely cheap and has a great free tier but once you really start moving up with Heroku, it can get expensive. Also, just like AWS, you're completely in Heroku's control, everything that you do with your project is geared towards deploying with Heroku and pulling back to a more generalist sense is going to take some work if you need to move. Finally, Microsoft's Azure, just like DigitalOcean, we're going to be working with a virtual machine so it's very hands-on, meaning that you can change whatever it is that you like, customize it, you see everything that's going on but moving into the cons, Azure, the platform is not simple like DigitalOcean. It's not as complex as AWS but there's a lot of different moving pieces and things can get a little bit tricky. Also, out of all the Providers, Azure is the most expensive. So, with this whole list in tact, please take a look, decide which one you'd like to go with, again my recommendation is, why not try all of them? But if you'd like to jump somewhere, hopefully this guide will help you get there.
Released
3/15/2019- Transferring code to a server
- Managing media files
- Creating a custom URL
- Configuring file settings
- Securing a server
- Database setup
- PostgreSQL setup
- Gunicorn testing
- NGINX setup
- Storage setup
Share this video
Embed this video
Video: Choosing the right deployment for you