Welcome to Serverless Django with Zappa. I'm Edgar Román and I'll be your instructor for this course. Let's discover what this course is about and what students will learn.
About this class#
This course guides the student to take almost any Django application and deploy it to a serverless environment in the cloud. Specifically the Amazon Web Services, or AWS cloud using the AWS Lambda service. The course will focus on an open-source tool called Zappa that make this process very straightforward.
Zappa effectively configures AWS to provide a web hosting platform: Django processes web requests as if it’s running on a traditional server, but it’s actually on AWS Lambda.
Running in a serverless environment means you aren't renting a virtual server for hours or days, you just pay for the CPU cycles needed to handle your web requests. By leveraging the serverless environment, you can reduce maintenance overhead, support multiple cost-effective environments, and improve security.
Why host Django in a serverless environment?#
By harnessing the full power of Django with Zappa and AWS Lambda, you can avoid the overhead of server maintenance and configuration. No more OS patches or security fixes for your web server software except for keeping Django up to date. Just focus on writing the Django code and serving your customers.
By using Zappa and AWS Lambda, you get extreme scalability with low up-front costs.
AWS Lambda is a powerful tool and, combined with the Zappa utility, makes migrating an existing Django application into a serverless environment very easy. It unlocks the potential to have multiple development and testing environments for extremely low overhead and cost. Imagine having the ability to run a full test suite for new features without requiring complex orchestration software while keeping costs low.
Who benefits from this course?#
If you are a solo developer working on a Django project, then this course is perfect for you! You will get the benefit of a secure, scalable environment, without a lot of hassle of ongoing maintenance. And you won't have to invest a lot of time in setting up your infrastructure. Finally, if your project doesn't get a lot of activity, it's possible to run the project for nearly free.
If you are part of an organization that creates Django projects, then this course is also for you! You can easily create low-cost but high performance replica environments for your development and QA folks. Depending on your production traffic load, moving to a serverless environment may save on AWS billing.
Course topics#
This course will cover the topics needed to get a basic Django site up and running, with the ability to connect to a database in a secure environment.
Module 1 - Setting up your local machine
Module 2 - Deploying your project using Zappa
Module 3 - Configuring Django static files
Module 4 - Mapping a custom domain name to your project
Module 5 - Connecting to a database
Module 6 - Configuring a secure network environment