Building out a reusable Terraform framework for Flask Applications

I find myself utilizing the same architecture for deploying demo applications on the great Python library Flask. I’ve been using the same Terraform files over and over again to build out the infrastructure.

Last weekend I decided it was time to build a reusable framework for deploying these applications. So, I began building out the repository. The purpose of this repository is to give myself a jumping off point to quickly deploy applications for demonstrations or live environments.

Let’s take a look at the features:

  • Customizable Environments within Terraform for managing the infrastructure across your development and production environments
  • Modules for:
    • Application Load Balancer
    • Elastic Container registry
    • Elastic Container Service
    • VPC & Networking components
  • Dockerfile and Docker Compose file for launching and building the application
  • Demo code for the Flask application
  • Automated build and deploy for the container upon code changes

This module is built for any developer who wants to get started quickly and deploy applications fast. Using this framework will allow you to speed up your development time by being able to focus solely on the application rather than the infrastructure.

Upcoming features:

  • CI/CD features using either GitHub Actions or Amazon Web Services like CodePipeline and Codebuild
  • Custom Domain Name support for your application

If there are other features you would like to see me add shoot me a message anytime!

Check out the repository here:
https://github.com/avansledright/terraform-flask-module


Posted

in

, ,

by

Comments

Leave a Reply