A comprehensive visual guide to implementing a modern DevOps pipeline using FastAPI, GitHub Actions, ArgoCD, and Amazon EKS with complete monitoring and logging setup.
This project provides an interactive HTML visualization of a production-ready DevOps architecture that demonstrates:
- CI/CD Pipeline with GitHub Actions
- GitOps Deployment using ArgoCD
- Container Orchestration on Amazon EKS
- Comprehensive Monitoring with CloudWatch, Fluent Bit, and Grafana
- Automated testing with pytest
- Code formatting with black
- Docker image building and pushing to ECR
- GitOps repository updates
- Declarative deployments
- Git as single source of truth
- Automated synchronization with EKS cluster
- Rollback capabilities
- Managed Kubernetes cluster
- Auto-scaling EC2 worker nodes
- AWS Load Balancer integration
- Security group configurations
- Fluent Bit for log collection
- CloudWatch integration
- Grafana dashboards
- Prometheus metrics
-
Clone the repository
git clone modern-fastapi-pipeline cd modern-fastapi-pipeline -
Open the visualization
# Option 1: Open directly in browser open index.html # Option 2: Serve locally (recommended) python -m http.server 8000 # Then visit: http://localhost:8000
-
View the interactive diagram
- Navigate through different pipeline stages
- Hover over components for detailed information
- Explore the end-to-end flow visualization
devops-pipeline-architecture/
├── devops-pipeline-diagram.html # Main visualization file
├── README.md # This file
└── assets/ # Optional: additional resources
├── diagrams/ # Architecture diagrams
└── configs/ # Sample configuration files
- AWS Account with EKS permissions
- GitHub repository
- Basic knowledge of Kubernetes and Docker
-
Set up GitHub Actions
- Configure AWS credentials using OIDC
- Create ECR repository
- Set up pytest and black in CI pipeline
-
Configure GitOps Repository
- Create separate repository for Kubernetes manifests
- Structure environments (dev, staging, prod)
- Set up Helm charts or Kustomize
-
Deploy ArgoCD on EKS
- Install ArgoCD in cluster
- Configure repository connections
- Set up RBAC and permissions
-
Set up Monitoring Stack
- Deploy Fluent Bit DaemonSet
- Configure CloudWatch integration
- Install Prometheus and Grafana
| Component | Technology | Purpose |
|---|---|---|
| API Framework | FastAPI | High-performance Python web framework |
| CI/CD | GitHub Actions | Automated testing and deployment |
| Container Registry | Amazon ECR | Docker image storage |
| GitOps | ArgoCD | Declarative continuous deployment |
| Orchestration | Amazon EKS | Managed Kubernetes service |
| Load Balancing | AWS ALB/NLB | Traffic distribution |
| Log Processing | Fluent Bit | Lightweight log processor |
| Monitoring | CloudWatch + Grafana | Metrics and visualization |
| Metrics Collection | Prometheus | Time-series database |
- Responsive Design: Works on desktop and mobile devices
- Hover Effects: Detailed information on component interaction
- Modern UI: Contemporary design with smooth animations
- Progressive Enhancement: Works without JavaScript
- Step-by-step Flow: Clear visualization of the deployment process
- Best Practices: Integrated recommendations and tips
- Technology Explanations: Context for each component choice
The HTML file uses modern CSS with:
- CSS Grid and Flexbox for responsive layouts
- CSS Custom Properties for easy theming
- Gradient backgrounds and glassmorphism effects
- Smooth animations and transitions
To modify the content:
- Open
index.htmlin your preferred editor - Update the HTML content in respective sections
- Modify CSS variables for color scheme changes
- Add new sections following the existing pattern
- ✅ Chrome 90+
- ✅ Firefox 88+
- ✅ Safari 14+
- ✅ Edge 90+
The visualization is fully responsive and optimized for:
- Mobile phones (320px+)
- Tablets (768px+)
- Desktop displays (1024px+)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Maintain the existing code style
- Test on multiple browsers
- Update documentation for new features
- Follow semantic HTML principles
This project is licensed under the MIT License - see the LICENSE file for details.
If you have questions or need help implementing this architecture:
- Documentation: Check the inline comments in the HTML file
- Issues: Open an issue in the GitHub repository
- Discussions: Use GitHub Discussions for general questions
Made with ❤️ for the DevOps community
This visualization serves as both an educational tool and implementation guide for modern cloud-native applications.