Krzysztof Fusek DevOps · Cloud · InfraSec
CI/CD demo – Flask application deployed on AWS using infrastructure as code.
Live demo: AWS ECS (Fargate)
This page showcases a practical, production-style pipeline and AWS setup.

Overview

End-to-end DevOps demo

This project demonstrates a complete, automated delivery pipeline and infrastructure setup on AWS Cloud. It combines containerized application deployment, infrastructure as code, and monitoring – showing how I approach real-world DevOps work.

Application & Runtime

Flask · Docker · ECS

Lightweight Python Flask application, containerized and deployed on ECS.

  • Flask application rendered by this page, running in a Docker container.
  • Deployed to AWS Elastic Container Service (Fargate).
  • Traffic routed through an Application Load Balancer.

Infrastructure as Code

Terraform

AWS environment is provisioned and versioned using Terraform.

  • VPC & subnets
  • Routing & Internet/NAT gateways
  • Security Groups
  • Application Load Balancer
  • ECS cluster, services & task defs
  • ECR registry
  • IAM roles & policies
  • Route53 DNS
  • EC2 monitoring instance

Configuration & Monitoring

Ansible · Prometheus · Grafana

EC2 provisioning and monitoring stack configuration are automated using Ansible.

  • EC2 instance provisioned for infrastructure monitoring.
  • Prometheus for metrics collection.
  • Node Exporter for host-level metrics.
  • Grafana with preconfigured dashboards.

CI/CD Pipeline

GitLab CI

GitLab pipeline orchestrates the full build and delivery flow.

1
Commit pushed to GitLab
2
GitLab CI builds Docker image
3
Image is pushed to AWS ECR
4
Infrastructure updated via Terraform
5
ECS service updated & health-checked
  • Build & push Docker image to AWS ECR.
  • Terraform-based infrastructure updates.
  • Deployment to AWS ECS.
  • Automatic service health validation.