Hosting Django: Amazon Web Services (AWS) Fundamentals
4.0 (111 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,671 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Hosting Django: Amazon Web Services (AWS) Fundamentals to your Wishlist.

Add to Wishlist

Hosting Django: Amazon Web Services (AWS) Fundamentals

A beginner SysAdmin course for Django web developers. Learn to launch, optimize & scale your app in Amazon Web Services.
4.0 (111 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,671 students enrolled
Created by BlueApple Courses
Last updated 1/2016
Price: $45
30-Day Money-Back Guarantee
  • 5.5 hours on-demand video
  • 5 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Go from a simple EC2 server on the Free Tier to a load balanced, server cluster that scales automatically depending on the current traffic levels
  • Understand the different instance types, how much they cost, and how to stay within the Free Tier
  • Launch an Amazon EC2 server preconfigured with Django
  • Launch a regular Ubuntu 14.04 server and configure it for Django
  • Update your Security Group settings with the appropriate amount of access
  • Connect to your instance via both the command line (SSH) and your browser (Java-SSH)
  • Setup your your project files on EC2 using FTP
  • Serve your project files on EC2 (Django will not do this for you in production)
  • Leverage S3 Cloud Storage & CloudFront CDN to speed up your site
  • Utilize Amazon's Premium DNS service Route 53 to register and manage your Domain Name
  • Ways to enhance security on AWS - including Multi-factor authentication, IAM Users, Groups, Policies, and more
  • Create backup machine images of your project in case of failover and to scale out easily
  • How to upgrade your servers hardware for an instant performance boost
  • Separate your web server from your database server with automatic backups and replication using Amazon RDS
  • Load balance your traffic between several additional EC2 instances
  • Automatically scale up and down your server cluster depending on the current traffic levels
View Curriculum
  • Internet Access

Setting up servers for your business or startup can be a tedious and expensive process, particularly when you're just starting out or switching to a new platform. Amazon Web Services is incredible but you can still feel like you're becoming an accidental System Administrator trying to set everything up correctly. However, with the right instructions, you can get up and running in a few hours--saving you time, money, and a headache.

This course will walk you through Amazon's Web Services, with a focus on setting up Django and leveraging their Free Tier to keep your project free (for low-bandwidth uses for one year). We'll start with the very basics of launching and configuring Django on EC2, discussing different ways to connect to your system while keeping it secure, we'll progress to fine tuning your system with fast and efficient content delivery, and finally we'll dive into all the ways that you can scale your system on this incredibly elastic platform.

A quick note: Amazon Web Services is used by some of the largest websites on the internet, including Netflix and Yelp, as it's extremely scalable, but, it's also a favorite of many entrepreneurs and VC's who know to take advantage of their Free Tier. It's just a great deal.

What this course is:

An easy-to-understand walkthrough on how to host Django using Amazon Web Services which covers: launching a Django-ready server in minutes or optionally launching a "plain" Ubuntu server and configuring Django + dependencies manually (see below for server details), setting up and enhancing security, using FTP & SSH to transfer over project files (a sample project is included) securely, serving static (CSS/JS/Image) files from a Django server and leveraging Cloud Storage (S3 and CloudFront CDN) to make your site faster, setting your project up for production, upgrading your instance for immediate performance increases, adding more instances and load balancing them, separating and vertically scaling your database, automatic scaling with cloud monitoring, deploying automatically with Beanstalk, and more. If you're not happy after taking the course, you will absolutely get your money back.

(Server Configuration Details: Ubuntu Linux 14.04 with Apache, Mod_WSGI, MySQL & Django -- but you can easily switch to Nginx/PostgreSQL, if preferred)

What this course is not:

Amazon has a very wide range (hundreds) of features. If you are looking for help on a particular AWS feature, view the curriculum below to make sure that it's covered. We cover many features but cannot claim to cover everything.

You do not need your own Django project as this course provides a sample for you, however the focus is on hosting and configuring Django not creating projects. If creating Django projects from scratch is an interest, consider downloading my (free) course "Create Your First Django Website - Fast & Free" as supplementary to this course.

Every single question that is raised in the discussion panel is responded to, but this may not be the best resource to diagnose your server issues. Keep in mind that Amazon offers all kinds of support that is available 24x7.

I've enjoyed working with Django and AWS these last couple years -- it's what I use for my business -- and I would now like to help more people take advantage of this great offer and incredibly scalable stack.

If you want to save yourself some time, money, and, possibly a headache, use this guide to speed up the process of understanding this powerful, scalable platform - remember, Amazon hosts everyone - from the busiest sites on the net, to startups on the Free Tier.

Click the enroll button to get started.

Who is the target audience?
  • (Django) Web Developers
Students Who Viewed This Course Also Viewed
Curriculum For This Course
46 Lectures
2 Lectures 07:08

Overview of the course and instructor, including: target audience, curriculum overview, and goals.

Preview 01:32

Learn what distinguishes AWS from Google App Engine, Heroku, Rackspace, & Digital Ocean and why companies from Netflix to many Y-Combinator backed startups go with AWS.

The Value Proposition Of Amazon Web Services (AWS)
Getting Started
2 Lectures 08:16

Learn how to create an Amazon Web Services account. This is separate from your Amazon shopping account.

Preview 05:44

Logging in is simple, if you know where to start.

Logging Into the AWS Dashboard
Launching Your Cloud Server: EC2 Instances
4 Lectures 25:38

Learn about what EC2 or the Elastic Compute Cloud is, what it offers, and the pricing model.

Introduction to EC2 Servers - Price, Instance Type

Learn about Amazon Marketplace Machine Images and how they can make launching a Django server extraordinarily easy. We'll use a Bitnami Django AMI to launch our first preconfigured server.

Launching A PreConfigured Django Server (Marketplace AMI)

Launch a normal Ubuntu 14.04 (or Microsoft Server, etc.) which is just as easy as launching a Marketplace AMI, you'll just have to configure it later with the software that you need.

Launching A "Plain" Server (Ubuntu)

Best Practices
Dev To Production - Step By Step
11 Lectures 01:23:22

Connect to your server using both SSH from your command line and a Amazon's graphical user interface with Java-SSH.

Connecting To Your Instance via SSH and Java-SSH

Learn about Security Groups and how to adjust them to allow the appropriate amount of access.

Updating Your Security Group Settings

FileZilla is a powerful tool that makes transferring files between your local computer and server a piece of cake. In this video, we will download and install FileZilla and then update our security settings and permissions to make configuring a breeze.

Setting Up FTP with FileZilla To Make Configuring A Breeze

Bitnami comes preconfigured to host your files but you may want to learn more about how the Bitnami Configuration works so you can customize your instance, as needed.

Configuring Your (Bitnami) Server for Django

Set up Django on an Ubuntu 14.04 instance. We install Apache, MySQl, and PostgreSQL. You could easily substitute this setup with Ngin-X and other software, as desired, with the same process.

(Alternatively) Configuring your vanilla Ubuntu server for Django

You may download this sample project if you do not have your own. It is taken from my free Django course!
Free Sample Django Project

Transfer your project, update your configuration files, set up your database, and launch your own project on EC2.

Setting Up Your Project On Your AWS Server

Learn how to serve your Django static files on the same EC2 server that's hosting your Django application. This may not be the most efficient system (see Section 6 for a more advanced method) but it's free and quick to set up.

Serving Your Static Files -- See Section 6 For Advanced Alternative

It's always a good idea to go through Django's security checklist before switching going live with your project. In this video, we'll walk you through the process.

Production Deployment Security Checklist

Switch your project to production by updating your Allowed Hosts and testing live!

Switching To Production

(Optional But Highly Recommended) Back Up Your Server Image ASAP
Setting Up & Managing Your Domain: Amazon Route 53
5 Lectures 28:42

Explore the concept of DNS and Premium DNS, learning why you might want to use a service like Route 53.

Introduction to Amazon's Route 53 and Premium DNS

Learn how to register a domain name in Route 53. I will actually purchase a domain in this process.

Registering a Domain Name via Amazon's Route 53

For users not interested in using Route 53, see how to buy a Domain Name with Namecheap.

(Alternatively) Registering a Domain Name via Namecheap

If you already purchased your domain from another registrar, learn how to transfer it to Amazon so you can access your DNS and EC2 from the same dashboard.

Transfering an Existing Domain Name to Route 53

Point your domain name to your EC2 server using Amazon's Route 53.

Managing your DNS with Route 53 (Replacing Your IP With Your .COM Name)
Serving Your Files Faster: S3 & CloudFront
4 Lectures 43:14

Scalable Cloud Storage and Content Delivery are two powerful services that AWS provides. Learn why using these two tools may speed up your site as well as the price.

Introduction to Amazon S3 & CloudFront (Content Storage & Delivery)

Integrate Amazon's S3 with Django so you can utilize the efficiency of cloud storage while not changing your workflow (you can still use "collectstatic"). Part one.

Preview 17:16

Integrate Amazon's S3 with Django so you can utilize the efficiency of cloud storage while not changing your workflow (you can still use "collectstatic"). Part two.
Integrating Amazon S3 with Django - Part Two

For the most efficient content delivery, you'll want to push your content to edge locations all over the world. See how to use CloudFront to speed up your site.

Integrating Amazon CloudFront (CDN) with Django
AWS Project Security: Identity & Access Management (IAM)
4 Lectures 31:07

Amazon provides free, easy-to-use tools to keep your project safe. Learn more about them and why you should take advantage.

Introduction to Identity & Access Management

Multifactor authentication is a powerful tool to help secure your project. Learn how to set it up on your account.

Enabling Multi-Factor Authentication

Most projects require more than one person. Learn how to give everyone on your team an individual login and access policy defined by their group.

Creating IAM Users, Groups, and Policies For Your Team

Learn a simple method to help keep your secret keys a secret.

Removing Security Keys From
Backing up & Relaunching: AMIs & Snapshots
3 Lectures 16:04

At some point, your server will likely have issues. Learn about how Amazon has made backing up extremely easy.

Preview 02:41

Learn about Elastic IPs which are a powerful tool that can be used to maintain one IP address even if you decide to shut down your current instance.

Elastic IPs: Don't Lose Your IP When Your Instance Goes Down

Create a backup or "machine image" of your server that you use to launch new instances in seconds.

Snapshots & Images: Back Up Your Server's State Often
Scaling on AWS: Upgrading Your Instance, Amazon RDS, & ELB
6 Lectures 55:09

Compare and contrast two different types of scaling and how Amazon provides easy ways to do both.

Introduction to Scaling: Vertical vs Horizontal

See a handy tool that can be used to analyze your server performance: JMeter.

Benchmarking Your System, Just An Example

Upgrade your instance type for an immediate performance boost.

Vertical Scaling: Upgrading Your Instance Type

Separating our database from our web server is the first step we'll take to create a dynamic server cluster.

Horizontal Scaling, Step 1: Separating Database From Application Server with RDS

Create a load balanced, server cluster by adding a load balancer and as many instances you want to your project.

Horizontal Scaling, Step 2: Adding More Instances & Load Balancing

Scaling your database server is very similar to scaling a regular EC2 instance but not exactly the same.

Vertical Scaling: Upgrading Your Database Server with Amazon RDS
AutoScaling on AWS: AutoScaling Groups, Policies & CloudWatch
3 Lectures 23:00

Learn about an incredibly powerful tool called Autoscaling which allows you to scale in and out automatically depending on criteria that you define.

Preview 02:15

Create your first autoscaling group and launch configuration which will define your desired cluster size.

Creating AutoScaling Groups & Launch Configurations

Connect CloudWatch monitoring events to your Autoscaling groups to scale dynamically based on your current traffic levels. I cannot stress how powerful of a feature this is.

Triggering Scaling via CloudWatch Monitoring Events
1 More Section
About the Instructor
BlueApple Courses
4.4 Average rating
301 Reviews
7,289 Students
2 Courses
Developers, Entrepreneurs

BlueApple offers software courses for entrepreneurs and web developers designed to speed up your understanding of new frameworks and tools. A huge part of learning is figuring out where to find the information that you need and our courses bundle this information into digestible lessons. Time is money, so why make it harder for yourself to learn the fundamentals of anything.

Jacob and Joshua have 10+ years of software experience involving technical consulting, mobile development, web development, and academic research.

In college, they performed software research at some great institutions, including: UCI's Beckman Laser Institute and UCBerkeley's Nuclear Engineering Department.

After graduating, they Co-Founded a funded mobile gaming company where we used Cocos2D, Objective-C, Java & Python to create mobile games on both iPhones and Androids.

Recently, after a two-year stint as a management consultant, they've founded their own company called BoostLegal which runs a scalable platform on Django and AWS.

In their spare time, they love to Kitesurf, Surf, Hike, & Sail