How to build a Python based application on Heroku using Redis
Step 1. Create Redis Enterprise Cloud
Create your free Redis Enterprise Cloud account. Follow this link to create Redis Enterprise Cloud subscription and database as shown below:
Save the database endpoint URL and password for future reference.
Step 2. Create a Heroku account
If you are using Heroku for the first time, create your new Heroku account through this link
Step 3. Install Heroku CLI on your system
brew install heroku
Step 4. Login to Heroku
heroku login
heroku: Press any key to open up the browser to login or q to exit:
Opening browser to https://cli-auth.heroku.com/auth/cli/browser/XXXXXXXXXXA
Logging in... done
Logged in as your_email_address
Step 5. Connect your application to Redis Enterprise Cloud
For this demonstration, we will be using a Sample Rate Limiting application
Clone the repository
git clone https://github.com/redis-developer/basic-rate-limiting-demo-python
Run the below CLI to have a functioning Git repository that contains a simple application as well as a package.json file.
$ heroku create
Creating app... done, ⬢ fast-reef-76278
https://fast-reef-76278.herokuapp.com/ | https://git.heroku.com/fast-reef-76278.git
Step 6. Setting up environment variables
Go to Heroku dashboard, click "Settings" and set REDIS_ENDPOINT_URI
and REDIS_PASSWORD
under the Config Vars.
Refer to Step 1 for reference.
Step 7. Deploy your code
Heroku generates a random name (in this case fast-reef-76278) for your app, or you can pass a parameter to specify your own app name. Now deploy your code:
$ git push heroku
Enumerating objects: 512, done.
Counting objects: 100% (512/512), done.
Delta compression using up to 12 threads
Compressing objects: 100% (256/256), done.
Writing objects: 100% (512/512), 1.52 MiB | 660.00 KiB/s, done.
Total 512 (delta 244), reused 512 (delta 244)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-20 stack
remote: -----> Determining which buildpack to use for this app
remote: -----> Python app detected
…
emote: -----> Compressing...
remote: Done: 59.3M
remote: -----> Launching...
remote: Released v5
remote: https://fast-reef-76278.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/fast-reef-76278.git
* [new branch] master -> master
Step 8. Accessing the application
Open https://fast-reef-76278.herokuapp.com/ to see your application