Overview of database connectivity
In this module, we'll review the process of not only creating a cloud-based database, but also how to connect your Django application.
Only trivial Django applications do not use some sort of datastore or database. If you have an existing Django application that you intend to migrate to the cloud, I'll bet it's connected to a database.
The important element to remember when using Zappa-powered Django applications is: the database must be accessible over the network.
It's all about connectivity and security#
The complication is how to achieve a secure network connection between the application and database. How does one allow access to the database by only the Zappa-powered Django application, but not unauthorized users?
To be network accessible, there are several possible scenarios:
The database is hosted by AWS by using Amazon Relational Database Service (RDS)
The database is hosted by AWS by using Amazon Elastic Compute Cloud (Amazon EC2)
The database is hosted locally in your data center
The database is hosted online by another provider that is not Amazon
We'll talk about each of these below.
Database hosted in RDS#
From a convenience perspective, this is the easiest option; especially for those new to the cloud. In addition, AWS offers an option for RDS database hosting that is included in their free tier.
This is the configuration with which we will continue in the next lesson. The other options for hosting a database are covered below for completeness. If you'd like to skip to the next lesson at this time, please do.