How amodkakarmath/devops-project-two-tier-flask-app works
This repository describes a Flask message-board application and its deployment on AWS as a two-tier Flask/MySQL service. A user views stored messages or submits a new one; the Flask app reads from or writes to MySQL and renders the page or returns JSON. Separately, the documented CI/CD workflow has a developer push code to GitHub, after which Jenkins builds the container image and deploys the Compose services on EC2. App behavior is evidenced by sampled app.py; deployment links follow the README, whose Jenkinsfile excerpt is incomplete.
Main entry points: app.py Flask app · Jenkinsfile Jenkins pipeline · docker-compose.yml Compose deployment · index.html Message page
Components 12
Web application
- Flask app
app.py - Message page
templates/index.html
Message storage
- MySQL service
docker-compose.yml - Message table
app.py
CI/CD delivery
- Jenkins pipeline
Jenkinsfile - Flask image
Dockerfile - Compose deployment
docker-compose.yml
AWS runtime
- AWS EC2 host
Other components
- Web user
- Developer
- GitHub repository
- Jenkins
Connections 15
- Web user → Flask app: requests
- Flask app → Message table: reads messages
- Flask app → Message table: inserts message
- Flask app → Message page: renders page
- Flask app → Web user: returns JSON
- Message table → MySQL service: stored in
- Developer → GitHub repository: pushes code
- GitHub repository → Jenkins: triggers pipeline
- Jenkins → Jenkins pipeline: runs
- Jenkins pipeline → GitHub repository: clones code
- Jenkins pipeline → Flask image: builds image
- Jenkins pipeline → Compose deployment: runs deployment
- Compose deployment → AWS EC2 host: deploys services
- Compose deployment → MySQL service: starts service
- Compose deployment → Flask app: starts service