Skip to the content.

DevOps Bootcamp Final Project

Project Overview

Devops Bootcamp Project using:

Architecture

The project is deployed in AWS Region ap-southeast-1 using Terraform, Ansible, Docker, Amazon ECR, Prometheus, Grafana, Cloudflare, and GitHub Actions.

                       Internet
                          |
                +---------+---------+
                |                   |
      web.ahmadmunim.asia   monitoring.ahmadmunim.asia
                |                   |
          Cloudflare DNS       Cloudflare Tunnel
                |                   |
           Elastic IP               |
                |                   |
                v                   v
      +------------------+   +----------------------+
      | Web EC2          |   | Monitoring EC2       |
      | 10.0.0.5         |   | 10.0.0.136           |
      | Public Subnet    |   | Private Subnet       |
      |                  |   |                      |
      | Docker App       |   | Prometheus           |
      | Node Exporter    |   | Grafana              |
      +------------------+   +----------------------+
                ^                    ^
                |                    |
                +---------+----------+
                          |
                 +-------------------+
                 | Ansible Controller|
                 | 10.0.0.135        |
                 | Private Subnet    |
                 +-------------------+
                          ^
                          |
                AWS Systems Manager
                          |
                   Administrator

Repository Structure

The repository is organised by application, infrastructure, configuration management, monitoring, and CI/CD responsibilities.

devops-bootcamp-project/
│
├── .github/
│   └── workflows/
│       ├── app-cicd.yml          # Application CI/CD pipeline
│       └── pages.yml             # GitHub Pages deployment
│
├── ansible/
│   ├── ansible.cfg               # Ansible configuration
│   ├── inventory.ini             # Managed server inventory
│   ├── deploy-app.yml            # Web application deployment
│   ├── deploy-monitoring.yml     # Prometheus & Grafana deployment
│   ├── playbook.yml              # Base configuration playbook
│   └── requirements.yml          # Ansible dependencies
│
├── app/
│   └── Dockerfile                # Multi-stage application image
│
├── monitoring/
│   ├── docker-compose.yml        # Monitoring containers
│   ├── prometheus.yml            # Prometheus scrape configuration
│   └── grafana/
│       ├── dashboards/
│       └── provisioning/
│
├── terraform/
│   ├── backend.tf                # Remote Terraform state
│   ├── variables.tf
│   ├── outputs.tf
│   ├── ecr.tf                    # Amazon ECR
│   ├── github-actions.tf         # GitHub OIDC & CI/CD IAM
│   └── ...                       # VPC, EC2, IAM and security resources
│
└── README.md                     # Project documentation

Project Status

Project Status

Phase Scope Status Key Outcome
Phase 0 Local Environment & Repository ✅ Complete AWS CLI, Terraform, Git and GitHub repository configured
Phase 1 Terraform Remote Backend ✅ Complete S3 remote state with versioning, encryption and public-access blocking
Phase 2 AWS Network Infrastructure ✅ Complete VPC, public/private subnets, routing, Internet Gateway and NAT
Phase 3 Security Groups ✅ Complete Public/private security groups managed through Terraform
Phase 4 EC2, IAM & Systems Manager ✅ Complete Web, controller and monitoring EC2 instances with SSM access
Phase 5 Configuration Management ✅ Complete Ansible controller configured and idempotency verified
Phase 6 Docker & Amazon ECR ✅ Complete Application container built, stored in ECR and deployed to web server
Phase 7 Monitoring & Observability ✅ Complete Node Exporter, Prometheus and Grafana operational
Phase 8 Domain & Secure Access ✅ Complete Cloudflare DNS, HTTPS and private Grafana access through Cloudflare Tunnel
Phase 9 CI/CD Automation ✅ Complete GitHub Actions builds, tests, pushes SHA-tagged image and deploys via Ansible
Phase 10 Final ✅ Complete Documentation, GitHub Pages and final submission verification

Security Design

Live Project URLs

Grafana Access

Final

Assessment Area Status Evidence
Infrastructure as Code ✅ Complete Terraform backend, networking, security groups and EC2
Configuration Management ✅ Complete Ansible controller, Docker deployment, ECR and idempotent playbooks
Monitoring & Observability ✅ Complete Node Exporter, Prometheus target UP and Grafana
Domain & Secure Access ✅ Complete Cloudflare DNS, Cloudflare Tunnel and private monitoring server
Documentation ⏳ Finalising README, architecture, screenshots and GitHub Pages