This exercise evaluates your ability to build and manage infrastructure for a small web application. You’ll work with Terraform, Docker, GitHub Actions, and AWS to provision resources, configure deployments, and demonstrate infrastructure-as-code best practices.
The operations team is working on automating the deployment pipeline for a Python-based application. Our goal is to containerize the app, provision cloud infrastructure with Terraform, and define CI/CD workflows using GitHub Actions. We want to ensure deployments are consistent, secure, and easily maintainable across environments. The files for the app are available on the bottom of this page.
You’ll find a small Python application and a Terraform folder already included. Your task is to:
Terraform
Provision the following resources using Terraform:
Avoid using open source or prebuilt Terraform modules for ECS or networking—we want to evaluate your ability to build these from scratch.
Application Setup
venv; in production, it should be deployed using the provided Dockerfile.