A structured cloud engineering portfolio built through 80 hands-on AWS projects.
This repository is the central index for my 80-project AWS cloud infrastructure challenge.
Each project is developed in its own GitHub repository and connected here as a Git submodule. This keeps every implementation independently documented while providing one place to review my progression across:
- AWS architecture and networking
- Infrastructure as Code
- Linux and compute administration
- Containers and application delivery
- High availability and Auto Scaling
- Serverless systems
- CI/CD and deployment automation
- Identity, security, and secret management
- Observability, reliability, and disaster recovery
The objective is not simply to deploy AWS services. Each project is designed around an operational or business requirement and documents the architecture, implementation choices, validation process, security considerations, troubleshooting, and lessons learned.
Completed: 8 projects
Next: Project 9 — Selection and planning
Remaining: 72 projects
Progress: [########........................................................................] 8 / 80
| # | Status | Project | Engineering outcome | Core technologies |
|---|---|---|---|---|
| 1 | ✅ | Static Website with CloudFront | Hosted static content in Amazon S3 and delivered it through CloudFront for improved availability and global distribution. | S3, CloudFront, IAM |
| 2 | ✅ | WordPress on Amazon Lightsail | Deployed and administered a WordPress workload using a simplified AWS virtual server platform. | Lightsail, WordPress, Linux, DNS |
| 3 | ✅ | EC2 Apache Web Server | Provisioned an EC2 instance, configured network access, and automated Apache installation and website delivery. | EC2, Security Groups, Linux, Apache |
| 4 | ✅ | Highly Available Web Application with Terraform | Replaced single-instance architecture with repeatable infrastructure using an ALB, Launch Template, and Auto Scaling Group. | Terraform, EC2, ALB, Auto Scaling |
| 5 | ✅ | FinTrust NLB Docker Service | Deployed a containerized Flask service behind a Network Load Balancer with automated instance replacement and scaling. | Docker, Terraform, NLB, Auto Scaling, Flask |
| 6 | ✅ | FinTrust Customer Portal | Built a production-oriented three-tier application with private compute and database layers, container delivery, load balancing, and managed secrets. | Terraform, Docker, ECR, ALB, Auto Scaling, RDS, Secrets Manager |
| 7 | ✅ | NovaTech Serverless Website | Automated secure static-site delivery using a private S3 origin, CloudFront OAC, GitHub Actions, and passwordless AWS authentication through OIDC. | S3, CloudFront, OAC, IAM, GitHub Actions, OIDC |
| 8 | ✅ | CloudDesk Multi-Tenant SaaS | Built a serverless multi-tenant SaaS backend with Cognito authentication, tenant-scoped RBAC, private PostgreSQL connectivity, secure secret retrieval, automated testing, OIDC deployment, and CloudWatch observability. | AWS SAM, Lambda, API Gateway, Cognito, RDS PostgreSQL, Secrets Manager, GitHub Actions, OIDC, CloudWatch |
Status legend: ✅ Completed · 🚧 In progress · ⬜ Planned
- Selecting services based on workload and business requirements
- Designing for availability, scalability, and failure recovery
- Separating public, application, identity, and database responsibilities
- Designing tenant-aware application and authorization boundaries
- Documenting data flow and deployment workflows with diagrams
- Reusable Terraform configuration
- Serverless Infrastructure as Code with AWS SAM and CloudFormation
- Variables, parameters, outputs, data sources, and resource dependencies
- Repeatable infrastructure deployment and teardown
- Infrastructure validation before deployment
- Least-privilege IAM roles and policies
- Private S3 origins through CloudFront Origin Access Control
- Private application and database networking
- API Gateway JWT authorization with Amazon Cognito
- Tenant-scoped role-based access control
- GitHub OIDC instead of long-lived AWS access keys
- AWS Secrets Manager for application and database credentials
- Docker image build and deployment
- Amazon ECR integration
- GitHub Actions CI/CD
- Automated linting, tests, coverage checks, and infrastructure validation
- Load-balancer health checks
- Auto Scaling and unhealthy-instance replacement
- Structured CloudWatch logging, alarms, SNS notifications, and dashboards
- Troubleshooting documentation and architecture decision records
This is a portfolio index repository. The project directories are Git submodules rather than copied source-code folders.
AWS80ProjectsChallenge/
├── aws-static-website-cloudfront/
├── aws-wordpress-lightsail/
├── aws-ec2-apache-webserver/
├── highly-available-web-app-terraform/
├── fintrust-nlb-docker/
├── fintrust-customer-portal/
├── novatech-serverless-website/
├── clouddesk-multi-tenant-saas/
├── .gitmodules
├── LICENSE
└── README.md
Each submodule points to the corresponding standalone project repository, where the complete source code, diagrams, screenshots, decisions, and troubleshooting notes are maintained.
Clone the index and initialize every project submodule:
git clone --recurse-submodules https://github.com/simeonprimordial/AWS80ProjectsChallenge.git
cd AWS80ProjectsChallengeWhen the repository was cloned without --recurse-submodules, initialize the projects afterward:
git submodule update --init --recursivePull the latest commits recorded by the portfolio repository:
git pull
git submodule update --init --recursiveTo fetch newer commits from each submodule's tracked remote branch for review:
git submodule update --remote --recursiveUpdating a submodule locally does not automatically update this index. The new submodule commit must also be committed in the parent repository.
As the challenge progresses, each substantial project aims to include:
- A clear business problem and solution overview
- Architecture, deployment, and request-flow diagrams
- Repository structure and deployment instructions
- Security, performance, and cost considerations
- Validation evidence
- Architecture decision records
- Monitoring and troubleshooting guidance
- Lessons learned and future improvements
Projects may differ in depth depending on their scope, but the standard becomes more rigorous as the portfolio advances.
Project 8, CloudDesk, is complete. It marks the portfolio’s transition from isolated infrastructure components into a complete serverless backend where identity, tenant isolation, authorization, relational persistence, private networking, CI/CD, testing, and observability work together.
The next step is selecting and planning Project 9 while continuing into broader portfolio areas such as:
- Observability with CloudWatch, Prometheus, and Grafana
- Configuration management and automation
- ECS and Kubernetes workloads
- Secure multi-environment CI/CD
- Event-driven and data-processing systems
- Backup, disaster recovery, and cross-region architectures
- Cloud security and compliance controls
This index repository is licensed under the MIT License. Individual project repositories may include their own license and usage conditions.