Cloud Platform Engineering Lab
A production-style cloud engineering project demonstrating Infrastructure as Code, automation, container platforms, monitoring, security and DevOps practices using:
- AWS
- Terraform
- Ansible
- Docker
- Nginx
- Prometheus
- Grafana
The project demonstrates a complete cloud platform lifecycle from infrastructure provisioning through to application deployment, monitoring and secure external access.
Project Goals
This project was created to demonstrate practical cloud engineering skills:
- Infrastructure as Code
- Automated server configuration
- Container deployment
- Secure cloud networking
- Monitoring and observability
- Repeatable deployments
- Platform engineering practices
The long-term objective is to build a foundation for Kubernetes, GitOps and CI/CD workflows.
Architecture Overview
Developer Workstation
|
v
GitHub Repository
|
v
Terraform
Infrastructure as Code
|
v
AWS Cloud Platform
|
v
Ansible Configuration
|
v
Docker Platform
|
+----------------+
| |
v v
Nginx Monitoring Stack
Reverse Proxy |
| |
| +---------+---------+
| | | |
v v v v
HTTPS/TLS Grafana Prometheus Node Exporter
Dashboards Metrics Host Metrics
cAdvisor
Container Metrics
Documentation
The following documentation covers the design, deployment approach, repository structure and ongoing development of the cloud engineering project.
Technology Stack
Cloud Infrastructure
| Technology | Purpose |
|---|---|
| AWS VPC | Network foundation |
| EC2 | Cloud compute |
| S3 | Terraform remote state |
| DynamoDB | Terraform state locking |
| IAM | Access control |
| Security Groups | Network security |
Infrastructure Automation
| Technology | Purpose |
|---|---|
| Terraform | Infrastructure provisioning |
| Ansible | Server configuration |
| Docker Compose | Application deployment |
Platform Services
| Service | Purpose |
|---|---|
| Nginx | Reverse proxy and HTTPS termination |
| Grafana | Monitoring dashboards |
| Prometheus | Metrics collection |
| Node Exporter | Host monitoring |
| cAdvisor | Container monitoring |
Current Deployment Status
| Component | Status |
|---|---|
| AWS foundation | ✅ Complete |
| Terraform modules | ✅ Complete |
| Remote state management | ✅ Complete |
| VPC networking | ✅ Complete |
| EC2 deployment | ✅ Complete |
| Security Groups | ✅ Complete |
| Ansible automation | ✅ Complete |
| Docker platform | ✅ Complete |
| Monitoring stack | ✅ Complete |
| Nginx reverse proxy | ✅ Complete |
| HTTPS certificates | ✅ Complete |
| Authentication layer | ⬜ Planned |
| Central logging | ⬜ Planned |
| CI/CD pipeline | ⬜ Planned |
| Kubernetes platform | ⬜ Planned |
Live Platform
Current services hosted on AWS:
| Service | Purpose |
|---|---|
| Nginx | HTTPS reverse proxy |
| Grafana | Dashboards |
| Prometheus | Metrics database |
| Node Exporter | Host metrics |
| cAdvisor | Container metrics |
External endpoints:
- https://grafana.jrwroberts.co.uk
- https://prometheus.jrwroberts.co.uk
Deployment Workflow
The platform follows a repeatable deployment process:
Developer Machine
|
v
Git Commit
|
v
Terraform
Creates AWS Infrastructure
|
v
Ansible
Configures EC2 Server
|
v
Docker Compose
Deploys Services
|
v
Nginx + Let's Encrypt
Provides Secure Access
|
v
Monitoring Platform
Provides Observability
Repository Structure
cloud-platform/
├── ansible/
│ ├── inventory/
│ ├── playbooks/
│ └── roles/
│
├── docker/
│ └── compose/
│
├── docs/
│ ├── Architecture.md
│ ├── Decisions.md
│ ├── Deployment.md
│ └── Roadmap.md
│
├── terraform/
│ ├── bootstrap/
│ ├── environments/
│ └── modules/
│
├── scripts/
│
└── README.md
More detail:
Roadmap
Completed
Cloud Foundation
- Terraform infrastructure
- AWS networking
- EC2 deployment
- Security configuration
Platform Layer
- Docker deployment
- Monitoring stack
- Reverse proxy
Secure Access
- DNS integration
- HTTPS certificates
- Automated renewal
Planned
Operations Platform
- Central logging
- Alerting
- Backup automation
- Disaster recovery testing
Advanced Platform Engineering
- Kubernetes (k3s)
- GitHub Actions CI/CD
- GitOps workflows
- Multi-environment deployments
Skills Demonstrated
- AWS Cloud Infrastructure
- Terraform Infrastructure as Code
- Ansible Automation
- Linux Administration
- Docker Platforms
- Nginx Reverse Proxy
- HTTPS/TLS
- Monitoring and Observability
- Networking
- Security Engineering
- Git Workflows
- Platform Engineering
Author
James Roberts
Cloud Platform Engineering Lab